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 应用程序也有同样的问题。是否有可能做到这一点?
我今天开始玩应用程序消息传递,这需要使用著名的试错技术来解决。
触发事件有两种方式:
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(),会出现弹出窗口
| 归档时间: |
|
| 查看次数: |
2774 次 |
| 最近记录: |