Отображение обратного вызова сообщения не вызывается - обмен сообщениями в приложении Firebase - PullRequest
0 голосов
/ 28 февраля 2019

Я пытаюсь настроить сообщения в приложении firebase.

Я следую этой статье: https://firebase.google.com/docs/in-app-messaging/customize-messages

В соответствии со статьей я создал свою собственную реализацию FirebaseInAppMessagingDisplay class.

import com.google.firebase.inappmessaging.FirebaseInAppMessagingDisplay;
import com.google.firebase.inappmessaging.FirebaseInAppMessagingDisplayCallbacks;
import com.google.firebase.inappmessaging.model.InAppMessage;

public class MyMessageDisplayImplementation implements 
FirebaseInAppMessagingDisplay {
    @Override
    public void displayMessage(InAppMessage inAppMessage
        , FirebaseInAppMessagingDisplayCallbacks 
    firebaseInAppMessagingDisplayCallbacks) {
         Log.e("INAPP_MESSAGE","received an inapp message");
    }
}

Затем зарегистрируйте эту реализацию с помощью безголового SDK для обмена сообщениями в Firebase

public class MyApplication extends Application{

@Override
public void onCreate() {
    super.onCreate();
    FirebaseInAppMessaging.getInstance().setMessageDisplayComponent(new MyMessageDisplayImplementation());
}

}

Моя проблема в том, что яЯ не получаю обратный вызов displyaMessage ().

Когда я закомментировал строку кода, " FirebaseInAppMessaging.getInstance().setMessageDisplayComponent(new MyMessageDisplayImplementation());" из класса Application, он показывает сообщение по умолчанию.Но ничего не происходит, когда я возвращаю этот код обратно.

Пожалуйста, помогите, если кто-нибудь знает лучшую идею об этой настройке сообщений в приложении.

1 Ответ

0 голосов
/ 10 апреля 2019

Информация о Firebase Doc немного сбивает с толку.На самом деле все очень просто.

Добавлены эти зависимости в файл gradle уровня приложения.

implementation 'com.google.firebase:firebase-core:16.0.8'
implementation ("com.google.firebase:firebase-inappmessaging:17.0.3")

Примечание. Нам не нужно добавлять " внедрение" com.google..firebase: firebase-inappmessaging-display: 17.1.1 '"зависимость

Регистрация компонента DisplayMessage при запуске действия.

import com.google.firebase.inappmessaging.FirebaseInAppMessaging
import com.google.firebase.inappmessaging.FirebaseInAppMessagingDisplay

///////

override fun onStart() {
    super.onStart()
    Log.e("MESSAGE", "activity started")
    var firebaseInAppMessagingDisplay = FirebaseInAppMessagingDisplay { inAppMessage, cb ->
        // You can show the message here.
        // The variable inAppMessage has all information about the campaign that we putting in console (title, content, image url.. etc)
        Log.e("MESSAGE", "Display Message callback invoked")
    }
    FirebaseInAppMessaging.getInstance().setMessageDisplayComponent(firebaseInAppMessagingDisplay)
}
...