上报推送数据
融云提供推送统计数据功能,您可以在控制台推送成功率统计页面查看推送服务的统计数据。
推送数据统计功能仅针对已上线应用的生产环境。如果是海外数据中心的应用,请根据 SDK 版本完成配置,确保数据上报到正确的数据中心,详见知识库文档融云海外数据中心使用指南。
推送数据统计包括:
- 推送总量:表示实际需要推送的通知条数,包括厂商推送和融云推送。
- 推送成功总量:表示成功推送到第三方 Push 厂商、融云 Push 服务的通知数,推送成功并不代表实际已推送到了目标设备上。
- 推送失败总量:表示推送到第三方 Push 厂商、融云 Push 服务失败的通知数。
- 推送到达总量(需配置):表示手机设备实际已经收到的通知数,部分系统手机需要终端主动上报达到数据。暂仅支持上报单聊、群聊会话类型的推送到达数据,不支持上报超级群推送和不落地推送到达数据。
- 推送点击总量(需配置):表示终端用户点击通知总数,部分系统手机需要终端主动上报点击数据。
因为不同手机厂商推送服务设计差异,融云无法直接获取部分厂商的推送到达和推送点击数据,需要您在第三方推送平台进行配置或者客户端自行上报。
检查 SDK 初始化时机
如果用户点击推送通知时融云 SDK 尚未完成初始化,SDK 将无法上报推送数据。
建议您在集成时检查 Application 中需要初始化的组件,将融云 SDK 初始化尽量提前,确保融云可准确上报推送相关数据。
采集推送到达数据
推送到达是指通知已发送到第三方厂商推送通道或融云推送服务后,推送通知成功下发到目标设备。
华为、魅族推送到达数据依赖手机厂商推送通道提供的「送达回执」服务。Google FCM 仅支持采集透传消息方式的推送到达数据。详细支持情况参见下表:
推送平台 | 提供推送到达数据 | 是否需要配置 |
---|---|---|
华为 | 厂商支持 | 需要,参见配置华为推送回执 |
荣耀 | 厂商支持 | 需要,参见配置荣耀推送回执 |
魅族 | 厂商支持 | 需要,参见配置魅族推送回执 |
小米 | 厂商支持 | 无需配置 |
Vivo | 厂商支持 | 无需配置 |
OPPO(包括 Realme、OnePlus) | 厂商支持 | 无需配置 |
Google FCM | 厂商不支持,由融云 SDK 提供 | 详见采集 FCM 推送到达数据 |
配置华为推送回执
在配置之前,请确保已完成集成华为推送。
完成华为推送通道配置集成后,需要开发者在华为开放平台开通并配置消息回执,才能获取到华为推送送达设备数据。详细可参考华为开放平台消息回执,配置流程如下:
-
登录华为开放平台,在 Push 开发服务中选择对应的应用,进入推送配置页面。
-
进入配置界面后,开通应用回执状态。
-
点击新建回执后,需要配置如下参数。
- 回执名称:填写自定义名称。
- 回调地址:请务必根据应用所属数据中心配置对应的推送回执回调地址。
- 国内(北京)数据中心(推荐):
https://callback.rong-edge.com/push/callback/huawei
- 国内(北京)数据中心(旧):
https://callback-bj.ronghub.com/push/callback/huawei
- 新加坡数据中心回调地址:
https://callback.sg-light-edge.com/push/callback/huawei
- 新加坡 B 企业合作数据中心:
https://callback.sg-b-light-edge.com/push/callback/huawei
- 北美数据中心回执地址:
https://callback.us-light-edge.com/push/callback/huawei
- 沙特数据中心回执地址:
https://callback.sau-light-edge.com/push/callback/huawei
- 国内(北京)数据中心(推荐):
- 回调用户名:请留空
- 回调密钥:请留空
- 支持版本:V1、V2 版本均已适配,建议选择 V2 版本。已在华为平台配置为 V1 版本的客户,建议尽早修改为 V2 版本。
-
配置完成后,点击测试回执,提示成功后可点提交配置完成。
配置荣耀推送回执
在配置之前,请确保已完成集成荣耀推送。
完成荣耀推送通道配置集成后,需要开发者在荣耀开放平台开通并配置消息回执,才能获取到荣耀推送送达设备数据。详细可参考荣耀推送服务开通消息回执指南,配置流程如下:
-
登录荣耀开发者服务平台,选择 管理中心 > 生态服务 > 开发服务 > 推送服务,进入推送服务页面。选择需要配置回执的应用,点击应用回执 ,进入应用回执页面。
-
点击 新增回执 ,进入回执配置页面。
配置信息如下:
- 回执名称:您自定义的名称,长度不能超过 50
- 回调地址:请务必根据应用所属数据中心配置对应的推送回执回调地址。
- 国内(北京)数据中心(推荐):
https://callback.rong-edge.com/push/callback/honor
- 国内(北京)数据中心(旧):
https://callback-bj.ronghub.com/push/callback/honor
- 新加坡数据中心回调地址:
https://callback.sg-light-edge.com/push/callback/honor
- 新加坡 B 企业合作数据中心:
https://callback.sg-b-light-edge.com/push/callback/honor
- 北美数据中心回执地址:
https://callback.us-light-edge.com/push/callback/honor
- 沙特数据中心回执地址:
https://callback.sau-light-edge.com/push/callback/honor
- 国内(北京)数据中心(推荐):
- 回调用户名:请留空
- 回调密钥:请留空
- 回执范围:请勾选到达回执和点击回执
配置魅族推送回执
在配置之前,请确保已完成集成魅族推送。
完成魅族推送通道集成后,需要开发者先在魅族推送平台中新建回执,再在融云控制台开启“魅族推送送达回执”后,才能获取到魅族通道送达数据,配置流程如下:
-
登录魅族推送平台,选择需要配置回执的应用,单击打开应用。
-
进入应用后,选择配置管理 > 回执管理,新增回执地址。
北京数据中心回执地址:
https://callback-bj.ronghub.com/push/callback/meizu
-
魅族平台设置完回执地址后,需要在融云控制台魅族推送配置中开启推送送达回执,才能获取到魅族通道送达数据。
采集 FCM 推送到达数据
- 在配置之前,请确保已完成集成 FCM 推送。
- 请确认 FCM 推送方式配置为透传消息方式。融云不支持在通知消息方式采集推送达到数据。
仅在融云控制台 FCM 推送方式配置为透传消息方式时,支持采集 FCM 推送到达数据。
App 需要手动上报 FCM 推送到达数据,方法如下:
调用 RongPushClient.setPushEventListener
设置推送事件监听器,在接口方法 preNotificationMessageArrived
中调用 RongPushClient.recordPushArriveEvent
上报推送到达数据。
RongPushClient.setPushEventListener(
new PushEventListener() {
@Override
public boolean preNotificationMessageArrived(
Context context,
PushType pushType,
PushNotificationMessage notificationMessage) {
RongPushClient.recordPushArriveEvent(
context, pushType, notificationMessage);
return false;
}
...
});
采集推送点击数据
推送点击数据是指表示终端用户点击通知的总数。
融云可直接获取大部分厂商的推送通道的点击数据。如果融云客户端 SDK 版本低于 5.2.3,华为推送通道下发的推送通知点击数据需要您在客户端手动上报。
详细支持情况参见下表:
推送平台 | 推送点击事件上报 | 描述 |
---|---|---|
RongPush | 支持 | 融云 SDK 默认实现上报逻辑 |
小米 | 支持 | 融云 SDK 默认实现上报逻辑 |
华为 | 支持(要求 SDK ≧ 5.1.4) | 从 IMLib 5.2.3 版本开始,融云 SDK 默认实现上报逻辑(低于该版本则需要调用融云 SDK 手动上报点击事件) |
荣耀 | 支持 | 融云 SDK 默认实现上报逻辑 |
Vivo | 支持 | 融云 SDK 默认实现上报逻辑 |
魅族 | 支持 | 融云 SDK 默认实现上报逻辑 |
OPPO | 支持 | 融云 SDK 默认实现上报逻辑 |
Google FCM | 支持 | 融云 SDK 默认实现上报逻辑 |
采集华为推送点击数据
在配置之前,请确保已完成集成华为推送。从 SDK 5.1.4 版本开始,支持采集华为推送点击数据,低于该版本无法采集推送点击数据。
从 SDK 5.2.3 版本开始,融云 SDK 内部默认上报华为推送点击数据,无需您进行处理。
如果融云客户端 SDK 版本低于 5.2.3,则需要您手动上报华为推送通知点击数据,方法如下:
-
控制台华为推送 intent 使用默认值,没有自定义时,在会 话列表页面 activity 的 onCreate() 中调用如下方法:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if(intent != null && intent.getData() != null
&& intent.getData().getScheme() != null
&& intent.getData().getScheme().equals("rong")
&& intent.getData().getQueryParameter("isFromPush") != null
&& intent.getData().getQueryParameter("isFromPush").equals("true")) {
RongPushClient.recordHWNotificationEvent(intent); //上报点击事件
}
...
} -
自定义了华为推送 intent, 需要在自定义配置的 activity 里拦截 intent, 并调用以下上报方法。
RongPushClient.recordHWNotificationEvent(intent);