菜单

快速集成

基本信息

SDK名称:热力引擎 Harmony SDK v1.2.0

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

SDK版本号:1.2.0

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

适用范围:适用于Harmony APILevel 12及以上版本,且仅支持 Stage 应用模型。

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

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

第一步:获取 Appkey

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

文章图片

 

第二步:导入 SDK

两种方式导入SDK

方式一:通过鸿蒙仓库导入SDK

进入工程entry目录,执行以下命令:

ohpm install @solarengine/core

 

方式二:通过本地har包导入SDK

1.下载SDK:SolarEngine Harmony SDK

2.将下载的SolarEngineCorex.x.x.har放入工程libs目录,执行以下命令:

//your_project_path/entry/libs/SolarEngineCorex.x.x.har是har包路径
ohpm install your_project_path/entry/libs/SolarEngineCorex.x.x.har

第三步:配置权限

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

ohos.permission.INTERNET//必须权限,允许应用发送网络请求。
ohos.permission.GET_NETWORK_INFO//必须权限,允许应用检测网络状态。
ohos.permission.APP_TRACKING_CONSENT//必须权限,允许应用获取oaid。注:须在获得此权限后再初始化sdk,如果缺少此权限,会影响设备归因
ohos.permission.STORE_PERSISTENT_DATA//必须权限,允许应用卸载时保留distinctid,用于设备归因。


第四步:配置混淆

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

-keep
./oh_modules/@solarengine/core

第五步:预初始化 SDK

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

请请确保用户同意《隐私政策》并且 SDK 预初始化成功后,再调用初始化函数正式初始化 SDK

方法示例

public static preInit(context: Context, appKey: string) 

参数说明

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

调用示例

import {SolarEngineManager} from '@solarengine/core'

SolarEngineManager.preInit(getContext(), appkey)

看到solar engine sdk preInit success! 代表预初始化成功了

第六步:初始化SDK

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

方法示例

public static async initialize(context: Context, appKey: string, config: SolarEngineConfig)

参数说明

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

SolarEngineConfig参数说明

方法名 参数类型 是否必填 说明
logEnabled void 是否开启本地调试日志,默认为false,不开启
enable2GReporting boolean 是否在2G网络时上报事件,默认为false,不上报
isDebugMode boolean 是否开启 Debug 模式,默认为false,不开启,使用前请查看功能说明
enableDeferredDeeplink boolean 否是启用延迟deeplink功能,默认为false,不开启

调用示例

import {SolarEngineManager,SolarEngineConfig, InitSDKListener } from '@solarengine/core'
  
let onInitListener: InitSDKListener = {
onInitComplete: (code: number) => {
  console.error(TAG, `初始化完成,返回码: ${code}`);
}
};
//设置SDK初始化回调
SolarEngineManager.setInitSDKListener(onInitListener);
//SDK初始化
SolarEngineManager.initialize(getContext(), "your_appkey");

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

初始化回调code码:

0 初始化成功
101 SDK未预初始化
102 appkey非法
103 context为空
104 数据库初始化失败
105 distinct_id生成失败

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

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

方式一:设置归因结果回调获取归因结果

注:请在SDK初始化前设置归因结果回调,因为SDK初始化时可能会立即给归因结果回调,在SDK初始化后设置可能会导致接收不到归因结果回调。

方法示例

public static setAttributionListener(attributionListener: AttributionListener) 

调用示例

import { SolarEngineManager, AttributionListener} from '@solarengine/core'

let attributionListener: AttributionListener = {
  onAttributionSuccess(attribution:Record<string, Object>) {
    //获取归因结果成功

  },
  onAttributionFailed(errorCode: number) {
    //获取归因结果失败
  }
};
//设置归因回调监听
SolarEngineManager.setAttributionListener(attributionListener);
//初始化SDK
SolarEngineManager.initialize(getContext(),"开发者申请的appkey");

方式二:直接获取归因结果

直接获取归因结果的方法返回的是本地缓存,如果本地缓存还未生成,那么归因结果将会为 {}

方法示例

public static getAttribution(): Record<string, Object>

返回值:返回归因结果信息,如无则返回默认值:   {}

调用示例

import { SolarEngineManager} from '@solarengine/core'

let attribution = SolarEngineManager.getAttribution();

 

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

最近修改: 2025-07-07Powered by