Umeng IOS开发应用
来源:互联网 发布:奚梦瑶长相知乎 编辑:程序博客网 时间:2024/05/09 09:14
基本功能集成指南:详细参见: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 IOS开发应用
- iOS开发-Umeng第三方登录-个人整理
- iOS - Umeng分享
- iOS Umeng分享
- Umeng分享 IOS篇
- iOS umeng 获取deviceToken
- iOS--Umeng的使用攻略
- iOS开发如何通过UMeng的错误分析解决crash问题
- ReactNative iOS 集成 react-native-umeng-push
- Umeng微社区开发资源汇总
- 关于iOS应用开发
- 开发的iOS应用
- iOS应用开发小贴士
- IOS应用开发架构
- ios应用开发攻略
- IOS应用开发架构
- ios 应用 开发流程。。。
- iOS应用开发详解
- php中header函数参数说明
- Dev-C++编译wxWidgets
- C++在多层继承中调用虚函数
- 实战2——Hadoop的日志分析
- mkdir函数的通俗理解
- Umeng IOS开发应用
- 海量数据处理--bit-map的使用
- Android 错误提示及解决方法
- 简单的问题:char指针无法赋值
- C、C++类和结构体的区别
- Iframe父窗口与子窗口
- 工作(一)
- 字符串的按单词逆序(带标点)
- android中Animation动画的连续播放与播放完毕后停留在最后的状态