本文来自网易云社区

作者:马军

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追踪一般采用以下几种方案

  1. 通过IDFA来追踪。这种方案一般使用在App里面打开下载链接这种推广方式。这种方式需要先在提供下载链接的渠道app中收集IDFA,在下载安装后,启动app的时候再次上传IDFA,两者进行比进行验证渠道信息。

流程大概如下

但这种带来的局限性也显而易见,分发渠道只限于app,不适用网页或微信中的下载渠道。需要和第三方的渠道商进行接口开发,也会增加开发的成本。另外IDFA的变化也会导致部分信息丢失。

  1. 通过模糊匹配的方式进行追踪。

针对网页中的下载链接,虽然拿不到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渠道追踪方式的更多相关文章

  1. iOS渠道追踪统计方法大全

    说起 iOS 的渠道统计,不少人会想到苹果官方的 App 分析功能(iTunes Connect),但实际操作中我们会发现,这个服务的统计维度还不够全面,许多广告主和运营人员更关心的是各个推广渠道实际 ...

  2. iOS渠道分包2种模式之包内注入文件分包

    解决问题:商业模式中会存在这样的形式1款app需要不同的运用团队(工会)去分包推广,谁推广的包下载的人数都会在服务器记录,不同渠道的标示唯一来区分. iOS渠道分包模式有两种 一.IDFA模式 IDF ...

  3. iOS页面传值方式

    普遍传值方式如下: 1.委托delegate方式: 2.通知notification方式: 3.block方式: 4.UserDefault或者文件方式: 5.单例模式方式: 6.通过设置属性,实现页 ...

  4. iOS数据持久化方式及class_copyIvarList与class_copyPropertyList的区别

    iOS数据持久化方式:plist文件(属性列表)preference(偏好设置)NSKeyedArchiver(归档)SQLite3CoreData沙盒:iOS程序默认情况下只能访问自己的程序目录,这 ...

  5. iOS -数据持久化方式-以真实项目讲解

    前面已经讲解了SQLite,FMDB以及CoreData的基本操作和代码讲解(CoreData也在不断学习中,上篇博客也会不断更新中).本篇我们将讲述在实际开发中,所使用的iOS数据持久化的方式以及怎 ...

  6. IOS 网络请求方式

    iOS开发中的网络请求   今天来说说关于iOS开发过程中的网络请求. 关于网络请求的重要性我想不用多说了吧.对于移动客户端来说,网络的重要性不言而喻.常见的网络请求有同步GET, 同步POST, 异 ...

  7. IOS以无线方式安装企业内部应用(开发者)

    请先阅读:http://help.apple.com/deployment/ios/#/apda0e3426d7 操作系统:osx yosemite 10.10.5 (14F1509) xcode:V ...

  8. iOS 加锁的方式

    iOS多线程编程中,经常碰到多个线程访问共同的一个资源,在线程相互交互的情况下,需要一些同步措施,来保证线程之间交互的时候是安全的.下面我们一起看一下学一下iOS的几种常用的加锁方式,希望对大家有所帮 ...

  9. 最新iOS砸壳方式Frida (Mac OSX)

    1. 安装Frida 首先需要安装Python3,我下载的是 macOS 64-bit installer 安装,因Macbook本机自带python为2.7.x,故需要配置~/.bash_profi ...

随机推荐

  1. 20165233 学习基础和C语言基础调查

    学习基础与<做中学>阅读心得 读<做中学>有感 娄老师通过在学习工作中总结出的"做中学"的方式,将其运用到减肥.五笔训练.乒乓球训练以及英文单词背诵的过程中 ...

  2. Spring中的注解配置-注入bean

    在使用Spring框架中@Autowired标签时默认情况下使用 @Autowired 注释进行自动注入时,Spring 容器中匹配的候选 Bean 数目必须有且仅有一个.当找不到一个匹配的 Bean ...

  3. codeforces:Prefix Sums分析和实现

    题目大意: 给出一个函数P,P接受一个数组A作为参数,并返回一个新的数组B,且B.length = A.length + 1,B[i] = SUM(A[0], ..., A[i]).有一个无穷数组序列 ...

  4. Memcached在Linux环境下的使用详解http://blog.51cto.com/soysauce93/1737161

    大纲 一.什么是memcached 二.memcached特性 三.memcached存储方式 四.memcached安装与配置 五.memcached结合php 六.Nginx整合memcached ...

  5. Notebook computer(Ubuntu)

    ==============Mask_RCNN============== source activate flappbird cd /home/luo/Desktop/MyFile/MaskRCNN ...

  6. 安装bcmath 扩展

    1.在php源码包中,默认就包含bcmath扩展的安装文件,只需手动安装一下即可 cd /root/build2/php-/ext/bcmath // 进入PHP的源码包目录中的bcmatch扩展目录 ...

  7. ubuntu 卡在登陆界面无法进入桌面,但是可以进入命令行界面

    ubuntu 卡在登陆界面无法进入桌面,但是可以进入命令行界面(初步断定是Xwindows界面软件出问题了,所以重装即可!)Solve: 1.Ctrl+Alt+F1进入命令行界面,root账户登陆2. ...

  8. php 伪协议探究

    0x01序 PHP伪协议探究 php中支持的伪协议有下面这么多 file:// — 访问本地文件系统 http:// — 访问 HTTP(s) 网址 ftp:// — 访问 FTP(s) URLs p ...

  9. list和数组排序(冒泡)

    package cn.test.bubble; import java.util.ArrayList; import java.util.Arrays; import java.util.List; ...

  10. 【转】java遍历实体类的属性和数据类型以及属性值

    和同学接了个外包的活,由于项目中很多地方要用到poi导出excel,而每次导出都要写很多相同的代码,因为poi的cell.setCellValue();每次设置的都是不同实体bean的属性值,导致代码 ...