1. 集成 SDK

1.1. 集成 

从 GitHub 上获取 CocosCreator SDK 源码,根据使用的 CocosCreator 版本集成相应的 js 文件。

如果您使用的 CocosCreator 版本是 3.x 请将 cocoscreator-game.cjs.min.js 文件放到项目 assets/Script 目录中。

如果您使用的 CocosCreator 版本是 2.x 请将 cocoscreator-game.min.js 文件放到项目 assets/Script 目录中。

1.2. 引用

在需要采集数据的页面引用 js 头文件。

// CocosCreator 2.x
import sensors from './cocoscreator-game.min.js'
// CocosCreator 3.x 
import sensors from './cocoscreator-game.cjs.min.js'  
CODE

1.3. 配置初始化参数

引入 SDK 后,可通过 setPara() 配置 SDK 初始化参数。

// 以 CocosCreator 2.x 为例
import sa from './cocoscreator-game.js';
sa.setPara({       
	server_url: '数据接收地址',
    show_log: true
});
CODE

1.4. 初始化可选参数

sensors.init  中可选的参数如下

配置名

默认值

含义

server_url空字符串数据接收地址
show_logfalse是否显示日志

1.5. 初始化 SDK

调用 init() 方法来初始化 SDK

// 以 CocosCreator 2.x 为例
import sa from './cocoscreator-game.js';
sa.setPara({       
	server_url: '数据接收地址',
    show_log: true
});
// 初始化 SDK
sensors.init();
CODE

2. SDK 基本配置

2.1. 配置项目数据接收地址

获取项目数据接收地址:


2.2. 代码埋点追踪事件

SDK 初始化后,可通过 - track 方法追踪用户行为事件,并未事件添加自定义属性:

import sa from './cocoscreator-game.js'
sa.track('click',{
	name: '点击'
});
CODE

2.3. 设置事件公共属性

对于所有事件都需要添加的属性,初始化 SDK 后,可使用 - registerApp: 将属性注册为公共属性:

import sa from './cocoscreator-game.js'
// 调用自定义埋点 API
var p = {"AppName":"cocos"}
sa.registerApp(p);
CODE

公共属性会保存在 App 本地缓存中,可以通过  - clearAppRegister: 删除已设置的事件公共属性。

2.4. 设置用户属性

- setProfile: 方法可以设置用户属性,同一个 key 多次设置时,value 值会进行覆盖替换:

var p = {"age":5}
sa.setProfile(p)
CODE

2.5. 保留初次用户属性

对于需要保证只有首次设置时有效的属性,如用户首次充值金额、首次设置的昵称等,可以使用  -setOnceProfile: 接口进行记录。与 - setProfile: 方法不同的是,如果被设置的用户属性已存在,则这条记录会被忽略而不会覆盖已有数据,如果属性不存在则会自动创建:

// 设定用户 AdSource 渠道为为 "App Store"
var p = {"AdSource":"App Store"}
sa.setOnceProfile(p)
CODE

2.6. 用户登录

当用户注册成功或者进行登录时,需要调用SDK 的 - login: 接口:

sa.login("用户登录 ID");
CODE

为了准确记录登录用户的行为信息,建议在以下时机各调用一次 - login: 接口:

· 用户在注册成功时
· 用户登录成功时
· 已登录用户每次启动 App 时

3. Native 支持

3.1. Android  Native 支持

根据您使用的 CocosCreator 使用版本,按照下面步骤配置 Android 工程。

3.1.1. CocosCreator 2.x 版本

3.1.1.1. 集成原生 SDK

请在项目目录下 /build/jsb-link/frameworks/runtime-src/proj.android-studio/app/build.gradle 中集成神策原生 SDK 依赖

dependencies {
   // 添加 Sensors Analytics SDK 依赖
   implementation 'com.sensorsdata.analytics.android:SensorsAnalyticsSDK:6.0.0'
}
CODE

CocosCreator SDK 使用了延迟初始化,需要引用 v6.0.0 及以上版本的原生 SDK

3.1.1.2. 配置桥接文件

