您的位置:首页 > 移动开发 > IOS开发

Umeng IOS开发应用

2013-10-21 14:44 316 查看

 基本功能集成指南:详细参见:http://dev.umeng.com/analytics/ios/quick-start

提示 请先在友盟的管理后台中创建App,获得AppKey导入SDK下载 Analytics_iOS_SDK.zip并解压缩。导入插件所需文件: 
libMobClickLibrary.a
 
MobClick.h
请在你的工程目录结构中,右键选择
Add->Existing
Files…
,选择这两个文件。或者将这两个文件拖入XCode工程目录结构中,在弹出的界面中勾选
Copy
items into destination group's folder(if needed)
, 并确保
Add
To Targets
勾选相应的target。配置添加依赖框架(
Framework
)和编译器选项
TARGETS
-->
Build
Phases
-->
Link
Binary With Libraries
--> 
+
 -->
libz.dylib
添加代码打开
*AppDelegate.m
,添加代码
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
[MobClick startWithAppkey:@"xxxxxxxxxxxxxxx"];
}
或指定渠道和发送策略
[MobClick startWithAppkey:@"xxxxxxxxxxxxxxx" reportPolicy:SEND_INTERVAL   channelId:@"Web"];
说明1.使用
BATCH
策略,更省流量, 
channelId
 为
nil
@""
时,默认会被被当作
@"App
Store"
渠道。2.其中ReportPolicy可选值有: 
REALTIME
,
BATCH
,
SENDWIFIONLY
,
SEND_INTERVAL
,
SEND_ON_EXIT
。3.其中
REALTIME
,
SENDWIFIONLY
 只在
模拟器
DEBUG
模式下生效,真机release模式会自动改成
BATCH
。关于发送策略的调整,请参见 关于发送策略及发送策略变更的说明4.
SEND_INTERVAL
 为按最小间隔发送,默认为
10秒
,取值范围为
10
 到 
86400
(一天),如果不在这个区间的话,会按
10
设置。5.你可以调用
[MobClick
setLogSendInterval:60];
 来改变这个最小间隔值。6.
SEND_ON_EXIT
 为退出或进入后台时发送,这种发送策略在App运行过程中不发送,对开发者和用户的影响最小。不过这种发送策略只在
iOS
> 4.0
时才会生效, 
iOS
< 4.0
 会被自动调整为
BATCH
。到此,基本统计功能集成已经完成。

3. 测试与调试

3.1. 开启调试模式

[MobClick setLogEnabled:YES];
4.日志记录和版本更新
-(void)OpenUMeng //打开友盟{    [MobClick setCrashReportEnabled:YES]; // 如果不需要捕捉异常,注释掉此行    //    [MobClick setLogEnabled:YES];  // 打开友盟sdk调试,注意Release发布时需要注释掉此行,减少io消耗    [MobClick setAppVersion:XcodeAppVersion]; //参数为NSString * 类型,自定义app版本信息,如果不设置,默认从CFBundleVersion里取    //    [MobClick startWithAppkey:UMENG_APPKEY reportPolicy:(ReportPolicy) REALTIME channelId:@"YunFeng"];    //   reportPolicy为枚举类型,可以为 REALTIME, BATCH,SENDDAILY,SENDWIFIONLY几种    //   channelId 为NSString * 类型,channelId 为nil或@""时,默认会被被当作@"App Store"渠道        //    [MobClick checkUpdate];   //自动更新检查, 如果需要自定义更新请使用下面的方法,需要接收一个(NSDictionary *)appInfo的参数    [MobClick checkUpdateWithDelegate:self selector:@selector(updateMethod:)];        [MobClick updateOnlineConfig];  //在线参数配置    }- (void)updateMethod:(NSDictionary *)appInfo {    NSLog(@"update info %@",appInfo);    if([[appInfo objectForKey:@"update"] isEqualToString:@"YES"]==YES)    {        NSString *newVersion = [[NSString alloc]initWithString:[appInfo objectForKey:@"version"]];        self.newVersionPath = [[NSString alloc]initWithString:[appInfo objectForKey:@"path"]];        UIAlertView *alert = [[UIAlertView alloc]initWithTitle:[NSString stringWithFormat:@"有新版本V%@",newVersion] message:[NSString stringWithString:[appInfo objectForKey:@"update_log"]] delegate:self cancelButtonTitle:@"下次再说" otherButtonTitles:@"更新", nil];        [alert show];            }}- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex{    if(buttonIndex==1)    {        NSURL *url = [NSURL URLWithString:self.newVersionPath];  [[UIApplication sharedApplication]openURL:url];    }}
                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  umeng