【AGC】增长服务1-远程配置示例
【AGC】增长服务1-远程配置示例
前言:上一次笔者给大家带来了AGC领域的性能管理服务的学习。这次我们再继续深化学习AGC的相关知识。在文章开始之前,再给读者简单介绍一下AGC,以免第一次来的读者不了解。所谓AGC就是AppGallery Connect的简称,为用户的应用进行创意、开发、分发、运营、经营各环节提供一站式服务,说的通俗一点,就是给用户在华为应用市场上架运营应用提供全面的服务。
全部的AGC相关的知识分为两大类,一大类即上架相关,这个可以参考链接:https://developer.huawei.com/consumer/cn/doc/distribution/app/agc-help-overview-0000001100246618。里面提供了像是应用测试、应用发布、应用管理、应用维护等应用市场相关的内容。另一大类则是为开发者提供了各种帮助Kit,这个可以参考链接:https://developer.huawei.com/consumer/cn/doc/development/AppGallery-connect-Guides/agc-introduction-0000001057492641。里面提供了像是云存储、A/B测试、质量分析、华为云等Kit,为开发者提供额外的帮助,辅助开发者更好的完成应用上架、提高应用质量、增加用户粘性等。
由于AGC全部的内容太多了,所以每一次的学习我们尽量讲其中一点,讲的详细一点,当然也会看情况,如果有些章节的内容较少也会包含在一起讲。这一次我们来学习增长服务的远程控制的功能。这个功能可以持续为用户提供新鲜内容、新鲜功能,快速响应用户不断变化的需求和体验喜好,尽可能地为不同的目标用户提供差异化的用户体验。使用远程配置,应用即可无需升级,也可以在云端灵活修改应用的行为和外观,从而快速响应用户的需求。
远程配置服务的主要功能有:1、快捷的更新应用,可以通过更改云端参数值,无需应用升级和等待用户更新版本,也可灵活修改应用的行为和外观。2、细分用户展示差异化内容,利用“条件”属性,对于不同国家/地区的用户发送个性化远程配置数据或者协同华为分析服务针对不同的用户受众群组推荐不同内容。3、提升产品的使用体验,可以先向一小部分用户启用新功能,然后在确保此功能可以给用户带来出色体验后,再向其余用户开放。
远程配置服务的工作原理是,远程配置通过客户端SDK和云端进行交互,在应用客户端集成远程配置客户端SDK后,可以周期性地从云端远程配置服务获取配置项和参数值。云端远程配置服务器根据SDK上报的配置项进行条件匹配,并返回对应的配置项参数值。可以根据获取的配置项和配置参数值,实现业务处理逻辑的各种功能,如改变客户端应用行为或者外观等添加到应用中。
AGC远程配置服务实现的流程是1、应用集成远程配置SDK,开通远程配置服务并集成远程配置SDK。2、初始化远程配置实例并设置默认参数值,提前规划希望使用远程配置服务实现的功能,例如需要改变的行为或者外观,并规划功能使用的参数。3、设置云端配置项,在AppGallery Connect控制台中根据所需的条件逻辑创建云端配置项。4、获取云端配置项,在应用中获取云端配置并调用接口来获取不同数据类型参数值在应用中进行使用。
接下来就跟着笔者的脚步来完成一个简单应用的远程配置服务。因为此处只是演示用,所以部分内容进行了简化,并且笔者这里只用了Android作为演示,远程配置服务还可以支持其他平台,读者可以自行探索。
1.集成SDK。
1)在AGC网站的我的项目中选择需要启用远程配置的应用,点击增长->远程配置,进入远程配置服务页面,立即开通服务,我这边试已经开通的状态。
2)登录AGC网站,点击我的项目,在项目设置的应用栏下,下载配置文件"agconnect-services.json"。将配置文件复制到应用级根目录下。
3)添加AGC插件,在Android Studio项目级build.gradle文件中添加maven仓地址和HUAWEI agc插件。
4)打开Android Studio应用级build.gradle文件,添加添加agcp插件配置和agc-core和agc-remoteconfig编译依赖。
5)点击界面上的"Sync Now"链接同步已完成的配置。
2.本地参数设计。
1)界面布局,只需要一个textview和一个用于获取远程配置参数的button,我这边在之前的页面基础上添加上了。
2)添加本地默认配置,在本地工程的"res/xml"目录中新建1个remote_config.xml文件,在文件中设置各配置参数的默认值。
3.配置云端参数。
1)在AGC网站中点击我的项目,选择应用后,在导航栏选择"增长 > 远程配置"。选择"配置条件管理"页签,点击"添加配置条件"。
2)在"配置条件名称"栏输入语言为"中文"的条件名称,"添加过滤条件"选择"语言",并在后面选择"中文简体",完成后点击"保存配置条件"。
3)使用相同的方法添加语言为英文的条件名称, "过滤条件"选择"语言",语言选择"英语(en)"。配置完成后,点击"发布"。
4)选择"配置项管理"页签,点击"添加配置项"。在"配置项名称"栏根据提前设计的参数名配置参数名。在"默认值"栏填写一个默认值。
在"添加条件下的配置项值"中分别选择语言条件"Diff_Lang_CN"和 "Diff_Lang_EN"。配置分别满足"Diff_Lang_CN"和"Diff_Lang_EN"条件时GREETING_KEY参数的值,分别为中文和英文的文本。配置完成后,点击 "保存配置项"。
5)继续点击"添加配置项"添加SET_BOLD_KEY参数。默认值为"false",中文条件值设成"true",英文条件值设成"false",表示设备语言为中文时字体加粗,设备语言为英文时字体不加粗。配置完成后,点击 "保存配置项"。参数添加完成后点击"发布"。
4.获取远程配置。
1)声明需要的参数。
2)在onCreate方法定义相关界面元素。初始化远程配置对象实例。将本地默认配置设置为当前应用配置。
3)定义一个更新UI的updateUI方法,在updateUI方法中获取配置中的参数值并加载到页面元素。
4)定义一个获取远程配置参数值到应用配置的方法fetchAndApply如下。
5)当点击按钮时触发获取远程配置参数值到应用配置的fetchAndApply方法。
- 打包测试。
1)用手机打开应用,这里笔者使用的是华为AGC提供的云手机调试功能。
打开AGC网站,在我的项目-质量-云调试中,选择一部手机开始测试。
2)将打包的apk上传,我这边已经上传好了,云调试手机会自动安装,没有自动安装可以手机点击安装。
3)点击运行应用程序,查看初始化后的页面。
4)点击"GetOnlineConfig"按钮,欢迎语的文字内容发生变化。
以上,本次的内容分享,谢谢!
参考原文链接:
https://developer.huawei.com/consumer/cn/codelabsPortal/carddetails/RemoteConfig
欲了解更多更全技术文章,欢迎访问https://developer.huawei.com/consumer/cn/forum/?ha_source=zzh
【AGC】增长服务1-远程配置示例的更多相关文章
- SpringCloud04 服务配置中心、消息总线、远程配置动态刷新
1 环境说明 JDK:1.8 MAVENT:3.5 SpringBoot:2.0.5.RELEASE SpringCloud:Finchley.SR1 2 创建服务注册中心(Eureka服务端) 说明 ...
- 【VNC】Linux环境VNC服务安装、配置与使用
[VNC]Linux环境VNC服务安装.配置与使用 2009-06-25 15:55:31 分类: Linux 前言:作为一名DBA,在创建Oracle数据库的过程中一般要使用dbca和netc ...
- Haproxy的安装和配置示例
1.ha proxy简介ha proxy是一个开源的,高性能的,基于tcp第四层和http第七层应用的负载均衡软件优点:可靠性和稳定性非常好 最高可以同时维护40000-50000个 ...
- spring cloud+dotnet core搭建微服务架构:配置中心(四)
前言 我们项目中有很多需要配置的地方,最常见的就是各种服务URL地址,这些地址针对不同的运行环境还不一样,不管和打包还是部署都麻烦,需要非常的小心.一般配置都是存储到配置文件里面,不管多小的配置变动, ...
- java日志规约及配置示例终极总结
目录 什么是日志 常用日志框架 日志级别详解 日志的记录时机 日志使用规约 logback 配置示例 loh4j2 配置示例 什么是日志? 简单的说,日志就是记录程序的运行轨迹,方便查找关键信息,也方 ...
- spring cloud+.net core搭建微服务架构:配置中心(四)
前言 我们项目中有很多需要配置的地方,最常见的就是各种服务URL地址,这些地址针对不同的运行环境还不一样,不管和打包还是部署都麻烦,需要非常的小心.一般配置都是存储到配置文件里面,不管多小的配置变动, ...
- Spring Cloud官方文档中文版-Spring Cloud Config(上)-服务端(配置中心)
官方文档地址为:http://cloud.spring.io/spring-cloud-static/Dalston.SR2/#spring-cloud-feign 文中例子我做了一些测试在:http ...
- 《连载 | 物联网框架ServerSuperIO教程》2.服务实例的配置参数说明
1.C#跨平台物联网通讯框架ServerSuperIO(SSIO)介绍 <连载 | 物联网框架ServerSuperIO教程>1.4种通讯模式机制 一.综述 SuperIO(SIO)定位 ...
- spring: 加载远程配置
通常在spring应用中,配置中的properties文件,都是打包在war包里的,部署规模较小,只有几台服务器时,这样并没有什么大问题.如果服务器多了,特别是集群部署时,如果要修改某一项配置,得重新 ...
随机推荐
- Spring 源码(17)Spring Bean的创建过程(8)Bean的初始化
知识回顾 Bean的创建过程会经历getBean,doGetBean,createBean,doCreateBean,然后Bean的创建又会经历实例化,属性填充,初始化. 在实例化createInst ...
- 以点类 Point 及平面图形类 Plane 为基础设计圆类 Circle
学习内容:以点类 Point 及平面图形类 Plane 为基础设计圆类 Circle 代码示例: import java.util.Scanner; class Point2{ private dou ...
- 使用 Flutter 与 Firebase 制作 I/O 弹球游戏
文/ Very Good Ventures 团队,5 月 11 日发表于 Flutter 官方博客 为了今年的 Google I/O 大会,Flutter 团队使用 Flutter 以及 Fireba ...
- 【摸鱼神器】一次搞定 vue3的 路由 + 菜单 + tabs
做一个管理后台,首先要设置路由,然后配置菜单(有时候还需要导航),再来一个动态tabs,最后加上权限判断. 这个是不是有点繁琐?尤其是路由的设置和菜单的配置,是不是很雷同?那么能不能简单一点呢?如果可 ...
- Docker安装Mycat和Mysql进行水平分库分表实战【图文教学】
一.前言 小编最近公司有个新的需求,数据量比较大,要涉及到分库分表.大概了解了一些主流的中间件,使用和网上资料比较多的是Mycat和sharding-jdbc,小编比较倾向于Mycat.原因很简单就是 ...
- 《C Primer Plus》第六版笔记--7~10章
目录 第七章 C控制语句:分支和跳转 第八章 字符输入/输出和输入验证 第九章 函数 第十章 数组和指针 第七章 C控制语句:分支和跳转 if else 用法 if (expression) //ex ...
- GDKOI 2021 Day2 TG 总结
又是爆炸的一天,炸多了本蒟蒻已经习以为常 但今天比昨天整整高了 40 分!!!!却还是没有 100 今天本蒟蒻本想模仿奆佬的打字速度,结果思路混乱让我无法开始 T1 不是吧怎么是期望 dp ,期望值怎 ...
- .NET中测试代码运行时间
更新记录 本文迁移自Panda666原博客,原发布时间:2021年6月29日. 计算代码运行的时间,除了呆萌地用秒表去计时,或者可以通过Visual Studio来查看,还可以在.NET代码中使用St ...
- 【RocketMQ】NameServer的启动
NameServer是一个注册中心,Broker在启动时向所有的NameServer注册,生产者Producer和消费者Consumer可以从NameServer中获取所有注册的Broker列表,并从 ...
- sharepoint 配置失败,已引发类型为System.ArgumentException的异常。其他异常信息:domainName参数不支持指定的值。
解决方法:在域控制器中加入sharepoint计算机,设置为administrators组中