如何在没有UDID的情况下跟踪iOS5上的下载

nss*_*nss 8 iphone tracking udid ios5

谁知道如何在没有UDID的情况下跟踪iOS应用下载(通过网络广告)?

我认为这是不可能的,特别是如果用户从网站到AppStore.但是一家名为WDA的公司似乎有可能实现这一目标.

http://www.lovefortech.com/2011/09/17/developers-track-ads-on-ios-and-android-devices-without-udid-with-apptracker/

http://wda.us/press/track-app-downloads-from-web-ads-without-udid.php

我有一些想法,但我不确定哪种方法最好.

1)Cookie:iOS应用无法访问Safari中的Cookie.2)共享本地存储:是否有可以由Safari编写并由本机iOS应用程序读取的共享存储?

mat*_*atm 8

我面临着类似的问题.以下是我提出的解决方案 - 我自己即将实施第二个解决方案.

第一解决方案

编辑:正如John Ballinger在下面的评论中指出的那样,作为UIDevice-with-UniqueIdentifier-for-iOS-5的作者gekitz将其许可证更改为麻省理工学院:)感谢John!

如果您只需要可靠的UDID替换,请尝试这一点,请注意其许可证.您还可以在GitHub上搜索其他解决方案.

二解决方案:

更新到这个解决方案:由于太多开发人员告诉我它会违反HIG,我已经放弃了这个想法.

更加灵活,允许跟随您的关联公司跟踪安装活动(例如,通过为每个关联企业分配一个特定的"UDID"值,您可以在安装应用程序后稍后检查,并将"UDID"发送到您的服务器).

SO用户:如果以下任何一项可能违反HIG,请告诉我们,实际上会导致被拒绝的申请(特别是第5,6和7步).

  1. 准备一个指向页面的链接,该页面执行一个脚本,该脚本保留一个唯一值的cookie(例如,服务器生成的"UDID").
  2. 用户点按Mobile Safari中的链接.脚本存储cookie,然后使用您的应用重定向到iTunes页面(例如 http://itunes.apple.com/us/app/skype/id304878510?mt=8&uo=4).
  3. App Store应用程序已启动并显示包含您的应用程序的页面.
  4. 用户安装应用程序并启动它.
  5. 在第一次启动时:在启动后,您会显示一条警告,要求用户激活该应用程序(只需一个按钮即可,例如"激活").
    • 注意:当应用程序进入后台并恢复时,您需要确保警报仍然可见.此外,你需要
  6. 用户点击"激活",您的应用程序退出/暂停,iOS打开Safari并转到页面(例如,在您的应用程序中硬编码链接),它读取cookie值(我们的"UDID")并使用URL方案启动您的应用程序传递" UDID"价值.
    • 注意:您需要允许Safari打开该链接(可能需要一些额外的编码,不确定);
    • 我相信一些带有EULA的页面(例如)必须呈现给用户和一个允许继续的按钮,因此用户体验很清楚(即没有应用程序离开打开safari的经验,并且在第二次safari辞职并打开之后你的应用程序).
  7. 应用程序启动/恢复,存储"UDID"并解锁应用程序以允许显示主UI等.
  8. 现在,您可以在为统计服务器等生成事件时使用存储的"UDID".
  9. 您可以稍后通过共享链接(在我的案例中分发在简报中的应用程序的URL方案链接)来更新/删除您的"UDID",这将打开您的应用并传递新值.

注意:您需要涵盖许多边缘情况,例如使用(或不使用)URL方案或推送通知等启动/恢复应用程序.

PS出去一段时间,但稍后会检查您的反馈.谢谢!