码迷,mamicode.com
首页 > 移动开发 > 详细

在App中添加数据统计功能(友盟)

时间:2015-10-14 00:16:50      阅读:387      评论:0      收藏:0      [点我收藏+]

标签:

1.首先在友盟平台添加新应用中,申请一个新应用,然后得到一个appkey.

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,从而解决问题

在App中添加数据统计功能(友盟)

标签:

原文地址:http://www.cnblogs.com/moxuexiaotong/p/4876130.html

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