如何拥有付费和免费版本的iOS应用程序共享FB App ID?

时间:2011-09-09 23:33:40

标签: iphone ios facebook fbconnect

我有同一个iPhone应用程序的免费和付费版本。我希望他们共享一个Facebook应用程序ID,因为它们本质上是相同的应用程序。我以为我可以通过Facebook类使用这种方法来实现这一点。

- (void)authorize:(NSArray *)permissions localAppId:(NSString *)localAppId

然而,其中一个应用程序(在我的情况下是免费版本)的登录总是失败,并且似乎原因是在Web界面中创建的Facebook应用程序要求提供应用程序包ID和App Store ID。显然,我的应用程序的免费版本和付费版本不能具有相同的软件包ID或应用程序ID,那么我该如何使其工作?

Facebook.m中的文档表明,我可以使用上面提到的授权方法:

/*
 * ...
 * @param localAppId
 *            This is useful if your have multiple iOS applications that
 *            share a single Facebook application id (for example, if you
 *            have a free and a paid version on the same app) and you want
 *            to use SSO with both apps. 
 * ...
 */

感谢。 - 亚历克斯

1 个答案:

答案 0 :(得分:2)

你可以让它发挥作用。每个应用程序必须有不同的网址方案(因为这是Facebook重定向回您的应用程序的方式)。

您必须支持的示例网址方案: (您的Facebook应用程序ID:“fb123456789”)

未设置localAppId:“fb123456789”(localAppId = nil)

免费应用网址:“fb123456789lite”(localAppId =“lite”)

付费应用网址“fb123456789pro”(localAppId =“pro”)

来自评论:

  

localAppId是一个附加到的小写字母字符串   用于SSO的基本URL方案。例如,如果您的Facebook ID是   Facebook应用程序将“350685531728”并将localAppId设置为“abcd”   希望您的应用程序绑定到以下URL方案:   “fb350685531728abcd”。