基本信息
SDK名称:热力引擎 Corona 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
如果您创建的产品数据存储区域是中国大陆,请下载: solarengine_corona_sdk_cn_v1.0.1.zip
如果您创建的产品数据存储区域是非中国大陆,请下载: solarengine_corona_sdk_us_v1.0.1.zip
第三步:集成 SDK
下载好的SolarEngineSDK 有三部分:Android、iOS、Corona
- Android:
- SEPluginProxy.java
- SELuaLoader.java
- iOS
- SEPluginLibrary.h
- SEPluginLibrary.mm
- SolarEngineSDK.xcframework
- Corona
- SolarEngineSDK.lua
3.1 添加 Corona 配置
将SolarEngineSDK.lua 复制到 Corona 目录
3.2 添加 Android配置
复制 android/SEPluginProxy.java 到 android/plugin/src/main/java/plugin/library 目录
复制 android/SELuaLoader.java 到 android/plugin/src/main/java/plugin/library 目录
3.2.1 添加代码
android/plugin/src/main/java/plugin/library/LuaLoader.jave
invoke方法中添加代码
SELuaLoader selLoader = new SELuaLoader();
selLoader.invoke(L);
3.2.2 添加SolarEngine Android SDK 依赖
maven 仓库配置
allprojects {
repositories {
google()
jcenter()
// SolarEngine SDK仓库地址
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/" }
}
}
需要注意的是,根目录的 build.gradle 中 buildscript 和 allprojects 下的 repositories 都需要配置 Maven 仓库地址。

请将下方代码添加到 plugin 的 build.gradle 中
中国大陆,请使用大陆版SDK
implementation 'com.reyun.solar.engine.china:solar-engine-core:1.3.1.1'
implementation 'com.reyun.solar.engine.china:solar-remote-config:1.3.1.1'
非中国大陆,请使用海外版SDK
implementation 'com.reyun.solar.engine.oversea:solar-engine-core:1.3.1.1'
implementation 'com.reyun.solar.engine.oversea:solar-remote-config:1.3.1.1'

