IOS渠道追踪方式
本文来自网易云社区
作者:马军
IOS,安卓渠道追踪的差异
Google Play国内不可用,国内的安卓 App 分发,都是依托几十个不同的应用市场或发行渠道,如百度、360、腾讯等互联网企业以及小米、华为、魅族等手机生产商。对于安卓 App 的渠道追踪,主要是围绕上面这些大的渠道来进行,并且这些渠道自己一般也会提供非常详尽和周全的数据分析给应用开发者。
iOS 的发行渠道则与安卓有很大的不同,除了少数越狱的机器之外,大部分用户的 App 都是从 App Store 下载的。iOS 的“渠道”其实通常是指那些在其它 App 或者网页内部,提供到 AppStore 的链接的页面。因此,在 iOS 中追踪发行渠道,主要是追踪进入 App Store 相关页面的渠道信息
IOS的渠道分发途径
IOS的渠道分发都是跳到app store下载,而app store并不会提供太多的信息,虽然在ITC中也在下载链中增加CT来进行分析。对追踪的 下载的流程不外乎下载页->app store下载页面->打开app激活,因最终的安装包都来自app store,在安卓中常用的在app中增加渠道号的方式就不可用了。
目前IOS追踪一般采用以下几种方案
通过IDFA来追踪。这种方案一般使用在App里面打开下载链接这种推广方式。这种方式需要先在提供下载链接的渠道app中收集IDFA,在下载安装后,启动app的时候再次上传IDFA,两者进行比进行验证渠道信息。
流程大概如下

但这种带来的局限性也显而易见,分发渠道只限于app,不适用网页或微信中的下载渠道。需要和第三方的渠道商进行接口开发,也会增加开发的成本。另外IDFA的变化也会导致部分信息丢失。
通过模糊匹配的方式进行追踪。
针对网页中的下载链接,虽然拿不到IDFA,但可以获取safari的UA和IP地址,获取UA 中的OS,浏览器版本,机型,IP以及登录时间。在下载之后另外在App侧也需要上传UA信息和Ip到服务端,和之前的信息进行比对,再结合访问的时间可以大致识别一些用户的来源。大致流程如下

但这种方式的局限性也显而易见,大量用户的准确性不高,另外对于同一出口IP的误差就更大。
3,通过cookie的方式来进行追踪
IOS新增了一个控件SFSafariViewController,这个控件增加了很多新的特性,但关键的一点是可以跨app与safari共享cookie。这给我们带来一个新的思路,可以利用safari与appp相同的cookie来识别不同的渠道信息。 具体的流程如下:

