哔哩哔哩游戏数据SDK集成指南

哔哩哔哩游戏数据SDK开发包(简称:DataSDK)主要用来向第三方应用程序提供便捷实时数据统计。本文主要描述DataSDK的使用方法,供合作伙伴的开发者接入使用。

1、接入流程

1.1、接入前准备

接入前期准备工作包括商户签约和密钥配置,已完成商户可略过。 需要获取的参数包括:

参数名称 参数说明
server_id 分配给研发的区服id,可能有多个
merchant_id 分配给研发的商户id
app_id 分配给研发的游戏id
app_key SDK客户端与SDK服务器通信密钥
secret_key 研发服务器与SDK服务器通信密钥

这些参数请通过开放平台获取

  • app_key是客户端签名所使用的key,在sdk初始化的时候必须参数
  • secret_key请妥善保存,为了防止泄露,不能出现在手机客户端

1.2、SDK接入流程

1.2.1、导入SDK

将bsgamedatasdk_android_library_xxx.jar拷贝到目标工程的对应目录,并在目标工程里设置引用libs里的jar 文件,即完成sdk 的导入。

1.2.2、修改AndroidManifest.xml 文件

请将以下内容全部复制到AndroidManifest.xml的manifest标签下

<!--权限start-->
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<!--权限end-->

在application标签内添加

<activity   
      android:name="com.bsgamesdk.android.dc.activity.BSGameAntiIndulegnceActivity"
      android:launchMode="singleTask"
      android:configChanges="keyboardHidden|navigation|orientation|screenSize"
      android:theme="@style/bsgamesdk_dc_customDialog">
</activity>
<!-- data-collect start-->
<service
      android:name="com.bsgamesdk.android.dc.service.DcUpService"
      android:enabled="true"
      android:exported="false">
</service>
<!-- data-collect end-->

1.2.3、assets配置

如果接入哔哩哔哩游戏SDK查看assets下有没有distributor.txt文件,如果有则不需要修改,如果没有则拷贝demo下的distributor.txt文件,内容为100(如果是我方签名则内容为100,否则内容为1)

2、SDK接口说明

2.1、SDK初始化

DataCollect.getInstance().dCInit(Activity activity, DataParamsModel dataParamsModel,
 String app_key, ExitCallbackListener exitListener);
  • activity: Activity实例;
  • app_key: SDK客户端与SDK服务器通信密钥;
  • exitListener: exitListener为ExitCallbackListener 的实例,ExitCallbackListener 的回调方法只有onExit,需要在onExit中完成退出并关闭游戏的逻辑;
  • dataParamsModel:是需要传入参数的对象,类的结构如下:
字段名称 类型 标注
merchant_id String cpid商户id,由平台自动分配
server_id String 平台分配的区服id
app_id String 每款应用在平台的唯一标识
uid String bilibili用户id

注意:DataParamsModel 的参数必须全部填写,如果没有填写DataSDK会进行校验提示具体哪个参数没有填写,由于uid需要登录之后才能获取,所以dCInit需要登录之后进行初始化,不要多次调用。

2.2、接口介绍

2.2.1、程序回到前台接口appOnline(必接)

注意:appOnline接口务必在onResume()方法里面调用

@Override
protected void onResume() {
    super.onResume();
    DataCollect.getInstance().appOnline(this);
}

2.2.2、程序进入后台接口appOffline(必接)

注意:appOffline接口务必在onStop()方法里面调用

@Override
protected void onStop() {
    super.onStop();
    DataCollect.getInstance().appOffline(this);
}

2.2.3、程序退出接口appDestory(必接)

注意:appDestory接口务必在onDestroy()方法里面调用

@Override
protectesd void onDestroy() {
    super.onDestroy();
    DataCollect.getInstance().appDestory(this);
}

2.2.4、停止上报接口stop(当玩家停止游戏的时候,请调用此接口, 如注销、切换账号、游戏维护等)(必接)

DataCollect.getInstance().stop(this);