菜单

快速集成

基本信息

SDK名称:热力引擎 Android SDK v1.3.1.0

开发者名称:汇量云(北京)科技有限公司

SDK版本号:1.3.1.0

主要功能:热力引擎是一站式增长分析与发行决策平台,致力于帮助开发者搭建便捷、高效的数据管理中台,洞察业务运营全链路数据,制定更优增长决策。热力引擎支持全球全渠道数据管理,帮助开发者实现归因分析、用户粒度 ROI 分析,能有效衡量渠道价值,为投放和变现策略调优提供全方位数据支持。同时,提供应用内埋点及参数管理,配合多种分析模型与 AB 测试功能,全面还原用户全生命周期旅程,挖掘用户需求及业务增长点,快速验证并推行产品迭代优化,为开发者提升业务运营效率,实现规模化增长赋能。

适用范围:适用于Android 5.0(APILevel 21)及以上的操作系统。

隐私政策链接: https://www.solar-engine.com/privacyPolicy.html

合规指南:详见本页面底部合规指南内容。

第一步:获取 Appkey

Appkey 查询路径:资产管理-应用管理-16位 Appkey(即应用 ID)。

文章图片

 

第二步:获取 SDK

此方法不适用上架传音应用商店,如需上架传音应用商店请联系运营

1. maven 仓库配置

需要在项目根目录的 build.gradle 文件中添加 maven 仓库配置,具体配置如下:

