android - 如何从 Android 中的 Firebase 应用内消息中检索自定义数据

标签 android firebase firebase-in-app-messaging

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

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

应用内消息 -> 撰写 Activity -> 其他选项

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

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() 本身没有被触发!

最佳答案

我还没有找到这个文档 here , 但有一个 getData() InAppMessage 中的方法返回键值映射的类,即。 Activity 数据。

关于android - 如何从 Android 中的 Firebase 应用内消息中检索自定义数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61055582/

相关文章:

android - VS 2015 Enterprise 的所有iOS 和Android 开发能力都在Win 8.1 中可用吗?

java - 是否可以在 Fragment 中实现 FirebaseRecycler?

android - 如何正确使用android数据绑定(bind)

android - 定制媒体 Controller

firebase - 如何处理 Firebase Web 中的身份验证/参数错误?

android - Firebase In App Messaging PERMISSION_DENIED

ios - Firebase InApp Messaging 无法加载测试消息[资源包丢失]

android - 无法在 Android 中使用 Firebase 应用内消息传递?

android - 如何通过android中的布局xml将数组设置为任何 View 的标签

android - 我需要将对象数组转换为字符串数组,但它一直返回空指针