菜单

快速集成

基本信息

SDK名称:热力引擎 Cocos2d-x SDK v1.0.0

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

SDK版本号:1.0.0

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

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

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

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

第一步:获取 Appkey

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

文章图片

第二步:获取 SDK

如果您创建的产品数据存储区域是中国大陆,请下载:  SolarEngineSDK-Cocos2dx-CN-1.0.0

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

 

第三步:集成 SDK

 

集成SolarEngineSDK

把下载好的SolarEngineSDK整个目录放入 Classes/ 目录下

 

配置CMakeLists

在 CMakeLists.txt 中加入以下配置

list(APPEND GAME_SOURCE
     Classes/SolarEngineSDK/Common/SEJSONObject.cpp
     )
list(APPEND GAME_HEADER
     Classes/SolarEngineSDK/Common/SEJSONObject.h
     Classes/SolarEngineSDK/Common/SolarEngineAPI.h
     )
if(ANDROID)
    list(APPEND GAME_SOURCE
         Classes/SolarEngineSDK/Android/SolarEngineAPI.cpp
         )
elseif(APPLE)
    if(IOS)
        list(APPEND GAME_HEADER
             Classes/SolarEngineSDK/Common/SolarEngineAPI.h
             )
        list(APPEND GAME_SOURCE
             Classes/SolarEngineSDK/iOS/SolarEngineAPI.mm
             )
    endif()
endif()

if(APPLE)
    elseif(IOS)
        set_xcode_property(${APP_NAME} OTHER_LDFLAGS "$(inherited) -ObjC")
    endif()
endif()

 

Android 配置

 

添加SDK所需依赖框架:

1、导出Android 原生项目

LayaAir 编辑中 顶部 文件->构建发布 选择Android 平台,点击构建后会生成一个Android 原生项目

2、添加SolarEngine Android SDK 依赖

使用Android Studio 打开刚才导出的Android 项目编译(确认编译没问题)

maven 仓库配置

需要在项目根目录的 build.gradle 文件中添加 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/" }
        maven { url 'https://artifact.bytedance.com/repository/pangle'}
    }
}

 

请将下方代码添加到 project 的 build.gradle 中

 中国大陆,请使用大陆版SDK

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

 非中国大陆,请使用海外版SDK

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

 

3、添加SolarEngine Android SDK Cocos2d-x Wrapper 文件

把下载好的SolarEngineSDK/Android/com/solar/engine/SolarEngineCocosAPI.java文件放在项目的proj.android/app/src/目录下

注:/com/solar/engine/SolarEngineCocosAPI.java 整个目录文档一起放

 

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

-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 项目

2 把 iOS SDK 添加到Cocos2d-x Xcode项目中

点击Finish

 

添加 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 不采集任何个人信息也不会向热力引擎上报数据

 

#include "./SolarEngineSDK/Common/SolarEngineAPI.h"
#include "./SolarEngineSDK/Common/SEJSONObject.h"
// Classes/SolarEngineSDK/Common/SolarEngineAPI.h 对应此文件

SolarEngineAPI::preInit(seAppKey);

 

第五步:初始化

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

 

初始化示例

#include "./SolarEngineSDK/Common/SolarEngineAPI.h"
// Classes/SolarEngineSDK/Common/SolarEngineAPI.h 对应此文件

// 监听初始化回调
SolarEngineAPI::setInitCallback([this](int resultCode) {
    if (resultCode == 0) {
        CCLOG("SolarEngine SDK InitCallback success");
    } else {
        CCLOG("SolarEngine SDK InitCallback fail,code: %d", resultCode);
    }
});


SECConfig config;
config.enableLog = true; // 开启调试日志
SolarEngineAPI::init(seAppKey, config);

 

初始化回调 code 码:

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

distinct_id生成失败(仅Android生效)

 

获取归因回调信息

 

初始化时获取归因结果

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

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

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

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

 

监听归因结果示例代码:


SolarEngineAPI::setAttributionDataCallback([this](const AttributionData &attr) {
      if (attr.code == 0) {
          CCLOG("[SE] AttributionData: success , install_time=%s, channel_name=%s, origin_data_str=%s",
                attr.code, attr.install_time.c_str(), attr.channel_name.c_str(),
                attr.origin_data_str.c_str());
      } else {
          CCLOG("[SE] AttributionData: fail code=%d",
                attr.code);
      }
    
});

SECConfig config;
config.enableLog = true; // 开启调试日志
SolarEngineAPI::init(seAppKey, config);

 

直接获取归因结果


AttributionData attr = SolarEngineAPI::getAttributionData();
if (attr.code == 0) {
    CCLOG("[SE] AttributionData: success , install_time=%s, channel_name=%s, origin_data_str=%s",
          attr.code, attr.install_time.c_str(), attr.channel_name.c_str(),
          attr.origin_data_str.c_str());
} else if (attr.code == -1) {
     // 还未获取到归因数据
    CCLOG("[SE] AttributionData: not data .");
} else {
    CCLOG("[SE] AttributionData: fail code=%d",attr.code);
}

  

归因结果示例

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

 

 

 

最近修改: 2025-09-23Powered by