远程配置顾名思义是在不发版的情况下,更改应用的行为和外观。
举个例子,如下图:
在 Demo Page 中,BUTTON 的颜色不一样,如果想实时修改按钮颜色,测试不同颜色的按钮实际点击情况,该怎么做呢?

其实很简单,只需要三步:

  • Web 云平台创建远程配置
  • 客户端添加代码
  • 开始测试

Web 云平台创建远程配置

进入远程配置,点击创建参数

PS:远程配置与企业版是单独收费的,新用户创建公司后可以免费体验 15 天,若想购买远程配置请联系公司拥有者。

填写参数信息

上图中,红框与绿框区域一会儿我们会在代码中用到。

设置下发规则

在下发规则中,可以指定下发版本、比例、范围、用户属性,请根据自己的实际情况进行设置。

上图中,已经指定下发版本 > 2.0.1,下发比例 50%,设备类型包含 iPhone 7 与 iPhone 7 Plus。

远程配置创建完成

创建完成后,会有配置测试方法的提示,将这些代码添加到初始化 Bugtags SDK 中。


上图为 iOS 开启测试状态的代码。

客户端添加代码

现在,需要调用远程配置,根据参数判断按钮的颜色。

请确保集成 Bugtags SDK 2.0.0 以上版本,然后添加以下代码:

iOS

UIButton *bottomButton = [UIButton buttonWithType:UIButtonTypeCustom];
NSInteger flag = [[Bugtags remoteConfig] integerForKey:@"bottom_btn_color"]; //这里的参数名要与创建参数的名称一致
UIColor *color = nil;
switch (flag) {
case 1: //这里是参数值
color = [UIColor redColor];
break;
case 2: //这里是参数值
color = [UIColor greenColor];
break;
case 3: //这里是参数值
color = [UIColor blueColor];
break;
default:
color = [UIColor blackColor];
break;
}
[bottomButton setTitleColor:color forState:UIControlStateNormal];

Android

//find text view
TextView textView = (TextView) findViewById(R.id.bottomButton);
int color = Bugtags.remoteConfig().getInteger("bottom_btn_color");
switch (color) {
case 1:
textView.setTextColor(Color.RED);
break;
case 2:
textView.setTextColor(Color.GREEN);
break;
case 3:
textView.setTextColor(Color.BLUE);
break;
default:
textView.setTextColor(Color.BLACK);
break;
}

开始测试

我们看到,刚创建的参数已经到了开发环境。一共分为三个环境:

  • 开发环境:开发人员使用,创建者与应用管理员可任意编辑该参数。注意,开发环境中的参数无法下发到客户端,请先同步到测试环境后进行测试。

  • 测试环境:内部测试使用,仅支持修改描述、下发比例与下发值,只有应用管理员可以发布到生产环境。

  • 生产环境:线上用户使用,仅支持修改描述、下发比例与下发值,只有应用管理员可以操作该参数上线、下线或删除。

若想更改客户端中按钮的颜色,只需要切换参数值即可。

如果你的应用线上版本是在 Live 模式,可以点击同步到 Live,同步后默认是线下状态,请手动上线该参数。

好了,远程配置的介绍就到这里,快去试试吧!

如果还有疑问,欢迎加入 Bugtags QQ 群:428020377,我们尽力为你解决!

