来自iOS开发人员的求助电话。我正在尝试识别手机中的不同广告网络。为此,我可用的唯一数据是来自Apps和浏览器的HTTP标头的URL。我可以通过网址结构轻松识别Admob,Jumptap等特定广告网络。例如,admob就像这样:
http://a.admob.com/*
http://p.admob.com/*
但我无法弄清楚如何识别Apple的iAds。有谁知道这些产生了哪种URL?
答案 0 :(得分:5)
好。我已经在这里借助一些iPhone和我的本地防火墙/网络代理服务器对此事进行了一些窥探,这就是我发现的:
唉,也没有主机名来帮助你。对横幅和广告单元的请求都在网址中包含IP地址,而不是主机名。顺便提一下,哪些IP地址似乎是Akamai内容分发服务器;我见过的地址主要是在70.183。*和174. *,但在这一点上没有保证。
我看到的网址结构非常复杂。剥离并替换〜我观察到的部分变化超过我嗅到的几百个请求,这给了我作为横幅请求的URL模式:
http://~~~~~~~~/~~~~~~~.ad/AdUnit/WebArchive.webarchive
http://~~~~~~~~/~~~~~~~.ad/Creatives/~~~~~~/HTMLBanner/WebArchive.webarchive
http://~~~~~~~~/~~~~~~~.ad/Creatives/~~~~~~/ImageBanners/~~~~~~~.png
这是为了在横幅触摸后下载实际广告:
http://~~~~~~~~/adunits/~~~~~~~~~~~/1.ad/AdUnit/~~~~~~~~~~~
如果您不需要区分广告横幅广告和点击次数,那么可能更有用的是查找用户代理,对于所有横幅请求,该用户代理为“AdSheet / 1.0”。 (当然注意到任何给定横幅的下载都有多个横幅请求 - 应用程序编写者向iAd指示他想要使用的所有不同尺寸;以及在下载广告内容时不是这种情况,这只是使用iPhone的常规用户代理。但如果您想要做的就是检测到iAd正在使用等等,那可能并不重要。)
答案 1 :(得分:2)
似乎它使用带有Akamai的https进行内容分发。检查iAd框架的文本字符串会显示https://iadsdk.apple.com/adserver
,它看起来很有希望作为加载广告列表的基地址。
答案 2 :(得分:1)
这里最好的选择是窥探设备正在使用的实际网址。有很多方法可以做到这一点,其中一些涉及越狱,但described on TUAW似乎非常好。通过这种方式,您可以观察很多广告并寻找共同特征。