0
点赞
收藏
分享

微信扫一扫

如何集成华为AGC远程配置- iOS

杨小羊_ba17 2022-07-12 阅读 54


简介

AppGallery Connect远程配置服务提供了在线的配置参数管理能力,可以实现应用在线更改行为和外观,而无需用户下载应用更新。

AppGallery Connect远程配置服务提供云端服务,管理台和客户端SDK,应用集成客户端SDK后可以定期获取远程配置管理台配置下发的参数值,实现客户端行为和UI的修改。

开通服务

1、登录​​AppGallery Connect网站​​,点击“我的项目”。

2、在项目列表中找到您的项目,在项目下的应用列表中选择需要开通远程配置服务的应用。

如何集成华为AGC远程配置- iOS_远程配置

3、进入“增长 > 远程配置”,如果远程配置服务未开通,请点击“立即使用”,开通远程配置服务。

如何集成华为AGC远程配置- iOS_远程配置_02

集成SDK

针对Xcode开发环境,您可以通过Cocoapods集成方式将远程配置SDK集成到您的Xcode开发环境中。

1、在Xcode项目中添加当前应用的AppGallery Connect配置文件。

   a.登录​​AppGallery Connect网站​​,点击“我的项目”。

   b.在项目列表中找到您的项目,在项目下的应用列表中选择您需要集成SDK的应用。

   c.点击“项目设置”中“应用”栏下的“agconnect-services.plist”下载配置文件。

   d.将“agconnect-services.plist”文件拷贝到应用级根目录下。

如何集成华为AGC远程配置- iOS_iOS_03

2、创建Podfile文件,打开命令行窗口,导航至Xcode项目所在的位置,创建Podfile文件。如果已经存在,可跳过本步骤。

cd project-directory

pod init

3、编辑Podfile文件,增加pod依赖pod ‘AGConnectRemoteConfig’。

target 'AGRemoteDemo' do

pod 'AGConnectRemoteConfig'

end

4、安装pod,然后打开.xcworkspace文件查看该项目。

pod install

界面设计

本次Codelab中,您可以在Xcode工程中创建一个布局页面,参照下图进行UI设计,新增三个Button。第一个按钮获取远程配置并立刻生效,第二个按钮获取远程配置并在下一次打开生效,第三个按钮可清空之前所有的参数值,将设置的默认值、云端参数值全部都清除:

如何集成华为AGC远程配置- iOS_远程配置_04

设置应用内默认值

您可以在远程配置对象中设置应用程序内的默认值,以便您的应用程序在连接到远程配置服务之前按照预期运行。如果云端未设置参数值,则可以使用本地默认值。

NSDictionary *defaultConfig = @{@"test1":@"value1", @"test2":@(2)}; 
[[AGCRemoteConfig sharedInstance] applyDefaults:defaultConfig];

如何集成华为AGC远程配置- iOS_iOS_05

设置云端配置值

1、登录​​AppGallery Connect网站​​,点击“我的项目”。

2、在项目列表中找到您的项目,在项目下的应用列表中选择您的应用。

3、在“增长”菜单下选择“远程配置”,此时页签选中“配置项管理”,点击“添加配置项”按钮。

如何集成华为AGC远程配置- iOS_iOS_06

4、在添加配置项页填入配置默认值名称和默认值,即通过SDK获取的远程配置的key和value。点击“保存配置项”,返回远程配置页点击“发布”。

如何集成华为AGC远程配置- iOS_远程配置_07

功能开发

1、初始化AGConnectCore SDK。在项目的AppDelegate.m文件中导入头文件并添加初始化代码。

#import "AppDelegate.h"  
#import <AGConnectCore/AGConnectCore.h>
@implementation AppDelegate
- (BOOL)Application:(UIApplication *)Application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// Override point for customization after Application launch.
[AGCInstance startup];//初始化
return

如何集成华为AGC远程配置- iOS_远程配置_08

