码迷,mamicode.com
首页 > 其他好文 > 详细

友盟集成自动更新版本功能

时间:2015-09-19 18:13:20      阅读:222      评论:0      收藏:0      [点我收藏+]

标签:

以下是从友盟SDK文档中摘录出来的一些说明:
 
iOS自动更新SDK集成指南 :http://dev.umeng.com/auto-update/ios/quick-start
 
 
1. 集成友盟iOS统计分析SDK
 
友盟自动更新功能在统计分析SDK中实现,请点击下面链接,先集成统计分析SDK
 
统计分析iOS SDK集成指南
 
2. 使用按渠道自动更新检测
 
在网站上分渠道提交app的版本号,更新日志及openURL后,您只需添加一行代码来完成自动更新检查。
请将下面代码添加到[MobClick startWithAppkey:@”xxxxxxxxxxxxxxx”];之后
 
[MobClick checkUpdate];
如果想对UIAlertView的标题和按钮文字做多国语言支持,则需要对下面三个词组做翻译。
 
umUpdateTitle :标题
umUpdateCancel : 放弃按钮
umUpdateOK : 确定按钮
当然您可以更简单的自定义标题和按钮的文字
 
[MobClick checkUpdate:@”New version” cancelButtonTitle:@”Skip” otherButtonTitles:@”Goto Store”];
如果默认的行为不满足你的需求,您可以完全自定义自动更新检查行为。只需实现
 
- (void)appUpdate:(NSDictionary *)appInfo;
这个delegate方法。appInfo是服务器传回来的app相关信息。
 
Xcode4有两个版本号,一个是Version,另一个是Build,对应于Info.plist的字段名分别为CFBundleShortVersionString,CFBundleVersion。 友盟SDK为了兼容Xcode3的工程,默认取的是Build号,如果需要取Xcode4的Version,可以使用下面 的方法。
 
NSString *version = [[[NSBundle mainBundle] infoDictionary] objectForKey:@”CFBundleShortVersionString”];
[MobClick setAppVersion:version];
 
文档很简单,但是很尴尬的是,他的这个说明文档是旧版本的,里面一些方法都没有或者过时的方法。
 
其中新的初始化方法:
[MobClick startWithAppkey:kUmengAppKey reportPolicy:BATCH channelId:kUmengAppstoreChannelId];
 
还有就是过时的回调:
- (void)appUpdate:(NSDictionary *)appInfo;
这个方法也已经过时,如今是
+ (void)checkUpdateWithDelegate:(id)delegate selector:(SEL)callBackSelectorWithDictionary;
好了,这里我贴以下我工程测试所实现的:
首先在 AppDelegate.m中
//kUmengAppstoreChannelId 是渠道名
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{
[MobClick startWithAppkey:kUmengAppKey reportPolicy:BATCH channelId:kUmengAppstoreChannelId];
...
}

- (void)applicationDidBecomeActive:(UIApplication *)application
{
    [MobClick checkUpdate:@"有新版本更新啦!" cancelButtonTitle:@"我爱怀旧" otherButtonTitles:@"我爱潮流"];
}
版本提醒中用的是友盟默认的弹出样式。
 
如果需要检测更新,
 
[MobClick checkUpdateWithDelegate:self selector:@selector(callBackSelectorWithDictionary:)];

- (void)callBackSelectorWithDictionary:(NSDictionary *)appUpdateInfo{
BMLog(@"%@",appUpdateInfo);
BOOL update = [[appUpdateInfo objectForKey:@"update"] boolValue];
 if (update) {
[MobClick checkUpdate:@"有新版本更新啦!" cancelButtonTitle:@"我爱怀旧" otherButtonTitles:@"我爱潮流"];
}else{
//您使用的已经是最新的版本!
   }

}
 
当然,光写这些代码是不能实现版本提醒更新的,还需要到友盟的管理后台进行渠道配置:
技术分享
 
 
组件->自动更新
 
然后添加一个更新:
 
技术分享

这个渠道选择就是你工程中创建的渠道,就是刚我工程中的 kUmengAppstoreChannelId 这个标记,每一个渠道对应一个更新,app网址是更新调整的网址,是你应用程序下载的网页,这里appstoe的地址,然后是版本号,这个版本号是最新的版本号,即你要更新的版本号,然后就是更新日志,他会反映在你程序弹出的弹窗中

友盟集成自动更新版本功能

标签:

原文地址:http://www.cnblogs.com/junhuawang/p/4821756.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!