基本的原理是用户在使用safari打开下载地址时候,将渠道信息写入到cookie。当用户下载安装app,启动app的时候,在app里面使用SFSafariViewController访问同一地址,系统匹配两次cookie来追踪渠道。
此种方式比较准确,局限性也显而易见,只支持IOS9以上的。但目前IOS9以上的设备已经覆盖了8成以上的用户,对于剩下的用户,可以使用上面另一种方式进行补充了
本文来自网易云社区,经作者马军授权发布
相关文章:
【推荐】 【专家坐堂】四种并发编程模型简介
IOS渠道追踪方式的更多相关文章
- iOS渠道追踪统计方法大全
说起 iOS 的渠道统计,不少人会想到苹果官方的 App 分析功能(iTunes Connect),但实际操作中我们会发现,这个服务的统计维度还不够全面,许多广告主和运营人员更关心的是各个推广渠道实际 ...
- iOS渠道分包2种模式之包内注入文件分包
解决问题:商业模式中会存在这样的形式1款app需要不同的运用团队(工会)去分包推广,谁推广的包下载的人数都会在服务器记录,不同渠道的标示唯一来区分. iOS渠道分包模式有两种 一.IDFA模式 IDF ...
- iOS页面传值方式
普遍传值方式如下: 1.委托delegate方式: 2.通知notification方式: 3.block方式: 4.UserDefault或者文件方式: 5.单例模式方式: 6.通过设置属性,实现页 ...
- iOS数据持久化方式及class_copyIvarList与class_copyPropertyList的区别
iOS数据持久化方式:plist文件(属性列表)preference(偏好设置)NSKeyedArchiver(归档)SQLite3CoreData沙盒:iOS程序默认情况下只能访问自己的程序目录,这 ...
- iOS -数据持久化方式-以真实项目讲解
前面已经讲解了SQLite,FMDB以及CoreData的基本操作和代码讲解(CoreData也在不断学习中,上篇博客也会不断更新中).本篇我们将讲述在实际开发中,所使用的iOS数据持久化的方式以及怎 ...
- IOS 网络请求方式
iOS开发中的网络请求 今天来说说关于iOS开发过程中的网络请求. 关于网络请求的重要性我想不用多说了吧.对于移动客户端来说,网络的重要性不言而喻.常见的网络请求有同步GET, 同步POST, 异 ...
- IOS以无线方式安装企业内部应用(开发者)
请先阅读:http://help.apple.com/deployment/ios/#/apda0e3426d7 操作系统:osx yosemite 10.10.5 (14F1509) xcode:V ...
- iOS 加锁的方式
iOS多线程编程中,经常碰到多个线程访问共同的一个资源,在线程相互交互的情况下,需要一些同步措施,来保证线程之间交互的时候是安全的.下面我们一起看一下学一下iOS的几种常用的加锁方式,希望对大家有所帮 ...
- 最新iOS砸壳方式Frida (Mac OSX)
1. 安装Frida 首先需要安装Python3,我下载的是 macOS 64-bit installer 安装,因Macbook本机自带python为2.7.x,故需要配置~/.bash_profi ...
随机推荐
- MultipartFile 转换为File
选择用缓冲区来实现这个转换即使用java 创建的临时文件 使用 MultipartFile.transferto()方法 . MultipartFile multipartFile; File fil ...
- bootargs中ip段各项解释
目标板:合众达的SEED-DVS6467开发板 内核版本:2.6.10 最近同事测试板卡nfs挂载PC的文件系统时出现点问题,PC上ifconfig中显示以太网为eth3,然而板卡启动参数列表相关信息 ...
- XML解析的二种方法之dom解析
XML解析的二种方法:dom解析和sax解析 文件大小 存储位置 读取速度 dom解析 小文件 放在内存中 快 sax解析 ...
- Bourne Shell:控制语句、条件判断、文本处理、常用命令
条件判断是一个程序获得智能的基础,而Bourne Shell脚本则通过命令 [ 来模拟大多数编程语言中的条件表达式. shell中支持的控制结构有: (1) if then else fi (2) f ...
- jekins测试环境自动化
最近搭建测试环境自动化,之前都是用机器猫.机器猫的流程大概是这样,开发打包上传到svn,给测试一个svn地址,测试到机器猫上传文件,然后再运行启动. 为了减去开发打包这个环节,所以专用jenkins. ...
- ssm 动态切换数据源
1,添加数据库配置 jdbc.driver=com.microsoft.sqlserver.jdbc.SQLServerDriver #jdbc.url=jdbc:sqlserver://192.16 ...
- basicHttpBinding
表示一个绑定,Windows Communication Foundation (WCF) 服务可以使用此绑定配置和公开能够与基于 ASMX 的 Web 服务和客户端通信的终结点以及符合 WS-I B ...
- LoadRunner--Analysis各项指标详解
转载 https://blog.csdn.net/liangfengchang/article/details/45070321 一.常用到的性能测试术语 1.事务(Transaction) 在web ...
- Linux select/poll和epoll实现机制对比
关于这个话题,网上已经介绍的比较多,这里只是以流程图形式做一个简单明了的对比,方便区分. 一.select/poll实现机制 特点: 1.select/poll每次都需要重复传递全部的监听fd进来,涉 ...
- cnblog博客管理
http://www.cnblogs.com/wc1903036673/ 12436109 https://www.cnb ...