12/12/2024 11:37:56
事件上报模块开发
一、插件开发说明
事件上报模块是 MSDK 的一个基础扩展模块,主要功能是协助上报用户的操作、行为事件等信息。
[info] 关于卸载跟踪功能的特殊说明
客户端的卸载跟踪功能一般依赖于推送模块,通过判断推送消息是否被成功收到来进行 App 的卸载跟踪,如果推送消息没有被 App 收到,那么可以认为 App 被卸载
MSDK 一般推荐游戏在推送模块注册成功后,将推送模块的 Token 注册给事件上报模块,事件上报模块就可以使用这个 Token 进行卸载跟踪
不同平台的卸载跟踪功能:
- Android, 需要依赖
setPushToken
方法进行推送 Token 的获取。事件上报模块一般会选择 Firebase 作为依赖的推送插件,如果希望选择依赖其他推送插件,可以开发相应的推送插件,并与其配合使用- iOS, 由于 iOS 有
didRegisterForRemoteNotificationsWithDeviceToken
方法,因此一般不需要实现该方法进行 Token 的设置
[info] 事件上报模块不需要进行方法回调
二、客户端插件说明
2.1 Android 平台
2.1.1 类实现规则说明
- 包名规则:固定为
com.tencent.gcloud.msdk.report
- 类名规则:
渠道 + report
,如:AppsFlyerReport
- 必须实现
ReportInterface
接口- 必须实现
init
函数,用于初始化插件 - 必须实现
reportEvent
函数,用于实现事件的上报 - 必须实现
setPushToken
函数,用于将推送模块的 Token 传递给事件上报插件,用于进行 App 的卸载跟踪
- 必须实现
2.1.2 ReportInterface 接口
init 函数
初始化函数,进行事件上报模块的初始化操作
@Override public void init() { // 渠道的初始化逻辑 ... }
reportEvent 函数
事件上报函数,进行事件的上报
@Override public void reportEvent(String seqID, String eventName, HashMap<String, String> params, boolean isRealTime, String extraJson) { // 渠道的事件上报逻辑 ... }
setPushToken 函数
设置推送 token,用于将推送模块的 Token 传递给事件上报插件,用于进行 App 的卸载跟踪。
1.如果插件支持卸载跟踪,可以在该方法中进行推送模块 Token 的设置
2.如果事件上报模块不支持卸载跟踪功能,可以将该方法留空
@Override public void setPushToken(String seqID, String token) { // 渠道的设置推送 Token 逻辑 ... }
[info] 详情请参考示例代码
2.2 iOS 平台
2.2.1 类实现规则说明
- 命名规则:固定为
MSDKReport + 渠道
,如:MSDKReportAppsFlyer
- 必须实现
MSDKReportDelegate
协议initStat
函数,用于初始化插件reportEvent
函数,用于实现事件的上报- 【可选实现】
setPushToken
函数,用于将推送模块的 Token 传递给事件上报插件,用于进行 App 的卸载跟踪
2.2.2 MSDKReportDelegate 协议
initStat 函数
初始化函数,进行事件上报模块的初始化操作
- (bool)initStat { // 渠道的初始化逻辑 ... }
reportEvent 函数
事件上报函数,进行事件的上报
- (void)reportEvent:(NSString *)event params:(NSDictionary *)params isRealtime:(BOOL)realtime seqID:(NSString *)seqID extra:(NSString *) extraJson { // 渠道的事件上报逻辑 ... }
setPushToken 函数说明
设置推送 token,用于将推送模块的 Token 传递给事件上报插件,用于进行 App 的卸载跟踪。
iOS 由于有
didRegisterForRemoteNotificationsWithDeviceToken
方法,因此一般不需要实现该方法进行 Token 的设置- (void)setPushToken:(NSString *)pushToken { // 渠道的设置推送 Token 逻辑 ... }
[info] 详情请参考示例代码
Copyright © 2024 MSDK.
All rights reserved.
All rights reserved.