04/29/2024 11:54:53

事件上报模块开发

一、插件开发说明

事件上报模块是 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.

results matching ""

    No results matching ""