请在项目目录下的 /build/jsb-link/frameworks/runtime-src/proj.android-studio/app/src 的 java 工作目录中,将桥接文件 CCSensorsDataAPI.java 复制到目录下

并在与 scr 目录同级的 proguard-rules.pro 文件中,添加混淆

-keep public class com.cocos.game.CCSensorsDataAPI {*;}
CODE

3.1.2. CocosCreator 3.x 版本

3.1.2.1. 集成原生 SDK

请在项目目录下 native/engine/android/app/build.gradle 中集成神策原生 SDK 依赖

dependencies {
   // 添加 Sensors Analytics SDK 依赖
   implementation 'com.sensorsdata.analytics.android:SensorsAnalyticsSDK:6.0.0'
}
CODE

CocosCreator SDK 使用了延迟初始化,需要引用 v6.0.0 及以上版本的原生 SDK

3.1.2.2. 配置桥接文件

请在项目目录下的 native/engine/android/app/src 的 java 工作目录中,将桥接文件 CCSensorsDataAPI.java 复制到目录下

并在与 scr 目录同级的 proguard-rules.pro 文件中,添加混淆

-keep public class com.cocos.game.CCSensorsDataAPI {*;}
CODE

3.2. iOS Native 支持

根据您使用的 CocosCreator 使用版本,按照下面步骤配置 iOS 工程。

3.2.1. CocosCreator 2.x

3.2.1.1. 添加 iOS 插件文件

构建 iOS 项目后会生成对应的 iOS 工程,使用 Xcode 打开 iOS 工程,添加神策 iOS 插件文件。

3.2.1.2. 配置 ARC 编译标记

3.2.2. CocosCreator 3.x

3.2.2.1. 添加 iOS 插件文件

首次构建 iOS 项目后会生成 ./native/engine/ 目录,将神策 iOS 插件文件拷贝到 ./native/engine/ios/ 目录中。

3.2.2.2. 配置 CMakeLists.txt

打开 ./native/engine/ios/CMakeLists.txt 文件,开始配置。

添加源文件引用及 ARC 编译标记

# 找到这行代码
list(APPEND PROJ_SOURCES
    ${CMAKE_CURRENT_LIST_DIR}/AppDelegate.mm
    ${CMAKE_CURRENT_LIST_DIR}/AppDelegate.h
    ${CMAKE_CURRENT_LIST_DIR}/service/SDKWrapper.m
    ${CMAKE_CURRENT_LIST_DIR}/service/SDKWrapper.h
    ${CMAKE_CURRENT_LIST_DIR}/main.m
    ${CMAKE_CURRENT_LIST_DIR}/ViewController.mm
    ${CMAKE_CURRENT_LIST_DIR}/ViewController.h
    ${UI_RESOURCES}
)
 
 # 1. 添加源文件引用
list(APPEND PROJ_SOURCES
    ${CMAKE_CURRENT_LIST_DIR}/CCSensorsDataAPI.h
    ${CMAKE_CURRENT_LIST_DIR}/CCSensorsDataAPI.mm
    ${CMAKE_CURRENT_LIST_DIR}/SensorsAnalyticsSDK.framework
)
# 2. 添加 ARC 编译标记
set_source_files_properties(
    ${CMAKE_CURRENT_LIST_DIR}/CCSensorsDataAPI.mm
    PROPERTIES COMPILE_FLAGS -fobjc-arc
)
CODE

链接库

# 找到这行代码
target_link_libraries(${LIB_NAME} cocos2d)
# 添加如下代码(链接 framework)
target_link_libraries(${LIB_NAME} ${CMAKE_CURRENT_LIST_DIR}/SensorsAnalyticsSDK.framework)
CODE

配置完成后,需要使用 Cocos Creator 重新构建,重新构建后,配置的内容才生效。

3.3. 开启 Native 支持

初始化 SDK 时,在 setPara 中加入 enable_native: true,即可开启 Native 支持。

sa.setPara({       server_url: '数据接收地址',
    show_log: true,
    app_start:true,   //Android、iOS 支持启动事件
    app_end:true,  //Android、iOS 支持退出事件
    enable_native:true, // 支持 native 数据采集
});
sa.init();
CODE

4.