3

嗨,我最近在我的项目中添加了 InAppMessaging,这似乎很容易集成,但对我来说并没有像预期的那样工作。

首先,我已将此添加到 build.gradle :

implementation 'com.google.firebase:firebase-core:17.0.1'
implementation 'com.google.firebase:firebase-inappmessaging-display:18.0.2'

然后因为我不想在启动画面(IntroActivity.java)上显示消息,所以我正在做:

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    binding = DataBindingUtil.setContentView(this, R.layout.activity_intro);
    binding.setActivity(this);

    //Disabling firebase in app messaging
    FirebaseInAppMessaging.getInstance().setMessagesSuppressed(true);
}

对于 MainActivity.java 我在 onStart 停止抑制:

@Override
protected void onStart() {
    super.onStart();
    FirebaseInAppMessaging.getInstance().setMessagesSuppressed(false);
}

主要活动的结构是一个带有底部导航栏的 FragmentLayout,该片段布局有 4 个不同的片段,第一个(在开头加载的那个)具有不同的回收器视图,显示来自 API 的信息(数据加载在介绍,使用 Apollo GraphQL for Android)。

最后,我创建 InAppMessage 到 Firebase 控制台 -> InAppMessaging -> 新活动 -> 卡片,设置标题和图像等基本信息 -> 目标 -> 选择我的应用程序 -> 计划 -> 没有结束日期和事件:“app_launch " 和 "on_foreground" -> 然后下一步并发布。

当我重新启动应用程序时,在介绍活动之后我可以看到 InAppMessage 几秒钟然后消失,我想知道它是否与抑制有关,或者由于某种原因,当显示消息时,主片段的回收器视图没有显示当它们被创建时禁用味精?

欢迎任何线索或想法。谢谢

4

1 回答 1

0

将这两行放在要显示的活动或片段中

FirebaseAnalytics.getInstance(getContext()).logEvent("EVENT_NAME_YOU_WANT",null);
FirebaseInAppMessaging.getInstance().triggerEvent("EVENT_NAME_YOU_WANT");

并且不要忘记在onResume()方法中调用它。它解决了我的问题。

于 2020-05-10T12:18:00.203 回答