【问题标题】:how to retrieve custom data from Firebase In-App Messaging in android如何从 Android 中的 Firebase 应用内消息中检索自定义数据
【发布时间】:2020-04-06 08:18:00
【问题描述】:

我正在探索 Firebase 应用内消息,其中当我触发一个事件时,我能够查看我在 Firebase 控制台中设置的横幅/模式对话框。

但是,我在控制台中的以下路径下看到了一个设置自定义数据的选项:

应用内消息 -> 撰写广告系列 -> 其他选项

所以我设置了如下所示的键值对:

那么,现在我想在我的 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()本身没有被触发!

【问题讨论】:

  • 我可以知道投反对票的原因吗?

标签: android firebase firebase-in-app-messaging


【解决方案1】:

我还没有找到这个记录在案的here,但是InAppMessage 类中有一个getData() 方法,它返回键值映射,即。广告系列数据。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-05
    • 1970-01-01
    相关资源
    最近更新 更多