基本信息
SDK名称:热力引擎 LayaAir 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-LayaAir-CN-1.0.1
如果您创建的产品数据存储区域是非中国大陆,请下载: SolarEngineSDK-LayaAir-VG-1.0.1
SDK Demo 下载地址: SolarEngineSDK-LayaAir-Demo
下载SDK后需要做以下步骤才行运行Demo:
1、demo中的SDK非中国版SDK, 如果您是中国大陆的请使用上面 SolarEngineSDK-LayaAir-CN 替换掉Demo中的 SolarEngineSDK
2、LayaAir导出Android、iOS原生项目后把SolarEngineSDK放入到原生项目中并再次导出Android、iOS原生项目即可,具体操作见下面 《集成SDK》
第三步:集成 SDK
Android 配置
添加SDK所需依赖框架:
1、导出Android 原生项目
在LayaAir 编辑中 顶部 文件->构建发布 选择Android 平台,点击构建后会生成一个Android 原生项目
2、添加SolarEngine Android SDK 依赖
使用Android Studio 打开刚才导出的Android 项目编译(确认编译没问题)
maven 仓库配置
需要在项目根目录的 build.gradle 文件中添加 maven 仓库配置,具体配置如下:
allprojects {
repositories {
google()
jcenter()
mavenCentral()
maven {
url 'https://artifact.bytedance.com/repository/pangle'
}
maven {
url "https://developer.huawei.com/repo/"
}
maven {
url "https://dl-maven-android.mintegral.com/repository/se_sdk_for_android/"
}
maven { url 'https://developer.hihonor.com/repo' }
flatDir {
dirs 'libs' // This way we can find the .aar files in libs folder
}
maven { url 'https://jitpack.io' }
maven {
url 'https://maven.google.com/'
name 'Google'
}
}
}
请将下方代码添加到 project 的 build.gradle 中
中国大陆,请使用大陆版SDK
implementation 'com.reyun.solar.engine.china:solar-engine-core:1.3.0.6'
implementation 'com.reyun.solar.engine.china:solar-remote-config:1.3.0.6'
非中国大陆,请使用海外版SDK
implementation 'com.reyun.solar.engine.oversea:solar-engine-core:1.3.0.6'
implementation 'com.reyun.solar.engine.oversea:solar-remote-config:1.3.0.6'
3、添加SolarEngine Android SDK LayaAir Wrapper 文件
把下载好的SolarEngineSDK/Android/SELayaProxyApi.java文件放在项目的/release/android/LayaProject3/app/src/main/java/demo目录下
如果打包时需要增加混淆,请将下方代码增加到混淆配置文件中
-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 原生项目
在LayaAir 编辑中 顶部 项目->构建发布 选择iOS 平台,点击构建后会生成一个iOS 原生项目
2、添加SolarEngine iOS SDK 依赖
2.1 找到release/ios/ios_project/LayaProject3/目录,把下载好的SolarEngineSDK iOS 相关的文件放在release/ios/ios_project/LayaProject3/ 中
2.1 把 iOS 目录添加到LayaProject3 XCode项目中
点击Finish
LayaProject3项目Build Setttings 中的Other Linker Flags添加-ObjC

第四步:预初始化
在应用安装后首次冷启动时,需要先预初始化 SDK,预初始化时 SDK 不采集任何个人信息也不会向热力引擎上报数据
import solarengine from './Script/SolarEngine.js'
// ./Script/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 './Script/SolarEngine.js'
let appkey = ''
solarengine.initSDKCallback((code: number) => {
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 描述及 归因结果详情见:归因结果详情