Twitter广告平台的私有API

Promoted Tweets是Twitter的一个广告平台。本文作者是发现在Twitter官方的应用中并没有显示一些广告,而决定分析Twitter是不是做了什么手脚。没有详细的步骤,只是可以了解一些工具的使用和Twitter的一个小动作。

 

Mac上的Twitter有些奇怪的行为: Timeline上的一些内容被过滤掉了. 下图就是一个对比,相较网页版本,其中"howaboutwe.com" 的内容没有在应用程序中显示出来。

 

这是一个Bug,还是Twitter自己打破了规则? 为什么官方的应用与Web Client得到了不同的数据?

Twitter是不是使用了一些自己未公开的API? 为了找到答案,我对Twitter动了手术刀。

Reverse Engineering Twitter.app

Twitter Sleuthing 101

  1. 使用class-dump 先进行反汇编,提取声明信息.
  2. 使用Hopper.app 找到处理HTTP请求的代码.
  3. 使用GDB检测对API的网络响应.
  4. 使用Rested for Mac比对两次获取数据时使用的API.

幸运的是这个应用是纯粹使用Objective C编写的, 就可以使用class-dump了解Twitter.app的基本内容以及如何设计的。首先,就发现其中有一个TwitterStatus可能和之前的过滤行为有关。注意其中一个是否promoted的标志位 (命名的重要性):