2、获取数据后立即生效,我们在Model1按钮跳转的新页面中,使用NSDictionary对象作为默认值。再获取云端配置项,调用fetch接口获取AGCConfigValues值,并在返回的Callback中调用apply接口,使其立刻生效。

#import "FirstModeViewController.h" 
#import <AGConnectRemoteConfig/AGConnectRemoteConfig.h>
@implementation FirstModeViewController
- (void)viewDidLoad {
[super viewDidLoad];

NSDictionary *defaultConfig = @{@"test1":@"value1", @"test2":@(2)};
[[AGCRemoteConfig sharedInstance] applyDefaults:defaultConfig];

[[[[AGCRemoteConfig sharedInstance] fetch] addOnSuccessCallback:^(AGCConfigValues * _Nullable result) {
[[AGCRemoteConfig sharedInstance] apply:result];
[self showAllValue];
NSLog(@"fetch successful");
}] addOnFailureCallback:^(NSError * _Nonnull error) {
NSLog(@"fetch failed");
}];
}

- (void)showAllValue {
NSDictionary *val = [[AGCRemoteConfig sharedInstance] getMergedAll];
_label.text = [val description];
}
@end

如何集成华为AGC远程配置- iOS_远程配置_09

3、获取数据后下次启动生效,在Model2按钮跳转的页面里设置默认值。调用apply方法传入上次fetch的AGCConfigValues数据使其生效。这种方式可以无需异步等待即可使用最新的值。

#import "SecondModeViewController.h" 
#import <AGConnectRemoteConfig/AGConnectRemoteConfig.h>
@implementation SecondModeViewController
- (void)viewDidLoad {
[super viewDidLoad];

NSDictionary *defaultConfig = @{@"test1":@"value1", @"test2":@(2)};
[[AGCRemoteConfig sharedInstance] applyDefaults:defaultConfig];

AGCConfigValues *lastFetchedConfig = [[AGCRemoteConfig sharedInstance] loadLastFetched];
[[AGCRemoteConfig sharedInstance] apply:lastFetchedConfig];
[self showAllValue];

[[[[AGCRemoteConfig sharedInstance] fetch] addOnSuccessCallback:^(AGCConfigValues * _Nullable result) {
NSLog(@"fetch successful");
}] addOnFailureCallback:^(NSError * _Nonnull error) {
NSLog(@"fetch failed");
}];
}
- (void)showAllValue {
NSDictionary *val = [[AGCRemoteConfig sharedInstance] getMergedAll];
_label.text = [val description];
}
@end

如何集成华为AGC远程配置- iOS_iOS_10

4、在清除按钮的点击事件里调用clearAll方法,可以清空之前所有的参数值,将设置的默认值、云端参数值全部都清除。

#import "ViewController.h" 
#import "FirstModeViewController.h"
#import "SecondModeViewController.h"

如何集成华为AGC远程配置- iOS_iOS_11

打包测试

1、点击配置项名称test1的卡片右上角“操作”,选择“修改”,修改默认值,点击“保存配置项”并发布。

如何集成华为AGC远程配置- iOS_远程配置_12

2、点击Xcode运行按钮,在手机或模拟器上运行应用。打开应用点击Model1按钮,可以看到获取的刚修改的远程配置项的值。

如何集成华为AGC远程配置- iOS_iOS_13

3、点击清除按钮,之前所有的参数值被清除。第一次点击Model2按钮显示应用内设置默认值。返回重新点击Model2按钮,apply方法传入上次拉取的云端配置值,此时显示上文刚修改的远程配置项的值。

如何集成华为AGC远程配置- iOS_远程配置_14

如何集成华为AGC远程配置- iOS_iOS_15

恭喜您

祝贺您,您已经成功地构建了您的第一个集成AGC远程配置服务的应用程序,并学到了如何在AGC控制台设置云端配置值。您也可以在AGC上添加不同类型的远程配置数据,然后在APP上查看。

参考文档

​​远程配置API参考​​


欲了解更多更全技术文章,欢迎访问​​https://developer.huawei.com/consumer/cn/forum/?ha_source=zzh​​

举报

相关推荐

0 条评论