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

我有一个相同的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. 
 * ...
 */

谢谢.
– 亚历克斯

最佳答案 你可以使它工作.每个应用程序必须具有不同的网址方案(因为这是Facebook重定向回您的应用程序的方式).

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

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

免费的应用程序网址方案:“fb123456789lite”(localAppId =“lite”)

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

来自评论:

localAppId is a string of lowercase letters that is appended to the
base URL scheme used for SSO. For example, if your facebook ID is
“350685531728” and you set localAppId to “abcd”, the Facebook app will
expect your application to bind to the following URL scheme:
“fb350685531728abcd”.

点赞