InApp 消息不会在自定义事件上显示消息

Chr*_*fer 5 android ios firebase firebase-in-app-messaging

使用

implementation 'com.google.firebase:firebase-analytics:17.2.1'
implementation 'com.google.firebase:firebase-inappmessaging-display:19.0.2'
Run Code Online (Sandbox Code Playgroud)

我在 Firebase 中使用“在设备上测试”功能时收到消息我在使用事件“on_foreground”时也收到消息,但我想不直接在应用程序启动时显示消息,而是在进入新屏幕时(当我发送事件“Show_Category_Screen”)

像这样

FirebaseAnalytics mFirebaseAnalytics = FirebaseAnalytics.getInstance(activity);
mFirebaseAnalytics.logEvent("Show_Category_Screen", null);
Run Code Online (Sandbox Code Playgroud)

我将 InApp 消息触发事件设置为“Show_Category_Screen”。但什么也没有发生

该事件成功显示在 Firebase 的 DebugView 中

我在日志中看到这个

I/FIAM.Headless: Successfully fetched 2 messages from backend
I/FIAM.Headless: Removing display event listener
I/FIAM.Headless: Already impressed InAppCategoryMessage ? : false
Run Code Online (Sandbox Code Playgroud)

我的 iOS 应用程序也有同样的问题。是否有可能做到这一点?

Boy*_*Boy 6

我今天开始玩应用程序消息传递,这需要使用著名的试错技术来解决。

触发事件有两种方式:

FirebaseAnalytics.getInstance(this).logEvent("main_screen_opened", null);
Run Code Online (Sandbox Code Playgroud)

FirebaseInAppMessaging.getInstance().triggerEvent("main_screen_opened");
Run Code Online (Sandbox Code Playgroud)

我已经发布了一个带有 trigger 的活动main_screen_opened,因为您在测试时不能这样做,测试消息会在应用程序打开时显示:

测试设备截图

现在,请确保您在活动中调用triggerEvent()logEvent()如果您在!onResume()OnCreate()

@Override
protected void onResume() {
    super.onResume();

    FirebaseAnalytics.getInstance(this).logEvent("main_screen_opened", null);
    FirebaseInAppMessaging.getInstance().triggerEvent("main_screen_opened");
    ...
}
Run Code Online (Sandbox Code Playgroud)

注意:*它不会(可能?)第一次触发,以免立即给用户带来麻烦。当您转到主屏幕并返回应用程序时,它现在应该会显示出来。

编辑:经过一些测试后,如果你把它放在onCreate(). 当您检查日志记录时,您会看到

Already impressed <your campaign name> ? : false
Run Code Online (Sandbox Code Playgroud)

第二次执行logEvent()/ 时Trigger(),会出现弹出窗口

  • @ElJazouli 请检查我的帖子和我添加的图像:当使用“在设备上测试”时,该消息仅在应用程序打开时触发。它不适用于触发器,因此只会显示在splashactivity上 (3认同)
  • 也不适合我,我尝试了一切,但即使唯一的事件是“main_activity”,我仅在 mainactivity 的 onresume 中记录和触发,该消息仍然显示在启动屏幕上 (2认同)