如何统计后台推送消息的打开率?

使用开发者后台的广播推送服务时,怎么实现每次推送的效果追踪?怎么统计用户的打开率?
发布时间: 2015-09-23 14:15

回答:

2.6.0  之前的版本,参考下面的步骤:

  1. 开发者后台发送的推送消息,用户点击的时候,触发的intent uri配置如下:


  2. Intent intent = Intent()intent.setFlags(intent.)Uri.Builder uriBuilder = Uri.(+ .getPackageName()).buildUpon()uriBuilder.appendPath()
            .appendQueryParameter(targetId)
            .appendQueryParameter(pushContent)
            .appendQueryParameter(pushData)
            .appendQueryParameter(pushId)
            .appendQueryParameter(extra)Uri uri = uriBuilder.build()intent.setData(uri)


3.  在你的AndroidManifest.xml里面配置activity拦截该intent. 

<activity
   android:name="你的activity"
   android:launchMode="singleTask"
   android:screenOrientation="portrait">

   <intent-filter>
       <action android:name="android.intent.action.VIEW" />
       <category android:name="android.intent.category.DEFAULT" />

       <data
           android:host="你的包名"
           android:pathPrefix="/push_message"
           android:scheme="rong" />
   </intent-filter>
</activity>

4.  在该activity的onCreate()里面调用recordNotificationEvent上传通知打开事件。参考如下代码:

Intent intent = getIntent()(intent != && intent.getData() != && intent.getData().getScheme().equals()) {
    String id = intent.getData().getQueryParameter()RongIM.().recordNotificationEvent(id)}


2.6.0  之后的版本:

如果您没有自定义通知,那客户端不需要做额外操作,SDK 内部已经进行了打开率的统计。

如果您自定义了通知显示,需要在你的自定义通知的点击事件里,调用下面的 API 上传打开事件:

if(!TextUtils.isEmpty(message.getPushId())) {

    RongPushClient.recordNotificationEvent(message.getPushId());

}

也可以参考 http://www.rongcloud.cn/docs/android_push.html#常见问题

我对此仍有疑问!继续追问