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 ...
随机推荐
- 「小程序JAVA实战」小程序开源搜索组件(53)
转自:https://idig8.com/2018/09/22/xiaochengxujavashizhanxiaochengxukaiyuansousuozujian52/ 上次说了可以在视频中通过 ...
- JS: 如何计算一个月有多少天
转自:https://www.2cto.com/kf/201806/755776.html 1 function getCountDays() { var curDate = new Date(); ...
- 【python 】Requests 库学习笔记
概览 实例引入 import requests response = requests.get('https://www.baidu.com/') print(type(response)) prin ...
- maven核心概念及约定的目录结构
- 经典的图像匹配算法----SIFT
经典的图像匹配算法----SIFT http://mp.weixin.qq.com/s?__biz=MzIzNDM2OTMzOQ==&mid=2247484319&idx=1& ...
- confd test
vi /etc/confd/confd.toml backend = "consul"confdir = "/etc/confd"log-level = &qu ...
- Cocoa Touch(四): 多线程GCD, NSObject, NSThread, NSOperationQueue
多线程的重要性不必多言,现代操作系统不可能离开进程线程的抽象.具体到ios应用,我们只能在一个进程中管理线程,主线程不应该去执行非常耗时间的后台操作导致出现卡机现象,后台的事情交给后台线程来完成. G ...
- 关于scanf的算法(位操作)
题目要求:输入有12行数据,每一行分别是每个月的余额.计算他们的平均值后输出.在输出时要在前面加上“$”,并在四舍五入后保留小数点后两位. 方法1: float a,b; main() { ;) b+ ...
- Python 入门学习(壹)上机时间提醒
基于 Udacity 的 Python 入门课程 Programming Foundations with Python 基于 Python 2.7 控制台版本 思路 Project 1 是一个时间提 ...
- js日期格式化 扩展Date()
javascript Date format(js日期格式化) 方法一: // 对Date的扩展,将 Date 转化为指定格式的String // 月(M).日(d).小时(H/h).分(m).秒(s ...