【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篇-Centos7构建NFS服务器和连接

    准备两台centos7虚拟机 192.168.30.133 192.168.30.129 2.192.168.30.1(服务端), 3查看rpc服务是否启动 4测试安装是否成功 5修改配置文件vi/e ...

  2. 设计并实现加法器类 Adder

    学习内容:设计并实现加法器类 Adder 代码示例: package 实验三; import java.util.Scanner; public class Adder { private int n ...

  3. IIS7 网站发布常见报错问题解决方案汇总

    本文实例为大家分享了IIS7 网站发布常见问题,以及五种问题的解决方法,供大家参考,具体内容如下: 1.不是有效的Win32位应用程序 : 解决方案: 1).进入应用程序池=>选中网站=> ...

  4. Spring Boot整合Swagger报错:"this.condition" is null

    前段时间看到群里有吐槽swagger整合问题,当时没仔细看,总以为是姿势不对. 这两天正好自己升级Spring Boot版本,然后突然出现了这样的一个错误: Caused by: java.lang. ...

  5. drools决策表的简单使用

    目录 一.背景 二.一个简单的决策表 1.在同一个决策表中处理多个Sheet页 2.RuleSet下方可以有哪些属性 3.RuleTable下方可以有哪些属性 4.规则属性的编写 三.需求 四.实现 ...

  6. 入坑KeePass(三)安全设置完后后留存

    1.文件> 数据库设置 > 安全 迭代次数改成500000 2.工具 > 选项 2.1.安全 2.2.策略 2.3.集成 2.4高级

  7. 如何正确理解古典概率中的条件概率 《考研概率论学习之我见》 -by zobol

    "B事件发生的条件下,A事件发生的概率"? "在A集合内有多少B的样本点"? "在B约束条件下,A发生的概率变化为?" "B事件中 ...

  8. springboot2.7.x 集成log4j2配置写入日志到mysql自定义表格

    在阅读之前请先查看[springboot集成log4j2] 本文暂不考虑抽象等实现方式,只限于展示如何自定义配置log4j2并写入mysql数据库(自定义结构) 先看下log4j2的配置 <?x ...

  9. java中的方法重载(overload)

    什么时候方法重载:当两个方法的功能是相似的,可以考虑使用方法重载.若两个方法根本没有关系,无必要使用方法重载. 什么时候代码会发生方法重载:三个条件:1,在同一个类中.2,方法名相同.3,参数列表相同 ...

  10. CODING DevOps 助力中化信息打造新一代研效平台,驱动“线上中化”新未来

    中化信息技术有限公司,简称"中化信息",是世界 500 强企业中国中化控股有限责任公司(简称"中国中化")的全资直属公司,依托于中国中化的信息化建设实践,建立起 ...