我离线时如何通过FB App分享链接

时间:2013-04-11 15:34:58

标签: ios objective-c facebook-ios-sdk

我正在为iPhone开发移动应用程序。该应用程序将主要供在不同国家/地区度假的人使用,并且由于互联网流量的高成本,大部分时间都处于离线状态。

但是,我正在开发应用程序的公司希望用户能够在人们没有连接到互联网时使用“Facebook共享”功能。

它应该以他们单击应用程序中的SHARE链接按钮的方式工作,但随后会收到一条消息,指出它们处于脱机状态,并且链接将在再次联机时立即共享。

我正在试图弄清楚如何做到这一点。我可以通过fb://协议(或其他任何方式)将我想要分享的链接传递给官方FB应用程序,FB应用程序会在它再次联机后立即处理帖子/共享吗?

或者我必须自己做,将我想要分享的链接放在内部数据库中,然后当我再次上线时将它们发布到墙上?

或任何其他方式??

欢迎任何建议,我希望有一个非常快速的解决方案,并希望有人可能知道如何做到这一点。我希望我可以将共享链接传递给官方FB应用程序,并且当它再次上线时,它会处理所有内容!?

感谢您的想法!

1 个答案:

答案 0 :(得分:0)

您的方法应该是让链接共享代码自动缓存请求,直到它们被发送。该应用程序无需关注细节 - 它可以发布链接并从您的API获得“失败”,“成功”或“推迟”响应,并相应地通知用户。

您的链接共享代码可以在内部检查它当前是否可以发布到FB,如果没有(因为用户当前处于脱机状态或Facebook令牌已过期),它将存储它以供日后使用。然后,该类将定期重新检查(例如,当应用程序到达前台时或者在下次应用程序启动时初始化类)以进行连接,然后它将检查令牌是否仍然有效并在需要时执行FB登录。一旦它有一个有效的令牌,它就可以遍历待处理的请求并对它们采取行动。

如果你真的想让它变得干净整洁,你可以将接受传入请求的代码分开,检查它是否可以立即执行,是否存储或将其存储以供日后使用,并定期检查任何请求。待处理队列。这个类不会知道请求的作用或执行方式,它将与另一个实现协议的类一起完成实际的工作,并且知道facebook等。甚至可能存在这样的设计模式。设置,但如果有的话,我不知道它叫什么。

更新:我做了一些研究,发现这与“火与忘记模式”非常相似。