基本信息
SDK名称:热力引擎 CocosCreator SDK v1.0.1
开发者名称:汇量云(北京)科技有限公司
SDK版本号:1.0.1
主要功能:热力引擎是一站式增长分析与发行决策平台,致力于帮助开发者搭建便捷、高效的数据管理中台,洞察业务运营全链路数据,制定更优增长决策。热力引擎支持全球全渠道数据管理,帮助开发者实现归因分析、用户粒度 ROI 分析,能有效衡量渠道价值,为投放和变现策略调优提供全方位数据支持。同时,提供应用内埋点及参数管理,配合多种分析模型与 AB 测试功能,全面还原用户全生命周期旅程,挖掘用户需求及业务增长点,快速验证并推行产品迭代优化,为开发者提升业务运营效率,实现规模化增长赋能。
适用范围:适用于Android5.0(APILevel21)及以上的操作系统。
隐私政策链接: https://www.solar-engine.com/privacyPolicy.html
合规指南:详见本页面底部合规指南内容。
第一步:获取 Appkey
Appkey 查询路径:资产管理-应用管理-16位 Appkey(即应用 ID)。

第二步:获取 SDK
如果您创建的产品数据存储区域是中国大陆,请下载: SolarEngineSDK-Cocos-CN
如果您创建的产品数据存储区域是非中国大陆,请下载: SolarEngineSDK-Cocos-US
SDK Demo 下载地址: SolarEngineSDK-Cocos-Demo
下载SDK后需要做以下步骤才行运行Demo:
1、demo中的SDK非中国版SDK, 如果您是中国大陆的请使用上面 SolarEngineSDK-Cocos-CN 替换掉Demo中的 SolarEngineSDK
2、Cocos导出Android、iOS原生项目后把SolarEngineSDK放入到原生项目中并再次导出Android、iOS原生项目即可,具体操作见下面 《集成SDK》
第三步:集成 SDK
Android 配置
添加SDK所需依赖框架:
1、导出Android 原生项目
在CocosCreator 编辑中 顶部 项目->构建发布 选择Android 平台,点击构建后会生成一个Android 原生项目
2、添加SolarEngine Android SDK 依赖
使用Android Studio 打开刚才导出的Android 项目编译(确认编译没问题)
maven 仓库配置
需要在项目根目录的 build.gradle 文件中添加 maven 仓库配置,具体配置如下:
allprojects {
repositories {
google()
jcenter()
mavenCentral()
maven { url "https://maven-android.solar-engine.com/repository/se_sdk_for_android/" }
maven { url "https://developer.huawei.com/repo/" }
maven { url "https://developer.hihonor.com/repo/" }
}
}
请将下方代码添加到 project 的 build.gradle 中
中国大陆,请使用大陆版SDK
implementation 'com.reyun.solar.engine.china:solar-engine-core:1.3.1.0'
implementation 'com.reyun.solar.engine.china:solar-remote-config:1.3.1.0'
非中国大陆,请使用海外版SDK
implementation 'com.reyun.solar.engine.oversea:solar-engine-core:1.3.1.0'
implementation 'com.reyun.solar.engine.oversea:solar-remote-config:1.3.1.0'
3、添加SolarEngine Android SDK CocosCreator Wrapper 文件
把下载好的SECocosCreatorProxyApi.java文件放在项目的/native/engine/android/app/src/com/cocos/game/目录下
4、 配置好后按上面的第1步重新导出Android项目即可
如果打包时需要增加混淆,请将下方代码增加到混淆配置文件中
-keep class com.reyun.** {*; }
-keep class route.**{*;}
-keep interface com.reyun.** {*; }
-keep interface route.**{*;}
-dontwarn com.reyun.**
-dontwarn org.json.**
-keep class org.json.**{*;}
# Google lib库
-keep class com.google.android.gms.ads.identifier.AdvertisingIdClient {
com.google.android.gms.ads.identifier.AdvertisingIdClient$Info getAdvertisingIdInfo(android.content.Context);
}
-keep class com.google.android.gms.ads.identifier.AdvertisingIdClient$Info {
java.lang.String getId();
boolean isLimitAdTrackingEnabled();
}
-keep public class com.android.installreferrer.** { *; }
# 如果使用到了获取oaid插件,请添加以下混淆策略
-keep class com.huawei.hms.**{*;}
-keep class com.hihonor.**{*;}
iOS 配置
支持Xcode版本:14.0或更高
适用范围:适用于 iOS 11.0 及以上的操作系统。
1、导出iOS 原生项目
在CocosCreator 编辑中 顶部 项目->构建发布 选择iOS 平台,点击构建后会生成一个iOS 原生项目
2、添加SolarEngine iOS SDK 依赖
找到 /native/engine/ios/ 目录,把下载好的SolarEngineSDK iOS 相关的文件放在/native/engine/ios/中
native/engine/ios/CMakeLists.txt 中添加如下代码
// 找到这行
set(CC_ALL_SOURCES)
// 添加
list(APPEND CC_PROJ_SOURCES
${CMAKE_CURRENT_LIST_DIR}/SolarEngineSDK/iOS/SECocosCreatorProxyApi.h
${CMAKE_CURRENT_LIST_DIR}/SolarEngineSDK/iOS/SECocosCreatorProxyApi.mm
)
if(IOS)
# Supported for .framework
cs_neteaseyidun_append_string_property(${CC_TARGET_NAME} XCODE_ATTRIBUTE_FRAMEWORK_SEARCH_PATHS ${CMAKE_CURRENT_LIST_DIR}/SolarEngineSDK/iOS/Frameworks)
cs_neteaseyidun_append_string_property(${CC_TARGET_NAME} XCODE_ATTRIBUTE_OTHER_LDFLAGS "-ObjC -fprofile-instr-generate -lz -lc++")
target_link_libraries(${CC_TARGET_NAME} "-framework SolarEngineSDK")
target_link_libraries(${CC_TARGET_NAME} "-framework SESDKRemoteConfig")
target_link_libraries(${CC_TARGET_NAME} "-framework AdSupport")
target_link_libraries(${CC_TARGET_NAME} "-framework AdServices")
target_link_libraries(${CC_TARGET_NAME} "-framework Security")
target_link_libraries(${CC_TARGET_NAME} "-framework CoreTelephony")
endif()
if(IOS)
# Supported for link *.framework
function(cs_neteaseyidun_append_string_property target property value)
get_property(pre_value TARGET ${target} PROPERTY ${property})
list(APPEND pre_value " ${value}")
set_property(TARGET ${target} PROPERTY ${property} "${pre_value}")
endfunction()
endif()
第四步:预初始化
在应用安装后首次冷启动时,需要先预初始化 SDK,预初始化时 SDK 不采集任何个人信息也不会向热力引擎上报数据
import solarengine from './SEScript/SolarEngine.js'
// ./SEScript/SolarEngine.js 请改为SDK在您项目的实际目录
solarengine.preInitSDK(appkey)
第五步:初始化
SDK初始化参数
参数名称 | 参数含义 | 参数类型 | 是否必传 |
---|---|---|---|
appKey | 开发者在热力引擎后台申请的Appkey | string | 是 |
config | sdk初始化配置 | Object | 是 |
config
参数名称 | 参数含义 | 参数类型 | 是否必传 |
---|---|---|---|
logEnabled | 是否开启日志打印,默认为关闭状态 | boolean | 否 |
isGDPRArea | 是否为GDPR区域,默认为false | boolean | 否 |
adPersonalizationEnabled | 用户是否允许Google将其数据用于个性化广告,开发者自定义,不设置则默认不上报该字段,只有Android调用有效,iOS没有此字段,无需设置此字段 | boolen | 否 |
adUserDataEnabled | 用户是否同意将其数据发送到Google,开发者自定义,不设置则默认不上报该字段,只有Android调用有效,iOS没有此字段,无需设置此字段 | boolean | 否 |
fbAppID | 如果海外开发者需要用到meta归因,此处设置meta appid,只有Android调用有效,iOS没有此字段,无需设置此字段 | string | 否 |
attAuthorizationWaitingInterval | iOS首次上报事件支持设置ATT授权等待,最多支持等待120秒. 设置等待后SDK会等用户ATT授权或等待超时才上报Install等事件。 单位:秒。 Android 没有此字段 |
number | 否 |
isDebugModel | 是否开启Debug调试模式,默认为关闭状态 | boolean | 否 |
isCoppaEnabled | 是否支持coppa合规。默认为false | boolean | 否 |
isKidsAppEnabled | 是否支持Kids App。默认为false | boolean | 否 |
enableDelayDeeplink | 是否开启延迟deeplink, 默认为false | boolean | 否 |
remoteConfig | 在线参数初始化配置 | SEUniRemoteConfig | 否 |
remoteConfig参数说明(在线参数功能)
参数名称 | 参数含义 | 参数类型 | 是否必传 |
---|---|---|---|
enable | 是否启用在线参数SDK,默认为关闭状态,必传字段 | boolean | 否 |
mergeType |
SDK配置合并策略,默认情况下服务端配置跟本地缓存配置合并,具体释义参考下方参数解释,可选字段 0: app首次启动或版本更新时, 使用服务端配置跟用户默认配置合并,此方法可以清除本地缓存配置 1: 使用服务端配置跟用户本地已有缓存配置合并,在线参数SDK默认合并策略 |
number | 否 |
customIDEventProperties | 自定义ID事件属性值,跟用户在后台设置的使用自定义ID事件属性值匹配对应,可选字段 | object | 否 |
customIDUserProperties | 自定义ID用户属性值,跟用户在后台设置的使用自定义ID用户属性值匹配对应,可选字段 | object | 否 |
初始化示例
import solarengine from './SEScript/SolarEngine.js'
let appkey = ''
solarengine.initSDKCallback((code) => {
if (code == 0) {
console.log("init success ...")
} else {
console.log("init fail ...")
}
})
solarengine.preInitSDK(appkey)
let config = {
"logEnabled": true
};
solarengine.initSDK(appkey, config)
初始化回调 code 码:
0 | 初始化成功 |
101 | SDK未预初始化 |
102 | appkey非法 |
103 | context为null(仅Android生效) |
104 |
distinct_id生成失败(仅Android生效) |
获取归因回调信息
初始化时获取归因结果
SDK提供获取归因结果信息接口,开发者可使用归因信息做埋点等逻辑处理
SDK提供两种方式获取归因结果信息
1、设置归因结果回调:当SDK获取归因结果成功或者失败时会给出回调(此接口为异步回调)
2、直接获取归因结果:直接从SDK缓存中获取归因结果,SDK还没归因结果时直接返回nil(此接口为同步返回)
归因回调参数说明
监听归因结果示例代码:
归因errorCode 描述及 归因结果详情见:归因结果详情