在Android应用程序中集成Facebook和Twitter提要

时间:2011-06-08 17:46:53

标签: android facebook twitter android-intent integration

我正在为我的应用添加社交集成,我正在寻找一般建议如何去做。

目前该应用程序正在显示特定Facebook墙的供稿(由Facebook的Android SDK处理的身份验证)以及针对特定Twitter主题标签的供稿。这是一个开始,但我希望这些提要做得更多。对于Facebook:

  • 对于长饲料项目,用户应该能够“看到更多”,包括链接图片
  • Feed内的链接应在浏览器中运行并打开
  • 喜欢/不像饲料项目
  • 评论饲料项目
  • 张贴在墙上(在Feed中创建另一个项目)

同样,对于Twitter:

  • 推文中的链接应该可以在浏览器中使用并打开
  • 回复并转发推文
  • 创建包含特定主题标签的推文

由于Facebook和Twitter都有全面的API,并且有足够的代码示例,这在技术上是可行的,但似乎很像重新实现Facebook和Twitter客户端。要完成所有细节,维护API更改代码,这需要做很多工作, 而不是真的在我的应用程序的范围内。

所以我在想如何避免重新实现Facebook和Twitter客户端。

理念一:将用户定向到相应网站的移动版本并完成。缺点是用户必须经过繁琐的身份验证,即使已经在用户的设备上安装和验证了专用的客户端应用程序。

理念二:使用intents系统插入现有应用程序:如果安装了官方Twitter应用程序,请使用它进行主题标签搜索。如果安装了Seesmic或Twidroid或其他一些Twitter客户端,请使用它。作为后备,在浏览器中打开Twitter的移动网站。与Facebook类似。这里的缺点是“show facebook stream”或“搜索X推文”的意图不是标准化的。大多数当前的应用程序甚至没有记录插入它们的方法。在这些应用程序中使用未记录的入口点是可能的,但会使我的应用程序hacky和脆弱。

那么,这个问题,您是如何处理在您的应用中集成Facebook和Twitter功能,或者其他人看到的?

3 个答案:

答案 0 :(得分:2)

这是关于如何实现twitter / facebook oauth的一个很好的提示:

  1. 创建新活动并将其命名为OAuthActivity。
  2. 创建扩展WebView的新类。
  3. 关注WEB应用程序的facebook开发人员指南(不是移动应用程序!),并在WebView中实现oauth调用。对于Twitter使用Signpost-core和signpost-commonshttp4来获取oauth(facebook使用自己的oauth变体,所以你需要自己做)。
  4. 覆盖WebView,以便在Facebook将WebView子类重定向到回调网址时自动关闭。
  5. 使用OAuthActivity通过RunActivityForResult将OAuth密钥/密钥返回到您的主要活动。
  6. 这样屏幕方向改变就可以了;你将拥有与FB和TW相同的架构。

    我已经以这种方式实现了它,但我无法共享我的代码(它已获得我公司的许可)。

答案 1 :(得分:1)

当我将Facebook和Twitter集成添加到我的应用程序(无耻插件:Secret Message)时,我试图通过Intent调用已安装的Twitter客户端应用程序。这并不好玩,因为没有“facebook / text”或“twitter / text”Intent这样的东西。我知道一些Twitter应用程序创建了自己的应用程序,但它们并未普遍使用或甚至未知。

因此,另一个选项是获取所有已安装应用的列表,并对要在选择器中显示的用户进行过滤以供用户选择。但是检索包列表及其用户友好名称需要永远。所以我讨厌这个选择。

我最终将Facebook和Twitter的非常简单的GUI集成到我自己的应用程序中,并且只使用OAuth对用户进行身份验证。

我希望这可以帮助你选择方向。

答案 2 :(得分:1)

在Android上实现Twitter集成非常简单(您可以使用Twitter4J这是一个非常好的Twitter Java库来访问公共Web服务)。

在您对Twitter用户进行身份验证后,整合推文/转发是基本的东西(只需要一个文本框,允许用户输入140个字符和一个按钮来提交它 - 创建推文,转发,回复等等都是一件事使用twitter4J的1或2行代码。链接内容需要格式化您的列表视图以处理网络链接并在适当时打开。

整个Twitter整合的最艰难的部分就是完成OAuth的工作 - 有一个关于如何实现twitter和OAuth身份验证的教程here

不幸的是,我从来没有尝试过facebook集成,但希望有人能够提供帮助。