iOS集成友盟统计及测试

作者: Maxxin | 来源:发表于2016-08-03 18:27 被阅读8189次

    今天集成友盟统计,自己整理了也算简洁的步骤,希望能对大家有所帮助

    主要内容:下载哪种SDK | pod集成SDK | 自定义事件 | 添加测试设备


    1、(第一步这里就借鉴友盟的SDK文档)

    2、现在进入了下载SDK,这里涉及到了一个问题,你需要下载哪一个SDK

    UMengAnalytics---标准SDK,含IDFA

    UMengAnalytics-NO-IDFA---无IDFA版SDK

    简单解释一下:IDFA中文解释为广告标示符,用于给开发者跟踪广告用的,IDFA是存储在客户IOS系统上的,同一设备上的程序获取到的IDFA是相同的,IDFA是暂态ID,友盟一般是用UMID识别的,你如果使用IDFA上线的时候要做出说明并且处理一下,容易被拒,所以这里我不要IDFA(末尾有关于上线的小彩蛋,可以看一下)

    无IDFA版SDK这样找:

    无IDFA版SDK

    3、开始集成

        我本人一般喜欢用pod集成,如果你的电脑用过cocoapods可以用以下的方式(pod文件的建立这里不细说了)

    进入工程目录,你可以从xcode项目右击进入终端,也可以直接在mac上搜索terminal直接打开终端cd目录,这里我是从xcode进去的

    打开podfile,在里面加入pod'UMengAnalytics-NO-IDFA'

    podfile中加sdk名字

    在终端输入pod install --verbose --no-repo-update  进行安装(本地已经下载好,所以不用pod search)

    终端

    4、开始集成的代码部分

        集成成功后退出项目点击白色文件重新进入xcode,(我的截图里应该清楚地表明在那一个方法里加入这句代码)替换你的appKey,想统计的渠道channelId,后面的基本是固定的,如果有特殊的需求,可以看文章末尾的链接。

        那么最简单的统计已经集成完了,这时候你用测试机,或者模拟器,只要是不同的机型就可以在友盟官网看到下载量了

    !!!pod集成时你可能会遇到一个错误:

    pod集成常见错误

    解决办法:

    在这里把这个复制给大家:$(inherited) -ObjC -l"Masonry" -l"sqlite3" -l"z" -framework "CoreTelephony" -framework "Foundation" -framework "UIKit" -framework "UMMobClick"

    因为我这里集成了Masonry.h,各位找规律,缺什么就往里添加就可以了。

    5、自定义事件

    如果你有特殊的需求:例如统计用户点击按钮,用户支付,用户是否登录。。。

    首先你需要来到你想统计事件的方法中,例如按钮点击,就来到按钮的点击方法,在方法中加入一句代码

    同时你要在友盟端去添加这个自定义事件,这个id要相同,这样当你在手机点击发送的通知,友盟才能识别,去友盟

    友盟添加自定义事件

    当然,这个在测试机上操作,查看不到结果,你需要去集成测试,添加测试设备

    6、添加测试设备

    第一步:我们先去AppDelegate中,加一句代码:

    然后到友盟中添加测试设备

    1 2

    设备识别信息的获取,sdk中提供的方法是这样的:到AppDelegate中粘贴

    不要这个方法

    当我们调用setLogEnabled:这个方法后,在真机或者模拟器第一次安装或者退到后台时,就会输出我们需要的oid,也就是device_id:对应的值

    简便的可以看到oid

    直接将获取的oid按照要求的设备识别信息格式添加到框框里,然后添加就可以了

    7、测试可能遇到的问题

    也许你运行程序后测试了你想统计的事件,例如按钮点击,但是发现日志里什么也都没有:如下

    解决的方法:

    1、搜索设备和搜索应用没有选择(那就有点呆萌了);

    2、试试将应用退到后台30s再启动测试,或者将程序从测试机卸载重新运行。

    然后应该就可以看到实时日志了:

    相关连接:

    手动集成‘UMMobClick/MobClick.h’ file not found 解决办法

    CocoaPods安装和使用教程

    关于友盟渠道使用的那些事儿_U盟友盟应用统计论坛

    【多渠道打包工具】非官方出品,转给需要的你!

    本文所有言论是我的个人观点,如存在错误与不足欢迎大家指点~~

    本人QQ:1424900357



    **说一下如果app审核被拒了,反馈原因中提到IDFA,问题可能出现在哪?怎么解决呢?

    反馈:项目中使用了IDFA广告标示符

    如果项目中你没有用到,那一般是第三方类库用到的,比如百度统计、友盟统计、讯飞语音(其实这些类库都已经更新,去掉了IDFA广告标示符的使用)。在上传程序成功是其实已经有警告说明没有声明,有IDFA问题,可能会被拒绝

    解决方法:

    1、更新各个类库,下载最新的类库,换上。(新的类库可能新增了一些类库,请参照官方文档调试修改)

    2、去掉项目中的AdSupport框架。

    调试通过重新上线即可,不会再有IDFA的警告。

    相关文章

      网友评论

      • JHA:如果不添加测试设备 别人下载的你的app 崩溃了 要怎么查看错误报告啊
      • 春阳_fc96:添加ios测试设备,使用友盟官方给的代码,openUDIDString是没有这个方法的啊,我这直接崩溃了。请问是需要从其他地方或者这个方法的代码吗?
        Maxxin:@春阳_fc96 我没看到官方文档中有这个方法:sweat:
      • hhgvg:pod 集成的可能出现的错误 你没讲明白 能在详细讲一下吗
        Maxxin:@hhgvg 1:你cd的地方对吗
        hhgvg:@Maxxin 你上面提及到的pod集成可能产生的错误 我按你的方法输进去还是报错 提示文件找不到
        Maxxin:@hhgvg 这篇讲集成友盟的,所以pod没有细说,你遇到问题了?可以私聊我看看是否帮得上忙
      • eryuxinling:你好,我在Appdelegate.m 里面添加[MobClick setLogEnabled:YES];代码,无法自动输出device_id呢?我在工程里面设置了debug 和relase模式下NSLog函数,复制那一大段代码是可以输出"oid"的,大概是什么原因呢?
        Maxxin:@eryuxinling 不客气:smile:
        eryuxinling:@Maxxin 好的,谢谢了,我把项目中的不同模式下NSLog输出,注释掉,就可以用那一句代码带输出device_id了,真是谢谢你呀!
        Maxxin:@eryuxinling oid就是deviceid,只要可以获取到就好,deviceid用来测试,获取的方式不重要
      • WLAnswer:怎么设置暂停统计
        Maxxin:@WLAnswer 这个我没尝试过,问问客服吧……
      • leejnull:如果集成第一个标准版的话,那么上线的时候,即使app里面没加广告,但是苹果的那个有无IDFA的选项也要选是吗?还是选否也可以?
        Maxxin:@一个Lee 选无
      • DonnyDD:您好,集成友盟统计被拒好几次,请问一下,友盟统计会上传用户设备号等隐私,需要在APP哪里提示用户隐私数据被上传,是在注册页面搞个隐私声明吗?谢谢
        DonnyDD:@Maxxin 好的 谢谢
        Maxxin:@DNCoder 这个情况我没遇到过,去这参考一下吧 http://bbs.umeng.com/thread-5692-1-1.html
      • 来宝:楼主,友盟统计的数据可以从后台导出来吗?
        Maxxin:@来宝 貌似不可以,你可以给项目做个本地数据库,存储你想要的信息,然后每次启动或者到指定界面向服务器做上报,这样和友盟统计的效果是一样的,而且这数据是你们的,也不必烦恼导不出来的问题
      • macfai:你好,楼主,我今天刚集成的,没有用真机,模拟器看不到任何统计信息啊,是要等到第二天才能看到吗,还是我的代码有问题,是按照文档做的啊
      • 老友_:你好,请问一下,在集成测试的时候,添加测试设备device_id的那一段oc代码,用swift写出来的代码有吗
        Maxxin:@老友_ 我文中写了,可以不必总那一堆代码的,只要你的集成代码中有那句setLogEnabled,那么在你第一次安装程序活着退到后台的时候就可以自动输出你想要的device_id
        老友_:@Maxxin 我之前也是按照这个集成的友盟,可以实现友盟统计,但是统计的这些数据要等到第二天才能显示,我现在是想添加一个测试设备,然后可以实时的知道统计数据,但是在获取device_id的时候,我这边直接获取的device_uuid,并没有达到想要的效果。主要是那一段获取deviceid的oc代码不会转换成swift代码,,
        Maxxin:@老友_ http://www.cnblogs.com/hazhede/p/5527305.html去这参考看看,swift我没继承过
      • 空转风:请问一下,如果我的app里没有广告,那么我集成友盟的无idfa版本的话能统计用户数据吗?或者说能统计用户下载量什么的这些数据吗
        空转风:@Maxxin 谢谢
        Maxxin:@年光逝也被僵尸号占了 可以,没有影响

      本文标题:iOS集成友盟统计及测试

      本文链接:https://www.haomeiwen.com/subject/khnqsttx.html