友盟+搜索

{{errorMsg}}

IOS 在线参数(OnlineConfig) SDK 集成指南

在线参数使您可以在网站上动态配置预设好的参数的参数值。

例如: 动态修改应用的欢迎语,修改应用中开关选项的"on"或"off",以及类似游戏中虚拟物品的价格等。


在Xcode工程中导入UMOnlineConfig.hlibUMOnlineConfig.a

1.加载头文件 #import "UMOnlineConfig.h"

2.然后在 –application:didFinishLaunchingWithOptions:中添加

[UMOnlineConfig updateOnlineConfigWithAppkey:(NSString *)key];

key是友盟统计的appKey.

在线参数需要事先在网站上添加,上面这句代码从服务器获取参数,并缓存本地。

3.当在项目里需要获取某个具体参数时调用

[UMOnlineConfig getConfigParams:@"xxxx"];

xxxx为友盟服务器上事先设置好的参数id。如果你想获取所有的在线参数,请使用.

[UMOnlineConfig getConfigParams];

这两个方法都是从[NSUserDefaults standardUserDefaults]获取缓存的值, 所以上面的[UMOnlineConfig updateOnlineConfigWithAppkey:]方法要先在app启动时被调用。


注意
  • updateOnlineConfigWithAppkey: 建议放在 application:didFinishLaunchingWithOptions: 里执行,这样可以尽早获取参数数据。 updateOnlineConfigWithAppkey: 在前后台切换时是不会执行的,如果需要在前后台切换时更新在线参数,可以在相关回调里执行 updateOnlineConfigWithAppkey: 。
  • 如果您需要知道在线参数何时获取完毕,可以监听  UMOnlineConfigDidFinishedNotification ,当这个通知发生时,最新的在线参数会传递给 notification.userInfo
  • 您可以用类似下面的代码来完成这个过程:
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(onlineConfigCallBack:) name:UMOnlineConfigDidFinishedNotification object:nil];
- (void)onlineConfigCallBack:(NSNotification *)notification {
    NSLog(@"online config has fininshed and params = %@", notification.userInfo);
}

最后别忘记调用removeObserver:name:object: 删除这个监听。

注意

    由于iOS9引入了App Transport Security (ATS)特性,要求App访问的网络使用HTTPS协议,如果不做特殊设置,http请求会失败,所以需要开发者在工程中增加设置以便可以发送http请求,如下:

    在info plist中增加字段:

    
    < key>NSAppTransportSecurity< /key>
    < dict>
        < key>NSAllowsArbitraryLoads< /key>
    < /dict>
    
  • 完全实时更新对用户的网络环境要求较高,我们通过对用户的使用考虑,目前在统计最新的sdk和在线参数sdk里面,在线参数的线上请求时间默认是10分钟,如需调整请联系support@umeng.com
  •  技术支持

    如果还有问题,请把您的问题发邮件至support@umeng.com或者联系客服:联系客服 (在线时间:工作日10:00~18:00),我们会尽快回复您。