菜单

快速集成

基本信息

SDK名称:热力引擎 uni-app SDK v1.1.5

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

SDK版本号:1.1.5

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

适用范围:适用于Android5.0(APILevel21)及以上的操作系统。

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

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

第一步:获取 Appkey

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

文章图片

第二步:获取 SDK

如果您创建的产品数据存储区域是中国大陆,请下载

https://solar-sdk.oss-cn-beijing.aliyuncs.com/uniapp/SolarEngine-UniPlugin-App-cn-1.1.5.zip

如果您创建的产品数据存储区域是非中国大陆,请下载

https://solar-sdk.oss-cn-beijing.aliyuncs.com/uniapp/SolarEngine-UniPlugin-App-us-1.1.5.zip

获取Demo

https://solar-sdk.oss-cn-beijing.aliyuncs.com/uniapp/SolarEngine-UniPlugin-App-Demo.zip

 

第三步:集成 SDK

Android 配置

添加SDK所需依赖框架:

1.将第二步获取到的SDK压缩包解压,并将压缩包中的aar文件放入到HBuilder工程中的nativeplugins目录下,如果没有此目录,请点击创建nativeplugins目录,如下图所示

2.如果您是海外开发者请将SolarEngine-UniPlugin-App->Android目录下的aar文件以及SolarEngine-UniPlugin-App目录下package.json文件拷贝到第一步创建的nativeplugins目录下即可,以下是各个aar文件具体用途,请根据需求选择使用:

  • se-plugin-meta-installReferrer-1.x.x.x.aar(用于meta归因,必须集成,否则SDK无法正常运行)
  • solar-engine-core-us-1.x.x.x.aar(主sdk,必须集成,否则SDK无法正常运行)、
  • SolarEngine-UniPlugin-App.aar(uniapp SDK,必须集成,否则SDK无法正常运行)
  • solar-remote-config-us-1.x.x.x.aar(在线参数/ABTest SDK,选择集成,如果不使用在线参数模块不需要集成)
  • se_oaid_lib中的aar文件(只针对有使用oaid功能的海外开发者,其他海外开发者如果不需要使用oaid功能不需要集成此包中的aar文件)

3.如果您是国内开发者请将SolarEngine-UniPlugin-App->Android目录下的aar文件以及SolarEngine-UniPlugin-App目录下的package.json文件拷贝到第一步创建的nativeplugins目录下即可,以下是各个aar文件具体用途,请根据自己开发需求选择使用:

  • solar-engine-core-cn-1.x.x.x.aar(主sdk,必须集成,否则SDK无法正常运行)、
  • SolarEngine-UniPlugin-App.aar(uniapp SDK,必须集成,否则SDK无法正常运行)
  • solar-remote-config-cn-1.x.x.x.aar(在线参数/ABTest SDK,选择集成,如果不使用在线参数模块不需要集成)
  • se-plugin-oaid-1.x.x.x.aar(oaid插件,国内开发者必须集成,否则SDK无法正常运行)
  • com.hihonor.mcs-ads-identifier-1.0.2.301.aar(获取荣耀oaid使用,必须集成,否则影响荣耀机型客户数据)
  • com.huawei.hms-ads-identifier-3.4.62.300.aar(获取华为oaid使用,必须集成,否则影响华为机型客户数据)

最终目录如下图所示:

1.国内版目录

2.海外版目录

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

-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 及以上的操作系统

添加SDK所需依赖框架

  • 使用 Security.framework 来存储设备标识
  • 使用 CoreTelephony.framework 来获取运营商信息
  • 使用 AdSupport.framework 来获取 Advertising Identifier 信息
  • 使用 SystemConfiguration.framework 来检查当前网络环境
  • 使用 libsqlite3.dylib 用来存储数据
  • 使用 AdServices.framework 获取广告归因数据

添加方法:

在工程目录中,选择 TARGETS-->Build Phases-->Link Binary With Libraries-->+ -->选择 Security.framework、SystemConfiguration.framework、CoreTelephony.framework、AdSupport.framework、libsqlite3.dylib 、AdServices.framework等库文件。

UnityFramework Target中添加-Objc参数,否则SDK初始化失败

添加方式: TARGETS -> UnityFramework -> Build Settings -> Other liner flags -> -Objc

新版 Xcode .dylib 以 .tbd 为后缀,添加对应动态库。

注:

1.如上动态库请全部配置,避免报错。
2.Xcode 7 及以上版本,.dylib后缀结尾的系统库均更改为.tbd 后缀结尾。

 

第四步:预初始化

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

 

const solarengine = uni.requireNativePlugin('SolarEngine-UniPlugin-App');
solarengine.preInitSDK(appkey);

 