@interface TwitterStatus : NSObject <...>
{
NSDate *lastUpdated;
...
struct {
...
unsigned int isPromoted:1;

我们就可以假定Twitter就是从API服务器端收到promoted tweets内容,并使用这个标志位加以区分的。

分析数据流(On to the Data Stream)

通过Hopper.app, 一两小时后,就找到了响应网络数据的代码. 名字是[ABHTTPRequest connection:DidReceiveResponse:]。 

在使用GDB (Hopper提供了一个GDB Server可以和Hopper共同使用进行调试)在Twitter.app中设定断点,然后可以看到从服务器拿到什么数据。

在Terminal运行GDB:

> cd /Applications/Twitter.app/Contents/MacOS/
> gdb --arch=i386

然加加载Twitter并设定断点:

> (gdb) exec-file Twitter
> (gdb) b *0x6dec3
> (gdb) commands
> x/s $eax
> end
> (gdb) set print elements 0
> (gdb) r

首选你必须知道Twitter是使用XML传递数据的. API Server先是回应你的用户信息,然后发送你的Timeline feed内容。和网络版本比对,发现其中的内容确实不同。

Is This an Undocumented API?
到底是Twitter.app没有去收那些数据?还是API Server没有返回那些数据呢?

使用Rested for Mac, 可以快速的拉回我的Timeline中的内容。在下面的结果里可以看到API并没有回什么promoted tweets.

结论: Twitter有私有API (Conclusion: Twitter Has A Secret Feed For Promoted Tweets)
Twitter的开发页面中的FAQ显示, "从March 12, 2012起,第三方应用程序将不再有Twitter promoted products相关服务的API (there is no Advertising API for serving Twitter's promoted products in third party applications)." 也就是promoted tweets应当出现在所有使用API的应用中。很明显,事实并非如此。

为了移动广告这块大饼(2014年Twitter的广告收到可以达到5.4亿美金),Twitter并没有像他们宣传的那样,让开发者分一杯羹。 你知道你的promoted tweets去哪了吗?

Michael Schonfeld is head of developer relations at Dwolla, a service that empowers anyone with an Internet connection to send money simply. Follow Michael
Schonfeld
 and his brotherDaniel Schonfeld on Twitter.

原文地址:http://www.fastcompany.com/3002016/reverse-engineering-twitter-solve-advertising-mystery

转载请注明出处:http://blog.csdn.net/horkychen

时间: 2024-11-02 16:12:28

Twitter广告平台的私有API的相关文章

用户称Twitter广告尚处磨合期但大有潜力

新浪科技讯 北京时间10月8日下午消息,美国科技博客网站BusinessInsider日前采访了三位购买和使用过Twitter广告的公司高层.他们表示,虽然Twitter广告平台尚在磨合之中,但肯定大有潜力. 以下是这次采访要点: 某品牌经理:"Twitter在服务品牌广告主方面绝对属于后来者,但该公司仍在学习和不断改进之中.例如,Twitter在四月份推出了地理定位服务,在此之前,你无法通过地理位置技术锁定目标群体." "Twitter广告平台很大程度上仍处于磨合.&quo

Twitter计划将广告平台推广至第三方应用

北京时间9月27日下午消息,据国外媒体报道,Twitter曾于今年4月推出了试验性的Promoted Tweets广告平台.在经历长达6个月.横跨40个不同市场,以及与福特.维珍美国.Verizon等大品牌的合作之后,Twitter仍然将广告平台视为试验性质. 但这一点很快就要有所改变.Twitter已经计划11月将广告平台推广至Twitter.com主站以外,即推广到TweetDeck和Hootsuite等基于Twitter API的第三方应用中. 据可口可乐.电信巨头AT&T以及各大主要电影

Twitter发布官方博客介绍广告平台

北京时间4月13日消息,Twitter官方博客今日发布了标题为<Hello World>的文章,详细介绍了新广告平台Promoted Tweets. Twitter官方博客

传Twitter周三发布广告平台

北京时间4月13日上午消息,据国外媒体报道,消息人士透露,Twitter今天将发布期待已久的广告平台. 据悉,该广告平台的模式类似于谷歌Adwords,广告主可以对Twitter搜索和标签进行竞拍.消息人士表示,赞助商链接将出现在常规搜索内容的上方.除此之外,该广告平台还将提供类似于谷歌Adsense的服务,使得第三方应用也可以借此获得收入. 目前还不清楚该产品的具体细节,但消息人士表示,该产品将在周三的Chirp开发者大会上首次亮相.(书聿)

Twitter宣布推出广告平台PromotedTweets

北京时间4月13日晚间消息,微型博客Twitter周二宣布推出Promoted Tweets广告平台.企业用户可以购买特定的关键词,从而在用户对该关键词进行搜索时显示相关广告.Twitter今后还计划在用户的信息流中发布相关推广信息. Twitter表示,百思买.索尼.星巴克和美国维珍航空等公司已经参加了这一广告平台. Twitter的人气自2006年创建以来迅速增长,但尚未制定明确的网站盈利计划.外界普遍预期Twitter迟早会推出广告服务,不过Twitter已经与谷歌和微软达成了即时信息搜索

Twitter今天发布广告平台PromotedTweets

北京时间4月13日午间消息,据国外媒体报道,Twitter今天将推出备受期待广告平台,借此将快速增长的人气转换成收入. 迈出创收第一步 这个广告平台名为Promoted Tweets,借助该平台,广告主就可以购买特定的关键词,从而在用户对该关键词进行搜索时显示相关广告.Twitter今后还计划在用户的信息流中发布相关推广信息. 百思买.美国维珍航空(Virgin America).星巴克和Bravo等企业已经确定将使用这一平台. Twitter 首席运营官迪克·科斯特洛(Dick Costolo

消息称Twitter正在研发广告平台 处于测试阶段

北京时间2月24日早间消息,据国外媒体今日报道,Twitter产品管理与营收负责人阿那米特拉·班纳吉(Anamitra-Banerji)对媒体表示:"Twitter正在研发一个广告平台,现在只处于http://www.aliyun.com/zixun/aggregation/17244.html">测试阶段."班纳吉拒绝透露这个平台正式发布的确切日期. Twitter未就此事发表评论. 此事引起网络上对Twitter备受期待的广告平台的热议,众多知名博客纷纷在周二对Tw

Twitter或将发布广告平台引发博客猜测

北京时间2月24日早间消息,据国外媒体今日报道,Twitter产品管理与营收负责人阿那米特拉·班纳吉(Anamitra Banerji)对媒体表示:"Twitter正在研发一个广告平台,现在只处于测试阶段."班纳吉拒绝透露这个平台正式发布的确切日期. Twitter未就此事发表评论. 此事引起网络上对Twitter备受期待的广告平台的热议,众多知名博客纷纷在周二对Twitter广告业务作出预测. 知名新闻聚合网站MediaPost.com引用SocialMedia.com CEO塞思·

消息称Twitter开始测试自助广告平台

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 新浪科技讯 北京时间1月26日晚间消息,知情人士透露,Twitter正联合广告主和广告代理商测试自助广告平台,该系统有望于今年上半年正式推出. 该自助广告平台包括Twitter当前最流行的两种广告服务:"Promoted Tweets"(消息推广)和"Promoted Accounts"(帐户推广),测