как получить пользовательские данные из Firebase In-App Messaging в android - PullRequest
0 голосов
/ 06 апреля 2020

Я изучаю Firebase In-App Messaging, в котором, когда я запускаю событие, я могу просмотреть свой баннер / модальный диалог, который я установил в своей консоли Firebase.

Однако я см. параметр для установки пользовательских данных в консоли по следующему пути:

Обмен сообщениями в приложении -> Создать кампанию -> Дополнительные параметры

Итак, я установил пары ключ-значение, как показано ниже:

enter image description here

Итак, теперь я хочу получить эти данные в моем приложении android. Как можно Я получаю данные?

Я пробовал следующие коды, но они не работали:

1.

    FirebaseInAppMessaging.getInstance().triggerEvent("my_event");
    FirebaseInAppMessaging.getInstance().setMessageDisplayComponent(new FirebaseInAppMessagingDisplay() {
        @Override
        public void displayMessage(@NonNull InAppMessage inAppMessage, @NonNull FirebaseInAppMessagingDisplayCallbacks firebaseInAppMessagingDisplayCallbacks) {
            CampaignMetadata campaignMetadata = inAppMessage.getCampaignMetadata();
            MessageType messageType = inAppMessage.getMessageType();
    //it doesn't give my key-value data
    //I can't see any methods like getData() which returns an object
        }
    });
    FirebaseInAppMessaging.getInstance().addClickListener(new FirebaseInAppMessagingClickListener() {
        @Override
        public void messageClicked(@NonNull InAppMessage inAppMessage, @NonNull Action action) {
            Button button = action.getButton();
        }
    });
    FirebaseInAppMessaging.getInstance().addImpressionListener(new FirebaseInAppMessagingImpressionListener() {
        @Override
        public void impressionDetected(@NonNull InAppMessage inAppMessage) {
            MessageType messageType = inAppMessage.getMessageType();
    //it doesn't give my key-value data
    //I can't see any methods like getData() which returns an object
        }
    });

2.Я также пытался При создании FirebaseMessagingService я также не получил никаких данных:

public class FBMService extends FirebaseMessagingService {

@Override
public void onMessageReceived(@NonNull RemoteMessage remoteMessage) {
   for (Map.Entry<String, String> entry : remoteMessage.getData().entrySet()) {
        String key = entry.getKey();
        String value = entry.getValue();
        Log.d(TAG, "key, " + key + " value " + value);
    }
}

}

Здесь сам OnMessageReceived () не запускается!

...