第五步:初始化

SDK初始化参数

参数名称 参数含义 参数类型 是否必传
appKey 开发者在热力引擎后台申请的Appkey string
config sdk初始化配置 object
initCallbackCode 初始化回调 callback(number)
attrCallback 归因回调 callback(object)

 

config中需要传一个app字段,参数说明如下(app内的都为Native iOS&Android参数)

参数名称 参数含义 参数类型 是否必传
logEnabled 是否开启日志打印,默认为关闭状态 boolean
isGDPRArea 是否为GDPR区域,默认为false boolean
adPersonalizationEnabled 用户是否允许Google将其数据用于个性化广告,开发者自定义,不设置则默认不上报该字段,只有Android调用有效,iOS没有此字段,无需设置此字段 boolen
adUserDataEnabled 用户是否同意将其数据发送到Google,开发者自定义,不设置则默认不上报该字段,只有Android调用有效,iOS没有此字段,无需设置此字段 boolean
isDebugModel 是否开启Debug调试模式,默认为关闭状态 boolean
isCoppaEnabled 是否支持coppa合规。默认为false boolean
isKidsAppEnabled 是否支持Kids App。默认为false boolean
ios iOS端独有参数 object
remoteConfig 在线参数初始化配置 object

 

iOS 参数说明

参数名称 参数含义 参数类型 是否必传
attAuthorizationWaitingInterval iOS首次上报事件支持设置ATT授权等待,最多支持等待120秒. 设置等待后SDK会等用户ATT授权或等待超时才上报Install等事件。
单位:秒
number

remoteConfig参数说明(在线参数功能)

参数名称 参数含义 参数类型 是否必传
logEnabled 是否开启日志打印,默认为关闭状态 boolean
enable 是否启用在线参数SDK,默认为关闭状态,必传字段 boolean
mergeType

SDK配置合并策略,默认情况下服务端配置跟本地缓存配置合并,具体释义参考下方参数解释,可选字段

0: app首次启动或版本更新时, 使用服务端配置跟用户默认配置合并,此方法可以清除本地缓存配置

1: 使用服务端配置跟用户本地已有缓存配置合并,在线参数SDK默认合并策略

number
customIDProperties 自定义ID,跟用户在后台设置的使用自定义ID匹配对应 object
customIDEventProperties 自定义ID事件属性值,跟用户在后台设置的使用自定义ID事件属性值匹配对应,可选字段 object
customIDUserProperties 自定义ID用户属性值,跟用户在后台设置的使用自定义ID用户属性值匹配对应,可选字段 object

 

初始化示例

solarengine.initSDK(
	appkey,
	{
		app:{  
			logEnabled: true,  
		}  
	},
	(initCallbackCode) => {
		if (initCallbackCode == 0) {
			console.log("[SEUni-App] 初始化成功")
		} else {
			console.log("[SEUni-App] 初始化失败")
		}
	},null
);



// 把solarengine挂在到全局,以便其他页面使用
globalThis.solarengine = solarengine;

 

初始化回调 code 码:

0 初始化成功
101 SDK未预初始化
102 appkey非法
103 context为null(仅Android生效)
104

distinct_id生成失败(仅Android生效)

 

获取归因回调信息

 

初始化时获取归因结果

SDK提供获取归因结果信息接口,开发者可使用归因信息做埋点等逻辑处理

SDK提供两种方式获取归因结果信息

1、设置归因结果回调:当SDK获取归因结果成功或者失败时会给出回调(此接口为异步回调)

2、直接获取归因结果:直接从SDK缓存中获取归因结果,SDK还没归因结果时直接返回nil(此接口为同步返回)

 

监听归因结果示例代码:

solarengine.initSDK(
	appkey,
	{
		app:{  
			logEnabled: true,  
			isGDPRArea: false, 
			isCoppaEnabled: false,
			isKidsAppEnabled: false,
			isDebugModel: false, 	
		}  
	},
	(initCallbackCode) => {
		if (initCallbackCode == 0) {
			console.log("[SEUni-App] 初始化成功")
		} else {
			console.log("[SEUni-App] 初始化失败")
		}
	},
	(attrCallback) => {
		let code = attrCallback["code"]
		if (code == 0) {
			console.log("[SEUni-App] 归因成功")	
			let result = attrCallback["result"]				
			console.log(result)					
		} else {
			console.log("[SEUni-App] 归因失败")
			console.log(code)
		}
	});

 

直接获取归因结果

const attribution = globalThis.solarengine.getAttribution();
console.log("[SEUni-App] attribution = ",attribution);				

 

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

最近修改: 2025-03-11Powered by