Я изучаю Firebase In-App Messaging, в котором, когда я запускаю событие, я могу просмотреть свой баннер / модальный диалог, который я установил в своей консоли Firebase.
Однако я см. параметр для установки пользовательских данных в консоли по следующему пути:
Обмен сообщениями в приложении -> Создать кампанию -> Дополнительные параметры
Итак, я установил пары ключ-значение, как показано ниже:
![enter image description here](https://i.stack.imgur.com/LLNV8.png)
Итак, теперь я хочу получить эти данные в моем приложении 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 () не запускается!