【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包里的,部署规模较小,只有几台服务器时,这样并没有什么大问题.如果服务器多了,特别是集群部署时,如果要修改某一项配置,得重新 ...
随机推荐
- 其实 Gradle Transform 就是个纸老虎 —— Gradle 系列(4)
前言 目前,使用 AGP Transform API 进行字节码插桩已经非常普遍了,例如 Booster.神策等框架中都有 Transform 的影子.Transform 听起来很高大上,其本质就是一 ...
- CentOS自动同步时间
安装ntpdate yum install ntpdate -y 测试是否正常 ntpdate cn.ntp.org.cn # 正常情况 [root@centos7 www]# ntpdate cn. ...
- 详解SQL操作的窗口函数
摘要:窗口函数是聚集函数的延伸,是更高级的SQL语言操作,主要用于AP场景下对数据进行一些分析.汇总.排序的功能. 本文分享自华为云社区<GaussDB(DWS) SQL进阶之SQL操作之窗口函 ...
- singlelinklist
C++实现单链表 阅读先知 链表是一种动态数据结构,他的特点是用一组任意的存储单元(可以是连续的,也可以是不连续的)存放数据元素. 链表中每一个元素成为"结点",每一个结点都是由数 ...
- Asp.Net Core Identity 多数据库支持
Asp.Net Core Identity 是.Net自带的身份认证系统,支持用户界面 (UI) 登录功能,并且管理用户.密码.配置文件数据.角色.声明.令牌.电子邮件确认等等.使用Visual St ...
- 利用shell脚本自动化备份数据库与手动备份还原数据库操作
1.在linux操作系统上手动备份数据库 mysqldump -h 服务器IP地址 -u root -p数据库密码 --databases 所要备份的数据库名称 > /路径/数据库.sql(自定 ...
- CabloyJS部署了一套演示站点
为了方便大家快速体验和了解CabloyJS的风格和特性,全新部署了一套演示站点.对于初次接触CabloyJS的开发者,不用下载新建项目,就可以直接体验CabloyJS了 在线演示 场景 链接/二维码 ...
- .NET C#基础(6):命名空间 - 组织代码的利器
0. 文章目的 面向C#新学者,介绍命名空间(namespace)的概念以及C#中的命名空间的相关内容 1. 阅读基础 理解C与C#语言的基础语法 2. 名称冲突与命名空间 2.1 一个生活例 ...
- Linux shell环境的配置
shell配置文件分类 按生效范围分类:全局和局部 按登录方式分类:交互式和非交互式 按功能分类:profile和bashrc shell配置文件按生效范围分类: 全局配置:针对有所用户有效 /etc ...
- Windows下maven配置环境变量
右键 "计算机",选择 "属性",之后点击 "高级系统设置",点击"环境变量",来设置环境变量,有以下系统变量需要配置: ...