菜单

Android SDK

一、功能概述

应用的文案或者运营策略更新经常需要通过发版解决,为了减少开发者频繁更新应用版本,热力引擎推出参数下发功能,通过参数下发可以随时远程调整应用中的参数值实现应用内容更新

二、获取SDK

1.gradle

如果您是国内的开发者,请使用:

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

如果您是海外开发者,请使用:

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

注意:如果使用gradle方式拉取代码失败,需要在项目根目录的build.gradle文件中添加maven仓库配置,具体配置如下:

maven { 
        url "https://dl-maven-android.mintegral.com/repository/se_sdk_for_android/" 
}

注:参数下发SDK对外不区分AndroidX与Android Support版本

三、初始化

由于参数下发SDK属于热力引擎SDK的一个插件,所以参数下发SDK的初始化是依赖于热力引擎SDK的,具体参考客户端Android SDK集成文档。开发者可以通过热力引擎SDK的配置方法来控制是否启用参数下发SDK并使用参数下发SDK的相关功能,如果在调试过程中先初始化了热力引擎SDK,后增加了参数下发SDK,需要将调试设备的应用卸载重装


方法示例

RemoteConfig remoteConfig = new RemoteConfig(true, RemoteConfig.MergeType.WITH_CACHE, customIdProperties, customIDEventProperties, customIDUserProperties);
SolarEngineConfig.Builder config = new SolarEngineConfig.Builder()
.withRemoteConfig(remoteConfig);    //参数下发SDK参数配置
.build();

RemoteConfig参数介绍

参数名称参数含义参数类型是否必传
enable是否初始化参数下发SDK,默认为falseboolean
mergeType服务端跟SDK配置合并策略(具体含义参考下方解释)enum
customIDProperties自定义ID,跟用户在后台设置的使用自定义ID匹配JSONObject
customIDEventProperties自定义ID事件属性值,跟用户在后台设置的使用自定义ID事件属性值匹配JSONObject
customIDUserProperties自定义ID用户属性值,跟用户在后台设置的使用自定义ID用户属性值匹配JSONObject

mergeType(合并策略)介绍

参数名称参数含义
MergeType.WITH_USERapp首次启动或版本更新时, 使用服务端配置跟用户默认配置合并,此方法可以清除本地缓存配置
MergeType.WITH_CACHE使用服务端配置跟用户本地已有缓存配置合并,参数下发SDK默认合并策略

注:开发者使用参数下发SDK需要通过API预置一份默认配置配置到App中,SDK使用该默认配置用来兜底


四、设置默认配置

参数下发SDK需要开发者预置一份默认配置到用户app中,方便参数下发SDK使用此默认配置进行兜底操作。


方法示例

public synchronized void setRemoteDefaultConfig(JSONArray defaultConfig);

参数相关

参数名称参数含义参数类型是否必传
defaultConfig开发者传入的默认配置JSONArray

调用示例

import com.reyun.remote.config.RemoteConfigManager;

JSONArray dcJsonArray = new JSONArray();
JSONObject defaultConfigO = new JSONObject();
defaultConfigO.put("name", "key1");
defaultConfigO.put("value", "value1");
defaultConfigO.put("type", 1);// 1 string、2 integer、3 boolean、4 json
dcJsonArray.put(defaultConfigO);
JSONObject defaultConfigT = new JSONObject();
defaultConfigT.put("name", "key2");
defaultConfigT.put("value", "value2");
defaultConfigT.put("type", 1);
dcJsonArray.put(defaultConfigT);
RemoteConfigManager.getInstance().setRemoteDefaultConfig(dcJsonArray);

五、设置事件自定义属性

开发者可以为事件设置自定义属性,参数下发SDK在请求服务端配置时会带上该属性,用于服务端参数匹配。


方法示例

public synchronized void setRemoteConfigEventProperties(JSONObject eventProperties);

参数相关

参数名称参数含义参数类型是否必传
eventProperties事件自定义属性JSONObject

调用示例

import com.reyun.remote.config.RemoteConfigManager;

JSONObject eventProperties = new JSONObject();
eventProperties.put("event_key1", "event_value1");
eventProperties.put("event_key2", "event_value2");
RemoteConfigManager.getInstance().setRemoteConfigEventProperties(eventProperties);

注:给事件设置的自定义属性不支持开发者传入"_"下划线开头的key值,SDK会默认丢弃该条属性


六、设置用户自定义属性

开发者可以为用户设置自定义属性,参数下发SDK在请求服务端配置时会带上该属性,用于服务端参数匹配

方法示例

public synchronized void setRemoteConfigUserProperties(JSONObject userProperties);

参数相关

参数名称参数含义参数类型是否必传
userProperties用户自定义属性JSONObject

调用示例

import com.reyun.remote.config.RemoteConfigManager;

JSONObject userProperties = new JSONObject();
userProperties.put("user_key1", "user_value1");
userProperties.put("user_key2", "user_value2");
RemoteConfigManager.getInstance().setRemoteConfigUserProperties(userProperties);

注:给用户设置的自定义属性不支持开发者传入"_"下划线开头的key值,SDK会默认丢弃该条属性