Bugtags 远程配置功能介绍的更多相关文章

  1. [转载]eclipse的远程调试功能配置

    原文地址:eclipse的远程调试功能配置作者:我的 用途:web应用部署并运行于外部(区别于eclipse环境中启动的)应用服务器中,当出现问题时,可以使用eclipse工程的源代码进行跟踪调试. ...

  2. x-pack 功能介绍及配置传输层安全性(TLS / SSL)

    x-pack 功能介绍及配置传输层安全性(TLS / SSL) 学习了:https://blog.csdn.net/wfs1994/article/details/80411047

  3. 【转载】salesforce 零基础开发入门学习(一)Salesforce功能介绍,IDE配置以及资源下载

    salesforce 零基础开发入门学习(一)Salesforce功能介绍,IDE配置以及资源下载   目前国内已经有很多公司做salesforce,但是国内相关的资料确是少之又少.上个月末跳槽去了新 ...

  4. Docker 中的网络功能介绍 外部访问容器 容器互联 配置 DNS

    Docker 中的网络功能介绍 | Docker 从入门到实践 https://vuepress.mirror.docker-practice.com/network/ Docker 允许通过外部访问 ...

  5. CentOS以及Oracle数据库发展历史及各版本新功能介绍, 便于构造环境时有个对应关系

    CentOS版本历史 版本 CentOS版本号有两个部分,一个主要版本和一个次要版本,主要和次要版本号分别对应于RHEL的主要版本与更新包,CentOS采取从RHEL的源代码包来构建.例如CentOS ...

  6. fedora21发布与新功能介绍(附fedora21安装教程与fedora21下载地址)

    fedora21发布与新功能介绍(附fedora21安装教程与fedora21下载地址) 最新的Fedora 21终于正式发布了,Fedora Server 是一款强大可定制化的操作系统,包括了最好最 ...

  7. 服务注册发现consul之一:consul介绍、安装、及功能介绍

    Consul 是一套开源的分布式服务发现和配置管理系统,由 HashiCorp 公司用 Go 语言开发.它具有很多优点.包括:基于 raft 协议,比较简洁: 支持健康检查, 同时支持 HTTP 和 ...

  8. 微信小程序产品定位及功能介绍

    产品定位及功能介绍 微信小程序是一种全新的连接用户与服务的方式,它可以在微信内被便捷地获取和传播,同时具有出色的使用体验. 小程序注册 注册小程序帐号 在微信公众平台官网首页(mp.weixin.qq ...

  9. 带你走近AngularJS - 基本功能介绍

    带你走近AngularJS系列: 带你走近AngularJS - 基本功能介绍 带你走近AngularJS - 体验指令实例 带你走近AngularJS - 创建自定义指令 ------------- ...

随机推荐

  1. IOS 错误 [UIWebView cut:]: unrecognized selector sent to instance

    那在什么场景中会出现这种情况呢? 如果一个包含文字的输入元素有焦点,然后按钮的点击会导致输入失去焦点,然后接下来在输入时双按会重新得到焦点并从弹出bar中选择剪切复制粘贴,就会导致此error. 也就 ...

  2. myeclipse10.7破解成功 但 无法打war包 提示:securecrt alert:integrity ch

    myeclipse10.7破解成功 但 无法打war包  提示:securecrt alert:integrity check error   找了好久才找到解决办法 http://download. ...

  3. SqlServer不能将text列类型更改为ntext的问题

    可以先将text类型更改为nvarchar,在将nvarchar更改为ntext即可. alter db_note alter column [content] nvarchar; alter db_ ...

  4. Centos6.5 gitlab安装使用

    公司从svn转到git做版本管理,我搜了一下网上git的服务器,包括gitosis,gitolite等.一开始我是用的是gitosis作为git服务器的,安装过程还算比较简单,整个服务使用python ...

  5. 批量创建SO

    生成一般销售订单和退货订单所要使用的BAPI不同, 一般销售订单: BAPI_SALESORDER_CREATEFROMDAT2 退货订单: BAPI_CUSTOMERRETURN_CREATE 二者 ...

  6. Java注释

    注释:用于注解说明解释程序的文字.提高了代码的阅读性. 一:单行注释 "//注释文字" 二:多行注释 "/*注释文字*/" 三:文档格式 "/**注释 ...

  7. LEETCODE —— Unique Paths II [动态规划 Dynamic Programming]

    唯一路径问题II Unique Paths II Follow up for "Unique Paths": Now consider if some obstacles are ...

  8. C#模拟键盘事件

    public partial class Form1 : Form { public Form1() { InitializeComponent(); } [DllImport("USER3 ...

  9. Android单元测试实践

    为什么要写单元测试 首先要介绍为什么蘑菇街支付金融这边会采用单元测试的实践.说起来比较巧,刚开始的时候,只是我一个人会写单元测试.后来老板们知道了,觉得这是件 很有价值的事情,于是就叫我负责我们组的单 ...

  10. sqlalchemy数据模型

    sqlalchemy在python里作为orm还是比较有名气的,以下是建立的几个简单模型,完全可和flask的数据持久层分离. # coding: utf8 from sqlalchemy impor ...