如果打包时需要增加混淆,请将下方代码增加到混淆配置文件中
-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.**{*;}
3.3 添加 iOS 配置
用 Xcode 打开 ios 项目,添加SEPluginLibrary.h、SEPluginLibrary.mm、SolarEngineSDK.xcframework文件到ios项目中
- 支持Xcode版本:14.0或更高
- 适用范围:适用于 iOS 11.0 及以上的操作系统。
添加 SDK 所需依赖框架
使用 Security.framework 来存储设备标识
使用 CoreTelephony.framework 来获取运营商信息
使用 AdSupport.framework 来获取 Advertising Identifier 信息
使用 SystemConfiguration.framework 来检查当前网络环境
使用 libsqlite3.dylib 用来存储数据
使用 AdServices.framework 获取广告归因数据
(如果需要使用 ASA 归因,务必添加 AdServices.framework 依赖,否则无法获取归因结果)
添加方法:
在工程目录中,选择 TARGETS-->Build Phases-->Link Binary With Libraries-->+ -->选择 Security.framework、CoreTelephony.framework、AdSupport.framework、SystemConfiguration.framework、libsqlite3.tbd、AdServices.framework等库文件。
第四步:预初始化
在应用安装后首次冷启动时,需要先预初始化 SDK,预初始化时 SDK 不采集任何个人信息也不会向热力引擎上报数据
local SolarEngineSDK = require("SolarEngineSDK")
SolarEngineSDK.preInit(seAppKey)
第五步:初始化配置(可选)
本配置类用于初始化 SDK 时,对服务能力与数据采集行为进行精细化控制,分为核心功能开关、辅助功能开关、数据采集开关三类参数。
此方法返回的 config 配置作为可选参数,如未设置则为默认值
local config = {}
config.logEnabled=true
一、核心功能开关配置
| 方法名 | 参数类型 | 是否必填 | 说明 | 示例 |
| enableAttribution | bool | 否 | 是否开启归因服务,默认开启。关闭后将停用全部归因相关能力,无法获取归因结果、延迟deeplink、deeplink等相关服务;若同时关闭分析服务,SDK 将停止上报所有数据。 | config.enableAttribution=true; |
| enableAnalytics | bool | 否 | 是否开启分析服务,默认开启。关闭后 A/B 测试、在线参数等所有分析类功能均无法使用;若同时关闭归因服务,SDK 将不再上报任何数据。 | config.enableAnalytics=true; |
二、辅助功能开关
控制 SDK 的运行模式、调试日志、网络策略、授权等待、辅助功能(如延迟 Deeplink)等非核心业务的运行行为。
| 方法名 | 参数类型 | 是否必填 | 说明 | 示例 |
| logEnabled | boolean | 否 | 是否开启本地调试日志,默认为 false,不开启。 | config.logEnabled = true |
| isDebugModel | boolean | 否 | 是否开启 Debug 模式,默认为 false,不开启,使用前请查看功能说明。 | config.isDebugModel = true |
| enable2GReporting | boolean | 否 | 是否在 2G 网络时上报事件,默认为 false,不上报。 | config.enable2GReporting = true |
| isGDPRArea | boolean | 否 | 是否设置为 GDPR 区域。欧盟运营需符合 GDPR,用户拒绝采集敏感信息时设 true,默认采集(false)。 | config.isGDPRArea = true |
| isCoppaEnabled | boolean | 否 | 是否支持《儿童在线隐私权保护法》(COPPA)。符合 COPPA 规定时设 true,默认 false。 | config.isCoppaEnabled = true |
| isKidsAppEnabled | boolean | 否 | 是否标记为儿童应用 (Kids App)。定向儿童应用时设 true,默认 false。 | config.isKidsAppEnabled = true |
| enableDeferredDeeplink | boolean | 否 | 是否启用延迟 deeplink 功能,默认为 false,不开启。 | config.enableDeferredDeeplink = true |
| attAuthorizationWaitingInterval | number | 否 | ATT 授权等待秒数(最多 120 秒),用于首次上报事件。默认 0 | config.attAuthorizationWaitingInterval = 30 |
| fbAppId | string | 否 | 海外 Meta 归因所需 Meta AppID | config.fbAppId = "your_meta_appid" |
| adPersonalizationEnabled | boolean | 否 | 欧盟 Google 投放时,传入用户是否允许 Google 将其数据用于个性化广告的意见结果 | config.adPersonalizationEnabled = true |
| adUserDataEnabled | boolean | 否 | 欧盟 Google 投放时,传入用户是否同意将其数据发送到 Google 的意见结果 | config.adUserDataEnabled = true |
| supportMultiProcess | boolean | 否 | 是否启用多进程支持,默认 false | config.supportMultiProcess = true |
| remoteConfig | table | 否 | 在线参数初始化配置 | config.remoteConfig={} |
remoteConfig参数说明(在线参数功能)
| 参数名称 | 参数含义 | 参数类型 | 是否必传 |
|---|---|---|---|
| enable | 是否启用在线参数SDK,默认为关闭状态,必传字段 | boolean | 否 |
| mergeType |
SDK配置合并策略,默认情况下服务端配置跟本地缓存配置合并,具体释义参考下方参数解释,可选字段 0: app首次启动或版本更新时, 使用服务端配置跟用户默认配置合并,此方法可以清除本地缓存配置 1: 使用服务端配置跟用户本地已有缓存配置合并,在线参数SDK默认合并策略 |
int | 否 |
|
customIDProperties |
自定义ID,跟用户在后台设置的使用自定义ID匹配对应 | table | 否 |
| customIDEventProperties | 自定义ID事件属性值,跟用户在后台设置的使用自定义ID事件属性值匹配对应,可选字段 | table | 否 |
| customIDUserProperties | 自定义ID用户属性值,跟用户在后台设置的使用自定义ID用户属性值匹配对应,可选字段 | table | 否 |
三、数据采集开关
控制ipv6、OAID、UA等参数等数据是否采集。注:关闭对应数据采集参数后,将会影响归因、分析模块的数据能力,您将无法在热力引擎后台正常使用相关功能
| 方法名 | 参数类型 | 是否必填 | 说明 | 示例 |
| enableIPV6 | boolean | 否 | 是否采集 ipv6 地址,不采集设置为 false,默认 true(采集)。 | config.enableIPV6 = true |
| enableLanguage | boolean | 否 | 是否采集设备语言,不采集设置为 false,默认 true(采集) | config.enableLanguage = true |
| enableTimeZone | boolean | 否 | 是否采集设备所在时区,不采集设置为 false,默认 true(采集) | config.enableTimeZone = true |
| enableScreenWH | boolean | 否 | 是否采集屏幕宽度 / 屏幕高度,不采集设置为 false,默认 true(采集) | config.enableScreenWH = true |
| enableDensity | boolean | 否 | 是否采集屏幕密度,不采集设置为 false,默认 true(采集) | config.enableDensity = true |
| enableNetworkType | boolean | 否 | 是否采集网络状态,不采集设置为 false,默认 true(采集) | config.enableNetworkType = true |
| enableUA | boolean | 否 | 是否采集 UA,不采集设置为 false,默认 true(采集) | config.enableUA = true |
| enableLocale | boolean | 否 | 是否采集设备所在地区,不采集设置为 false,默认 true(采集) | config.enableLocale = true |
| enableOAID | boolean | 否 | 是否采集 OAID,不采集设置为 false,默认 true(采集) | config.enableOAID = true |
| isImeiEnabled | boolean | 否 | 是否允许采集 IMEI,不采集配 false,默认 true(采集) | config.isImeiEnabled = true |
| isAndroidIdEnabled | boolean | 否 | 是否允许采集 AndroidID,不采集配 false,默认 true(采集) | config.isAndroidIdEnabled = true |
第六步:初始化
SDK初始化参数
| 参数名称 | 参数含义 | 参数类型 | 是否必传 |
|---|---|---|---|
| config | sdk初始化配置 | table | 是 |
初始化示例
local SolarEngineSDK = require("SolarEngineSDK")
-- 设置 SolarEngine 初始化回调
SolarEngineSDK.setInitCallback(function(code)
if code == 0 then
print("[SolarEngineSDK] 初始化成功")
else
print("[SolarEngineSDK] 初始化失败,错误码:", code)
end
end)
SolarEngineSDK.initWithConfig({
appKey = "您的 AppKey",
logEnabled = true
})
初始化回调 code 码:
| 0 | 初始化成功 |
| 101 | SDK未预初始化 |
| 102 | appkey非法 |
| 103 | context为null(仅Android生效) |
| 104 |
distinct_id生成失败(仅Android生效) |
获取归因回调信息
初始化时获取归因结果
SDK提供获取归因结果信息接口,开发者可使用归因信息做埋点等逻辑处理
SDK提供两种方式获取归因结果信息
1、设置归因结果回调:当SDK获取归因结果成功或者失败时会给出回调(此接口为异步回调)
2、直接获取归因结果:直接从SDK缓存中获取归因结果,SDK还没归因结果时直接返回nil(此接口为同步返回)
监听归因结果示例代码:
归因errorCode 描述及 归因结果详情见:归因结果详情