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

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

时间: 2024-09-27 04:30:36

在App中添加数据统计功能(友盟)的相关文章

在App中添加微信分享功能

随着微信平台运用越来越普遍,在app中往往需要将看到的消息发送给微信好友,分享到朋友圈,因此就需要添加微信分享的功能.我们可以通过微信的开发者平台上的相关文档来实现这个简单的功能. 1.在微信开发者平台注册应用程序的id,通过审核后可以获得一个appid 2.有了appID后下载最新的微信终端sdk文件,SDK文件包括 libWeChatSDK.a,WXApi.h,WXApiObject.h 这三个.资料下载页面: https://open.weixin.qq.com/cgi-bin/showd

如何在App中实现朋友圈功能之一朋友圈实现原理浅析——箭扣科技Arrownock

如何在App中实现朋友圈功能 之一 朋友圈实现原理浅析 微信朋友圈.新浪微博.知乎等知名朋友圈类型功能,大家有没有想过其实现的逻辑呢? 本文以微信朋友圈功能为例,解析实现逻辑. 朋友圈的结构: 朋友圈从总体上来说会分为6块结构,分别是墙.用户.图片.墙贴.评论与点赞. 墙:一块公共的墙,所有的墙贴都位于其上,如果APP只实现朋友圈功能,那么墙贴其实是可以不用的,但是如果APP要实现朋友圈.新闻圈等等其他各种墙贴类型消息的话,那么墙就显得很有必要了,这时候我们需要通过建立不同的墙来展示不同类型的墙

如何在App中实现朋友圈功能之三快速实现双向好友功能——箭扣科技Arrownock

如何在App中实现朋友圈功能 之三 快速实现双向好友功能 在社交APP的使用中,用户相互添加好友是一个必要的场景,本期技术分享在这里给大家介绍如何利用AnSocial的Friend来实现微博粉丝和微信好友机制. 微博粉丝机制: 微博是一个单向的好友关系链,从单个用户出发,他拥有关注者和粉丝.利用Friend可以实现以下场景:用户A关注了B,用户C关注了A,即B拥有粉丝A,A拥有粉丝C. 具体实现方式: 用户A关注B,调用新建Friend(friends/add.json),参数中target_f

如何在App中实现朋友圈功能之五点赞、评论属性详细解析——箭扣科技Arrownock

如何在App中实现朋友圈功能 之五 点赞.评论属性详细解析 快速查看评论和点赞数量: 当我们创建一个墙贴后,这个墙贴会自动带有评论数量commentCount.赞数量likeCount.讨厌数量dislikeCount三个属性. 当有用户对这个墙贴进行了评论,该墙贴的commentCount属性会自动增长,无需开发者来手动操作实现. 如果用户建立的Like中like=true,那么likeCount会自动增长,反之,dislikeCount会自动增长. 如果用户把评论删除了,或者是把点赞撤销了,

如何在App中实现朋友圈功能之七快速实现上拉加载朋友圈功能——箭扣科技Arrownock

如何在App中实现朋友圈功能 之七 快速实现上拉加载朋友圈功能 逻辑分析: 取出缓存postList里的最后一条数据postList a. 如果lastPost存在,说明缓存里有数据,接着取出数据库中与lastPost时间最接近的一条latestPost,以它们的created_at作为关键查询条件,去服务器取limit条(比如10)数据: 1. 如果服务器返回的Post数量大于0,将Post存入数据库,之后需要做两个查询动作: 查询出新的Like和Comment:根据本地数据库里的最新一条Li

如何在App中实现朋友圈功能之二快速实现用户信息的自定义——箭扣科技Arrownock

如何在App中实现朋友圈功能 之二 快速实现用户信息的自定义 自我关联社交元素: anSocial中很多的社交元素API,如帖子(Post).相册(Album).文件(File)等,这些API的可选参数中允许传入其他社交元素的id. 当我们传了这些id时,服务器数据库里保存的是id,但是在返回结果里,会将这些id以对象的形式返回. 这样就大大提升了查询效率,原本需要查询两次的功能,现在可以一次实现,比如接下来要说的用户头像功能开发里可以利用的字段. 用户头像: 当我们在APP上创建用户,需要调用

在iOS App 中添加启动画面

你可以认为你需要为启动画面编写代码,然而Apple 让你可以非常简单地在Xcode中完成.不需要编写代码,你仅需要在Xcode中进行一些配置. 1.什么是启动画面(Splash Screen)? 启动画面是你在启动App的时候看到的第一个界面,通常,启动画面是覆盖整个屏幕的一张图片,在主屏幕装在完后隐藏. 启动画面的主要目的是让用户知道你的App正在装载,并且对用户介绍你的品牌.启动画面对哪些需要较长时间启动的Apps尤其重要.一般而言,启动画面是为了给用户更好的体验. 2.在你的App中添加启

用PHP向数据库中添加数据

显示页面(用户可见) <body><form action="chuli.php" method="post">  //将该页面接收的数据,交给chuli页面来处理<div>民族代号:<input type="text" name="code" /></div>       //创建一个div,放入接收器来接收code值<div>民族名称:<inpu

Eclipse中java向数据库中添加数据

前面详细写过如何连接数据库的具体操作,下面介绍向数据库中添加数据. 注意事项:如果参考下面代码,需要 改包名,数据库名,数据库账号,密码,和数据表(数据表里面的信息) 1 package com.ningmeng; 2 3 import java.sql.*; 4 5 /** 6 * 1:向数据库中添加数据 7 * @author biexiansheng 8 * 9 */ 10 public class Test01 { 11 12 public static void main(String