七、获取参数下发配置

参数下发SDK获取参数下发配置分为两种情况,一种是同步获取方法,通过此方法开发者可以直接获取返回结果。另一种是异步获取方法,返回结果需要等待回调完成才可以获取

注:通过同步或异步方式获取参数时,sdk 会触发上报用户命中试验的事件,所以获取参数的时机应该在用户到达试验场景时读取(获取参数代表用户到达试验场景,用户命中该参数对应的试验),请勿提前读取参数

1.同步获取参数下发配置

方法示例

public synchronized Object fastFetchRemoteConfig(String paramKey);

参数相关

参数名称参数含义参数类型是否必传
paramKey参数下发key,跟用户在后台配置参数key对应String


返回值: Object


调用示例

import com.reyun.remote.config.RemoteConfigManager;

Object result = RemoteConfigManager.getInstance().fastFetchRemoteConfig("key1");
if (result instanceof String) {
    String realResult = (String) result;
}

2. 异步获取参数下发配置

方法示例

public synchronized void asyncFetchRemoteConfig(String paramKey, OnRemoteConfigReceivedData callBack);

参数相关

参数名称参数含义参数类型是否必传
paramKey参数下发key,跟用户在后台配置参数key对应String
callBack参数下发异步回调OnRemoteConfigReceivedData

调用示例

import com.reyun.remote.config.RemoteConfigManager;

 RemoteConfigManager.getInstance().asyncFetchRemoteConfig("test1", new  OnRemoteConfigReceivedData() {
    @Override
    public void onResult(Object result) {
       if (result instanceof String) {
           String realResult = (String) result;
       }
   }
 });

3. 同步获取所有参数下发配置

方法示例

public synchronized JSONObject fastFetchRemoteConfig()

调用示例

import com.reyun.remote.config.RemoteConfigManager;

JSONObject result = RemoteConfigManager.getInstance().fastFetchRemoteConfig();

4. 异步获取所有参数下发配置

方法示例

public synchronized void asyncFetchRemoteConfig(OnRemoteConfigReceivedGenericsData<JSONObject> callBack)

参数相关

参数名称参数含义参数类型是否必传
callBack参数下发异步回调OnRemoteConfigReceivedGenericsData


调用示例

import com.reyun.remote.config.RemoteConfigManager;

RemoteConfigManager.getInstance().asyncFetchRemoteConfig(new OnRemoteConfigReceivedGenericsData<JSONObject>() {
                    @Override
                    public void onResult(JSONObject result) {
                            //result:异步获取到的所有在线参数配置
                    }
                });

八、混淆配置

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

-keep class com.reyun.** {*; }
-keep class route.**{*;}
-keep interface com.reyun.** {*; }
-keep interface route.**{*;}
-dontwarn com.reyun.**

————————————

SDK 更新记录


2025-08-12 1.3.1.0

•与主SDK版本对齐


2025-07-28 1.3.0.6

•优化分流事件


2025-07-22 1.3.0.5

•与主SDK版本对齐


2025-07-04 1.3.0.3

•与主SDK版本对齐


2025-06-26 1.3.0.2

•与主SDK版本对齐


2025-06-23 1.3.0.1

•与主SDK版本对齐


2025-06-11 1.3.0.0

  • 性能优化


2025-02-28 1.2.9.6

•与主SDK版本对齐


2024-12-03 1.2.9.2

•与主SDK版本对齐


2024-11-04 1.2.8.3

•与主SDK版本对齐


2024-9-23 1.2.8.3

•优化在线参数逻辑


2024-8-23 1.2.8.1

•与主SDK版本对齐


2024-8-16 1.2.8.0

•与主SDK版本对齐


2024-6-6 1.2.7.6

•与主SDK版本对齐


2024-5-11 1.2.7.5

•与主SDK版本对齐


2024-2-4 1.2.7.0

•优化在线参数分流逻辑


2023-12-28 1.2.6.1

•优化在线参数SDK获取所有参数回调方法


2023-12-14 1.2.6.0

•在线参数SDK支持同步获取所有在线参数配置

•在线参数SDK支持异步获取所有在线参数配置


2023-12-01 1.2.4.2-1.2.5.3

•与主SDK版本对齐


2023-10-16 1.2.4.2

•与主SDK版本对齐

优化调试日志


2023-09-14 1.1.1.1

•与主SDK版本对齐


2023-09-01 1.1.1.0

•参数下发模块区分国内海外版本


2023-08-21 1.1.0.2

•优化参数获取


2023-08-04 1.1.0.1

•统一埋点公共参数


2023-05-25 1.1.0.0

•支持setting服务下发的部分参数


2023-04-26 1.0.3.0

  • SDK日志功能优化


2023-03-30 1.0.2.0

  • 优化、兼容debug模式


2023-03-29 1.0.1.2

  • 参数下发模块功能优化


2023-03-23 1.0.1.1

  • 优化参数下发模块数据格式


2023-03-20 1.0.1.0

  • 参数下发模块支持AB测试功能


2023-03-10 1.0.0.1

  • 参数下发添加日志打点


2023-02-08 1.0.0.0

  • 参数下发Android SDK初版



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