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

我有一个相同的iPhone应用程序的免费和付费版本。 我想为他们分享一个Facebook应用程序ID,因为他们本质上是相同的应用程序。 我以为我可以通过从Facebook类使用这种方法来完成这一点。

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

然而,login总是失败的应用程序之一(在我的情况下免费版本),似乎是因为在Web界面中创build的Facebook应用程序要求应用程序包ID和应用程序商店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. * ... */ 

谢谢。 – Alex

你可以使它工作。 每个应用程序必须有不同的urlscheme(因为这是如何redirect到您的应用程序)。

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

没有设置localAppId: “fb123456789” (localAppId = nil)

免费应用程序的urlscheme: “fb123456789lite” (localAppId =“lite”)

付费应用urlscheme: “fb123456789pro” (localAppId =“pro”)

来自评论:

localAppId是附加到用于SSO的基本URLscheme的小写字母的string。 例如,如果您的Facebook ID是“350685531728”,并且您将localAppId设置为“abcd”,则Facebook应用程序将希望您的应用程序绑定到以下URLscheme:“fb350685531728abcd”。