在App中添加数据统计功能(友盟)
2015-10-13 22:37
519 查看
1.首先在友盟平台添加新应用中,申请一个新应用,然后得到一个appkey.
2.下载ios平台的sdk文件,将以下两个文件拖入工程中。
3.添加类库:
如过使用cocopod添加,可用:(pod 'UMengAnalytics')。
4.实现相关方法:
5.在appdelegate中建立链接:
[StateCollect setup];
注:StateCollect为我建立的NSObject页面
6.在统计界面加入调用统计的方法:
7.如果你在友盟的我的应用程序中,添加了相关事件的统计,可调用这个方法来进行统计:
[StateCollect event:@"Login" value:NSStringFromClass([self class])];
注:Login为我在设置的相关事件。
8.如果你是第一次使用友盟,那你需要在:我的产品->设置->应用信息中,开启使用:
完成以上设置后,运行程序,发现以下错误:
可以通过设置Other Linker Flag的值未-lz来解决。
类似的其他
"_compress2", referenced from:
"_inflateReset", referenced from:
"_inflateInit_", referenced from:
"_inflateEnd", referenced from:
"_inflateInit2_", referenced from:
均可以通过-lz来解决。
-lz 会让你的程序在编译的时候against the built-in zlib,从而解决问题
2.下载ios平台的sdk文件,将以下两个文件拖入工程中。
(1)libMobClickLibrary.a
(2)MobClick.h
3.添加类库:
TARGETS-->Build Phases-->Link Binary With Libraries--> + -->libz.dylib (Xcode7请选择libz.tbd)
如过使用cocopod添加,可用:(pod 'UMengAnalytics')。
4.实现相关方法:
#import <Foundation/Foundation.h> @interface StateCollect : NSObject + (void)setup; + (void)intoPage:(NSString *)pageName; + (void)outPage:(NSString *)pageName; + (void)event:(NSString *)event value:(NSString *)value; @end
#import "StateCollect.h" #import "MobClick.h" #define ChannelEnterprise @"Enterprise" @implementation StateCollect #define UMengKey @"" + (void)setup { NSString *chanel = ChannelEnterprise; #ifdef APPSTORE chanel = ChannelAppStore; #endif [MobClick startWithAppkey:UMengKey reportPolicy:REALTIME channelId:chanel]; } + (void)intoPage:(NSString *)pageName { [MobClick beginLogPageView:pageName]; } + (void)outPage:(NSString *)pageName { [MobClick endLogPageView:pageName]; } + (void)event:(NSString *)event value:(NSString *)value { [MobClick event:event label:value]; }
5.在appdelegate中建立链接:
[StateCollect setup];
注:StateCollect为我建立的NSObject页面
6.在统计界面加入调用统计的方法:
-(void)viewWillAppear:(BOOL)animated { [super viewWillAppear:animated]; [StateCollect intoPage:NSStringFromClass([self class])]; } -(void)viewWillDisappear:(BOOL)animated { [super viewWillDisappear:animated]; [StateCollect outPage:NSStringFromClass([self class])]; }
7.如果你在友盟的我的应用程序中,添加了相关事件的统计,可调用这个方法来进行统计:
[StateCollect event:@"Login" value:NSStringFromClass([self class])];
注:Login为我在设置的相关事件。
8.如果你是第一次使用友盟,那你需要在:我的产品->设置->应用信息中,开启使用:
完成以上设置后,运行程序,发现以下错误:
"_compress2", referenced from: +[UMANUtil deflatedDataPrefixedWith:level:source:] in libMobClickLibrary.a(UMANUtil.o) ld: symbol(s) not found for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation)
可以通过设置Other Linker Flag的值未-lz来解决。
类似的其他
"_compress2", referenced from:
"_inflateReset", referenced from:
"_inflateInit_", referenced from:
"_inflateEnd", referenced from:
"_inflateInit2_", referenced from:
均可以通过-lz来解决。
-lz 会让你的程序在编译的时候against the built-in zlib,从而解决问题
相关文章推荐
- iOS支付
- 如何跳过Nexus 7二代的开机设置
- Android 项目(一):自定义View绘制“折线图”
- android获取单个通讯录联系人信息并分享内容(短信邀请)
- iOS 键盘回收实现步骤
- Android 五大布局之(一) 线性布局和相对布局
- Android 6.0中art虚拟机编译dex时已完全放弃使用LLVM
- android 捕获 UncaughtExceptionHandler
- Android中windowSoftInputMode属性详解
- swift知识点 [1]
- Android应用开发性能优化完全分析
- Unity3D Rigidbody详解
- 在App中添加微信分享功能
- Eclipse UML 插件: ObjectAid UML Explorer
- 【Android】error: Error retrieving parent for item: No resource found that matches the given name 'Theme.Sherlock.Light.NoActionBar'.
- iOS开发常用的第三方类库
- IOS中打开应用实现检查更新的功能
- Android Intent 意图作用
- Android 获取屏幕高宽度,密度,通知栏高度,截图等常用方法
- ios 字典enumerateKeysAndObjectsUsingBlock遍历