【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. 打包测试。

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-远程配置示例的更多相关文章

  1. SpringCloud04 服务配置中心、消息总线、远程配置动态刷新

    1 环境说明 JDK:1.8 MAVENT:3.5 SpringBoot:2.0.5.RELEASE SpringCloud:Finchley.SR1 2 创建服务注册中心(Eureka服务端) 说明 ...

  2. 【VNC】Linux环境VNC服务安装、配置与使用

     [VNC]Linux环境VNC服务安装.配置与使用 2009-06-25 15:55:31 分类: Linux   前言:作为一名DBA,在创建Oracle数据库的过程中一般要使用dbca和netc ...

  3. Haproxy的安装和配置示例

    1.ha proxy简介ha proxy是一个开源的,高性能的,基于tcp第四层和http第七层应用的负载均衡软件优点:可靠性和稳定性非常好          最高可以同时维护40000-50000个 ...

  4. spring cloud+dotnet core搭建微服务架构:配置中心(四)

    前言 我们项目中有很多需要配置的地方,最常见的就是各种服务URL地址,这些地址针对不同的运行环境还不一样,不管和打包还是部署都麻烦,需要非常的小心.一般配置都是存储到配置文件里面,不管多小的配置变动, ...

  5. java日志规约及配置示例终极总结

    目录 什么是日志 常用日志框架 日志级别详解 日志的记录时机 日志使用规约 logback 配置示例 loh4j2 配置示例 什么是日志? 简单的说,日志就是记录程序的运行轨迹,方便查找关键信息,也方 ...

  6. spring cloud+.net core搭建微服务架构:配置中心(四)

    前言 我们项目中有很多需要配置的地方,最常见的就是各种服务URL地址,这些地址针对不同的运行环境还不一样,不管和打包还是部署都麻烦,需要非常的小心.一般配置都是存储到配置文件里面,不管多小的配置变动, ...

  7. Spring Cloud官方文档中文版-Spring Cloud Config(上)-服务端(配置中心)

    官方文档地址为:http://cloud.spring.io/spring-cloud-static/Dalston.SR2/#spring-cloud-feign 文中例子我做了一些测试在:http ...

  8. 《连载 | 物联网框架ServerSuperIO教程》2.服务实例的配置参数说明

    1.C#跨平台物联网通讯框架ServerSuperIO(SSIO)介绍  <连载 | 物联网框架ServerSuperIO教程>1.4种通讯模式机制 一.综述 SuperIO(SIO)定位 ...

  9. spring: 加载远程配置

    通常在spring应用中,配置中的properties文件,都是打包在war包里的,部署规模较小,只有几台服务器时,这样并没有什么大问题.如果服务器多了,特别是集群部署时,如果要修改某一项配置,得重新 ...

随机推荐

  1. linux篇-linux iptables配置

    1 iptables默认系统自带 setup 2重启防火墙 /etc/init.d/iptables restart 3接受端口 Vi /etc/sysconfig/iptables -A INPUT ...

  2. css3常用动画

    //有道云笔记链接 http://note.youdao.com/s/72qbBVyv  

  3. 将CSV格式或者EXCEL格式的文件导入到HIVE数据仓库中

    学习内容:数据导入,要求将CSV格式或者EXCEL格式的文件导入到HIVE数据仓库中: ①hive建表:test1 create table test1 (InvoiceNo String, Stoc ...

  4. AGC007E Shik and Travel 解题报告

    AGC007E Shik and Travel 题目大意:\(n\) 个点的二叉树,每个点要么两个儿子,要么没有儿子,每条边有边权. 你从 \(1\) 号节点出发,走到一个叶子节点.然后每一天,你可以 ...

  5. docker服务部署、迁移与备份、dockerfile、私有仓库

    今日内容概要 服务部署 迁移与备份 dockerfile 私有仓库 内容详细 1.服务部署 # 装 mysql redis --->源码编译安装-->启 动 # 有了docker后,容器操 ...

  6. 前端3JS1

    内容概要 溢出属性 定位属性 z-index JavaScript简介 变量与注释 数据类型 内容详情 溢出属性 # 文本内容超出了标签的最大范围 overflow: hidden; 接隐藏文本内容 ...

  7. LoRa模块无线收发通信技术详解

    LoRa是一种LPWAN通信技术,它基于扩频技术而广泛应用于超长距离的无线传输场景中.现在,LoRa主要在全世界433.868.915MHz等自由频带工作.其最大特征是灵敏度高,传输距离长,工作功耗低 ...

  8. 基于数传电台的组态王控制实现远程采集控制器PLC

    「物联网应用案例」基于数传电台的组态王控制 一.案例介绍 采用亚控科技组态王结合亿佰特E90系列数传电台实现远程采集控制PLC.在这里主要介绍通信环境的搭建,故不采用过于复杂的控制程序,但为了体现控制 ...

  9. JS:相等判断

    1.=  赋值运算符 错误写法:a+b = c; 2.== :=== ==判断值是否相等 例: var a = 2; var b = 3; var c = a+b; var d = "2&q ...

  10. 想知道Vue3与Vue2的区别?五千字教程助你快速上手Vue3!

    从Vue3发布以来,我就一直对其非常感兴趣,就一直想着将其投入公司的生产中,但是开始考虑到很多不确定性就暂时对一些很小的功能进行一些尝试:慢慢的发现组合式Api的形式非常适合开发(个人感觉),尤其是V ...