Android Firebase入门到精通之六:In App Message(应用内消息) 的集成与开发

版权声明:本文为博主原创文章,未经允许不得转载,如有问题,欢迎指正,谢谢! https://blog.csdn.net/cbk861110/article/details/88627751

项目源码请移步:https://github.com/caobaokang419/FirebaseApp(欢迎Github Fork&Star,如有描述错误的地方,请帮忙指正),谢谢!

一、 概念阐述:

In App Message(应用内消息):纯属运营部分,应用只需集成SDK,并上报触发事件(运营可根据事件自动下发应用内消息,SDK负责应用内消息显示)即可。

二、远程配置的集成说明:

  • In App Message(应用内消息) :需自备梯子

三、代码汉化说明:

1. project build.gradle 添加:

implementation 'com.google.firebase:firebase-inappmessaging-display:17.0.4'
implementation 'com.google.firebase:firebase-iid:17.0.4'

2. AndroidManifest.xml 添加:

<activity
    android:name=".inappmessaging.InAppMsgMainActivity"
    android:label="@string/fb_inappmsg_label"
    android:theme="@style/AppTheme" />

3. Activity实现(应用只负责:上报事件(1. 运营后台可根据事件自动下发应用内消息; 2. SDK负责应用内消息显示)):

public class InAppMsgMainActivity extends AppCompatActivity {

  private static final String TAG = "FIAM-Quickstart";

  private FirebaseAnalytics mFirebaseAnalytics;
  private FirebaseInAppMessaging mInAppMessaging;

  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_fb_inappmsg_main);

    mFirebaseAnalytics = FirebaseAnalytics.getInstance(this);
    mInAppMessaging = FirebaseInAppMessaging.getInstance();

    mInAppMessaging.setAutomaticDataCollectionEnabled(true);
    mInAppMessaging.setMessagesSuppressed(false);

    findViewById(R.id.eventTriggerButton)
        .setOnClickListener(
            new View.OnClickListener() {
              @Override
              public void onClick(View view) {
                mFirebaseAnalytics.logEvent("engagement_party", new Bundle()); //应用通过Analytics上报打点事件
              }
            });

    // Get and display the Instance ID
    final TextView textView = findViewById(R.id.instanceIdText);
    FirebaseInstanceId.getInstance().getInstanceId()
            .addOnSuccessListener(new OnSuccessListener<InstanceIdResult>() {
              @Override
              public void onSuccess(InstanceIdResult instanceIdResult) {
                String instanceId = instanceIdResult.getId();
                textView.setText(getString(R.string.instance_id_fmt, instanceId));
                Log.d(TAG, "InstanceId: " + instanceId);
              }
            });
  }
}

猜你喜欢

转载自blog.csdn.net/cbk861110/article/details/88627751