避免登录按钮的 Facebook 和 iOS 集成最佳实践
Posted
技术标签:
【中文标题】避免登录按钮的 Facebook 和 iOS 集成最佳实践【英文标题】:Facebook and iOS integration best practice to avoid login button 【发布时间】:2012-09-02 20:54:51 【问题描述】:我开始在我的应用程序中使用 FB 集成,并且我已经阅读了很多信息。
我已经下载了 SDK 并完成了将框架集成到我的应用中的所有必要步骤。它已经为 Facebook 准备好了。
尽管如此,我还没有完全弄清楚一件事。这是相当概念化的东西。
我的应用程序非常简单。只有几个屏幕,没有骨干网、网络服务、用户帐户等。你基本上把三个选项放在牌上,洗牌后选一张牌。没有别的了。
关于 Facebook 集成的每个入门教程都有登录部分。我见过的每个示例都有登录按钮,但我真的不想在我的应用程序上有登录按钮。只需“分享”按钮即可。
解决这个问题的最佳方法是什么?我应该先让“分享”按钮像“登录”按钮一样,然后再分享内容吗?下次它会知道用户已经登录并以某种方式跳过登录部分吗?
这里最好走哪条路?
【问题讨论】:
【参考方案1】:发帖时,如果尚未登录,您将自动完成登录过程然后发帖。
如果您存储了检索到的登录令牌,那么您将来会使用它并且您不需要再次登录。
编辑-----
我这样做的方式。我有一个 Facebook 单例课程。在单例初始化时,您将 facebook.accessToken 设置为登录完成时存储在 NSUserDefaults 中的 accessToken。 这样,您可以使用 .isSessionValid 方法来决定是重新登录还是只是发布。如果用户尚未登录,则 accessToken 将为 nil,因此会话无效。
-(void) postToWallWithDialogNewHighscore:(int)highscore
_highScore = highscore;
_postAfterLogin = NO;
if (![_facebook isSessionValid])
NSLog(@"session not valid");
_postAfterLogin = YES;
[_facebook authorize:_permissions];
else
NSLog(@"session valid so post");
[self postToWallWithDialogNewHighscore];
我希望这会有所帮助。如果没有,请告诉我。
【讨论】:
谢谢达伦。我仍然不知道我是否必须从示例中获取登录操作的代码并将其分配给我的“共享”按钮,而不是在墙上发布一些额外的代码。这是唯一让我觉得合乎逻辑的事情,但我根本没有这方面的经验,关于这种方法我看不清楚的另一件事是如何在用户已经登录并点击时管理案例同样的“共享”按钮也将执行登录/授权代码。 基本上就是这样。我会测试一下。谢谢! 如果您需要更多帮助,请告诉我。以上是关于避免登录按钮的 Facebook 和 iOS 集成最佳实践的主要内容,如果未能解决你的问题,请参考以下文章
用户尝试登录时,iOS App 中的 Facebook 集成问题
适用于 iOS 的 Facebook 和 Quickblox 集成