repositories {
   google()
   jcenter()
   mavenCentral()

   //SE 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 仓库地址。

2. 根据创建产品时选择的数据存储区域使用对应的配置

采用 gradle 的集成方式,请将下方代码添加到 project 的 build.gradle 中。

2.1 中国大陆,请使用

implementation 'com.reyun.solar.engine.china:solar-engine-core:1.3.1.0'

2.2 非中国大陆,请使用

implementation 'com.reyun.solar.engine.oversea:solar-engine-core:1.3.1.0'

SDK Demo下载地址

如果您集成 SDK 之后编译过程出现形如 com.hihonor.ads.identifier.AdvertisingIdClient$Info is defined multiple times 的错误,请将华为和荣耀的 OAID 库 exclude 掉:

implementation 'com.reyun.solar.engine.china:solar-engine-core:1.3.1.0

{

    exclude group: 'com.huawei.hms', module: 'ads-identifier'

    exclude group: 'com.hihonor.mcs', module: 'ads-identifier'

}

 

第三步:配置 AndroidManifest

在项目中找到项目配置文件 AndroidManifest.xml,加入如下权限:

//网络相关权限(必选)
<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" />

//IMEI相关权限(可选)
<uses-permission android:name="android.permission.READ_PHONE_STATE" />


注:android.permission.READ_PHONE_STATE 为非必要权限,如您根据自身需要选择收集用户IMEI且 Android 系统版本在 6.0 以上,则您需要先行向用户动态申请此权限并取得客户授权同意。

 

如果打包时需要增加混淆,请将下方代码增加到混淆配置文件中

-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.**{*;}

第四步:初始化 SDK

在应用启动时需要先初始化 SDK,初始化时 SDK 不采集任何个人信息也不会向热力引擎上报数据,

请确保用户同意《隐私政策》后再使用其他方法

方法示例

public synchronized void preInit(Context context, String appKey)

参数说明

参数名称 参数含义 参数类型 是否必传
context 应用程序上下文对象 Context
appKey 第一步获取的 Appkey String

调用示例

import com.reyun.solar.engine.SolarEngineManager;

SolarEngineManager.getInstance().preInit(context, "第一步获取的 Appkey");

如果开启了本地调试日志,看到 solar engine sdk preInit success 代表初始化成功了

第五步:配置 SDK(可选)

此方法返回的 config 配置作为可选参数,如未设置则为默认值

方法示例

SolarEngineConfig config = new SolarEngineConfig.Builder()
.logEnabled()   //开启本地调试日志
.build();

调用示例

import com.reyun.solar.engine.SolarEngineConfig; 

SolarEngineConfig config = new SolarEngineConfig.Builder() 
.logEnabled()
.build();

配置说明:

方法名 参数类型 是否必填 说明
logEnabled void 是否开启本地调试日志,默认为不开启
enable2GReporting boolean 是否在2G网络时上报事件,默认为不上报
isDebugModel boolean 是否开启 Debug 模式,默认为不开启,使用前请查看功能说明
isGDPRArea boolean 如果你的应用在欧盟地区运营,则需要符合欧盟隐私保护法律的规定(关于GDPR),请务必在用户拒绝采集设备敏感信息时设置 isGDPRArea(true) ,默认为采集
adPersonalizationEnabled boolean 如果你的应用在欧盟地区运营并且在Google投放您的应用,请务必将用户是否允许Google将其数据用于个性化广告的意见结果传入该属性,以确保您符合Google对欧盟用户意见征求政策的新政策
adUserDataEnabled boolean 如果你的应用在欧盟地区运营并且在Google投放您的应用,请务必将用户是否同意将其数据发送到Google的意见结果传入该属性,以确保您符合Google对欧盟用户意见征求政策的新政策
setCoppaEnabled boolean 如果您的应用需要符合《儿童在线隐私权保护法》(COPPA) 规定,设置 setCoppaEnabled = true
setKidsAppEnabled boolean 如果您的应用会定向到不满 13 周岁的儿童,则需要将其标记为儿童应用 (Kids App),设置 setKidsAppEnabled = true
setFbAppID
String 如果海外开发者需要用到meta归因,此处设置meta appid
enableDeferredDeeplink
boolean boolean 是否启用延迟deeplink功能,默认为FALSE
supportMultiProcess
boolean

是否启用多进程支持,默认为 false,即不启用。该功能从 v_1.2.9.4 版本开始支持,如需使用多进程的能力,请升级 SDK 到 v_1.2.9.4 及后续版本。

如果设置改属性为 true,请参阅 配置多进程

isOAIDEnabled

boolean

是否允许采集 OAID ,不采集配置为 false

isImeiEnabled

boolean

是否允许采集 IMEI ,不采集配置为 false

isAndroidIDEnabled

boolean

是否允许采集 AndroidID ,不采集配置为 false

enableIPV6Address
boolean

是否采集ipv6地址,默认为true(仅中国大陆支持)

withDisableOAIDRetry

boolean

是否禁用 OAID 获取重试,默认为 false

withDisableGAIDRetry

boolean

是否禁用 GAID 获取重试,默认为 false

第六步:使用 SDK

请在 Application 的 onCreate() 中调用此方法。

必须保证此方法在热力引擎 SDK 其他方法之前成功调用,成功之前其他方法不生效(设置公共事件属性、设置channel、设置预置事件自定义属性方法除外)。

方法示例

public synchronized void initialize(Context context, String appKey, SolarEngineConfig config,OnInitializationCallback onInitializationCallback)

参数说明

参数名称 参数含义 参数类型 是否必传
context 应用程序上下文对象 Context
appKey 第一步获取的 Appkey String
config 配置项可以为空,如果为空则为默认值 SolarEngineConfig
OnInitializationCallback 回调 OnInitializationCallback

调用示例

import com.reyun.solar.engine.SolarEngineManager;
import com.reyun.solar.engine.SolarEngineConfig;
SolarEngineConfig config = new SolarEngineConfig.Builder().build(); 
SolarEngineManager.getInstance().initialize(context, "第一步获取的 Appkey",config, new OnInitializationCallback() {
     @Override
     public void onInitializationCompleted(int code) {
            if(code == 0) {
                 //成功
            } else {
                //失败,具体失败原因参考下方code码释义
            }
     }
});

如果开启了本地调试日志,看到 solar engine SDK init success 代表成功了

回调code码:

0 成功
101 SDK未初始化
102 appkey非法
103 context为null
104 distinct_id生成失败
105 初始化期间出现异常
 
 

第七步:获取归因回调信息

通过回调获取归因结果

方法示例

SolarEngineConfig config = new SolarEngineConfig.Builder().build();
config.setOnAttributionListener(new OnAttributionListener() {
        @Override
        public void onAttributionSuccess(JSONObject attribution) {
             //获取归因结果成功时执行的动作     
        }

        @Override
        public void onAttributionFail(int errorCode) {
            //获取归因结果失败时执行的动作
        }
   });

调用示例

import com.reyun.solar.engine.SolarEngineConfig;

SolarEngineConfig config = new SolarEngineConfig.Builder().build();
config.setOnAttributionListener(new OnAttributionListener() {
        @Override
        public void onAttributionSuccess(JSONObject attribution) {
             //获取归因结果成功时执行的动作  
        }

        @Override
        public void onAttributionFail(int errorCode) {
            //获取归因结果失败时执行的动作
        }
   });
  SolarEngineManager.getInstance().initialize(getApplicationContext(),"开发者申请的appkey",config)

注意:如果开发者通过回调方式获取归因信息,那么归因信息回调接口要与 initialize 方法绑定,否则会造成归因信息不准确,具体示例参考上方调用示例code

 

直接获取归因结果

除了可以在 initialize 时添加归因结果回调,也可以在之后调用 API 获取归因信息,需要注意的是直接获取归因结果的方法返回的是本地缓存,如果本地缓存还未生成,那么归因结果将会为null

方法示例

public JSONObject getAttribution();

返回值:返回归因结果信息,默认为null

调用示例

import com.reyun.solar.engine.SolarEngineManager;
import org.json.JSONObject;

JSONObject attribution = SolarEngineManager.getInstance().getAttribution();

 

归因errorCode 描述及 归因结果详情见:归因结果详情

最近修改: 2025-08-13Powered by