一万年来谁著史,三千里外欲封侯。这篇文章主要讲述HarmonyOS应用集成AGC应用内消息与远程配置相关的知识,希望能为你提供帮助。
1. 效果图直接先上:
文章图片
< /DirectionalLayout>
7. 在MainAbility的onStart()方法中初始化AGC基础SDK和打开SDK日志开关
public class MainAbility extends Ability
@Override
public void onStart(Intent intent)
super.onStart(intent);
super.setMainRoute(MainAbilitySlice.class.getName());
// 在应用的MainAbility的onStart()方法中初始化AGC基础SDK
AGConnectInstance.initialize(getAbilityPackage());
// 打开SDK日志开关
HiAnalyticsTools.enableLog();
HiAnalyticsInstance instance = HiAnalytics.getInstance(this);
8. 在MainAbilitySlice集成应用内消息和远程配置监听
public class MainAbilitySlice extends AbilitySlice
// 单位为秒, 多少秒调用远程配置更新
long fetchInterval = 0;
private String flag = "purple";
private AGConnectAppMessaging appMessaging;
@Override
protected void onStart(Intent intent)
super.onStart(intent);
super.setUIContent(ResourceTable.Layout_ability_main);
// 调用AGCInstanceID获取AAID
getAAID();
//配置应用内消息
configMessage();
// 读取远程配置
remoteConfig();
/**
* 调用AGCInstanceID获取AAID
*/
private void getAAID()
// 手机调试, 获取到手机aaid, 然后在AGC上添加
String aaid = AGCInstanceID.getInstance().getId();
System.out.println("xx: " + aaid);
/**
* 配置应用内消息
*/
private void configMessage()
appMessaging = AGConnectAppMessaging.getInstance();
// 设置是否允许同步AGC服务端数据
appMessaging.setFetchMessageEnable(true);
// 强制请求AGC服务端消息数据
appMessaging.setForceFetch("AppOnForeground");
// 设置是否允许展示消息
appMessaging.setDisplayEnable(true);
// 消息展示监听器
appMessaging.addOnDisplayListener(new AGConnectAppMessagingOnDisplayListener()
public void onMessageDisplay(AppMessage param1AppMessage)
System.out.println("xx: Display Message Success!");
);
// 消息点击监听器
appMessaging.addOnClickListener(new AGConnectAppMessagingOnClickListener()
public void onMessageClick(AppMessage param1AppMessage, Action action)
String urlStr = action.getActionUrl();
System.out.println("xx: getActionUrl: card url "+urlStr);
Uri uri = Uri.parse(urlStr);
System.out.println("xx: onMessageClick: message clicked");
);
/**
* 读取远程配置
*/
private void remoteConfig()
AGConnectConfig aGConnectConfig = AGConnectConfig.getInstance();
aGConnectConfig.fetch(fetchInterval)
.addOnSuccessListener(configValues ->
System.out.println("xx: Fetch Success");
aGConnectConfig.apply(configValues);
// 获取远程配置条件管理
String value = https://www.songbingjia.com/android/aGConnectConfig.getValueAsString("theme_color");
System.out.println("xx: Theme Color " + value);
// 获取图片组件
Image img = findComponentById(ResourceTable.Id_imgHeader);
if (value.equals(flag))
img.setPixelMap(ResourceTable.Media_two);
else
img.setPixelMap(ResourceTable.Media_one);
).addOnFailureListener(e ->
System.out.println("xx: Fetch Fail");
);
【HarmonyOS应用集成AGC应用内消息与远程配置】
推荐阅读
- MYSQL MM HA安装配置及调优
- Java异常处理机制详解(建议收藏保存)。
- 如何利用DFS实现文件服务器的双机容错(在没有cluster环境的时候)
- Smart Card(windows)
- springboot整合activiti工作流完整教程附文档(精华版),前端使用vue
- 快速了解Java虚拟机(JVM)以及常见面试题(持续更新中......)
- Linux系统磁盘高级应用和Vi编译器
- Qt软件开发_解决中文路径无法识别问题
- Java熟食包点系统实战