【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. Angular核心概念

    一.集成开发环境@angular/cli IE8之后才有debugger工具 2009,nodejs发布,前端Big Bang 1.1 基于NodeJS的工具链 打包工具 grunt 对js代码做合并 ...

  2. 将汇总结果导出到MySQL

    ①mysql建表test1 ②cd /opt/module/sqoop进入scoop路径 ③ bin/sqoop export \ > --connect jdbc:mysql://master ...

  3. 【单片机】CH32V103C8T6 ——窗口看门狗

    本章教程通过串口调试助手打印显示程序运行状态,具体现象如下: 若计数器值在上窗口值和下窗口值0X40之间的时候,进行喂狗操作,计数器重新计数,程序正常运行,串口打印显示:The program run ...

  4. 基于云服务MRS构建DolphinScheduler2调度系统

    摘要:本文介绍如何搭建DolphinScheduler并运行MRS作业. 本文分享自华为云社区<基于云服务MRS构建DolphinScheduler2调度系统>,作者: 啊喔YeYe . ...

  5. 类型转换——JavaSE基础

    类型转换 类型判断 可以通过Instanceof关键字判断左操作数是否是右操作数的父类或本身 强制类型转换 不能对布尔值进行转换 不能将对象类型转换为不相关的类型 把高容量转向低容量时,需要进行强制类 ...

  6. ElasticSearch6.4.2

    做一个简单的API记录 1.依赖为6.4.2  比较老的版本 2.指定ES集群,可接多个Put(); Setting setting=Setting.builder().put("clust ...

  7. Tomcat部署接口环境遇到的问题,有没有人能帮忙解决指导一下

    1.在虚拟机中用Tomcat部署一个接口环境:linux+jdk+Tomcat 前提条件:代码包啥的别人都用过,可以部署成功 2.具体部署: a. 利用xftp把所有的代码包war包传送到tomcat ...

  8. BUUCTF-RAR

    rar 看提示知道爆破压缩包的题,纯数字4位数拿出ARCHPR爆破即可.

  9. MySQL-3-DML

    DML 数据操作语言 插入insert 语法一:insert into 表名(列名,...)values(值1,...): 语法二:insert into 表名 set 列名=值,列名=值,... 插 ...

  10. 整理orcal常用sql语句

    1.表插入列 alter table XMJ_ONE add column1 NUMBER(38) default 0;comment on column XMJ_ONE.column1 is '字段 ...