IM 即时通讯 (424)
Android (198)
- 初始化&链接 (7)
- 事件&监听处理 (7)
- 用户信息 (13)
- 会话列表 (14)
- 聊天会话 (25)
- 消息处理 (35)
- 自定义消息 (5)
- 音视频 (2)
- 推送&通知 (32)
- 扩展功能 (3)
- 第三方地图 (3)
- 依赖&配置 (9)
- 升级说明 (4)
- 其他 (39)
iOS (165)
- SDK 导入 (7)
- 连接 (7)
- 事件处理 (2)
- 用户信息 (3)
- 会话列表 (14)
- 聊天会话 (43)
- 消息处理 (26)
- 自定义消息 (8)
- 推送&通知 (19)
- 扩展功能 (7)
- 国际化 (3)
- 音视频 (4)
- 其他 (22)
Web (36)
Server API (25)
如何统计后台推送消息的打开率?
使用开发者后台的广播推送服务时,怎么实现每次推送的效果追踪?怎么统计用户的打开率?
发布时间: 2015-09-23 14:15
回答:
2.6.0 之前的版本,参考下面的步骤:
开发者后台发送的推送消息,用户点击的时候,触发的intent uri配置如下:
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#常见问题