使用相同Facebook应用程序ID的两个iOS应用程序 - 是否有可能?
我正在使用最新的Facebook iOS SDK(支持SSO)将我的iPhone应用程序与Facebook连接起来。到目前为止好..使用相同Facebook应用程序ID的两个iOS应用程序 - 是否有可能?
由于我目前的应用程序是免费附带广告,我想没有广告(我将用于充电)创建另一个版本。我不想使用应用内购买方式。
我现在面临的问题是,与Facebook的SSO,我需要iOS的应用程序绑定到它是基于Facebook的应用程序ID的URL。由于我只有一个Facebook应用程序被两个iphone应用程序使用,因此这两个iOS应用程序绑定到相同的URL,因此当它们都安装在设备上时,从Facebook到我的应用程序的回调不起作用(或打开另一个应用程序)。
是否存在除了创造致力于iPhone应用程序的新版本的另一个Facebook应用程序应该是一个解决方案吗?
谢谢。
在最新的Facebook iOS SDK on Github有一种方法称为
authorize:delegate:localAppId:
initWithAppId:urlSchemeSuffix:andDelegate:
。您可以使用
localAppId
urlSchemeSuffix
参数来区分使用同一个Facebook应用程序ID的多个iOS应用。方法文档说:
urlSchemeSuffix是附加到用于SSO的基本URL方案的小写字母的字符串。例如,如果您的Facebook ID是“350685531728”,并且您将urlSchemeSuffix设置为“abcd”,则Facebook应用程序会希望您的应用程序绑定到以下URL方案:“fb350685531728abcd”。如果您的多个iOS应用程序共享一个Facebook应用程序ID(例如,如果您在同一应用程序上有免费和付费版本),并且您希望在两个应用程序中使用SSO,则此功能非常有用。为这两个应用程序提供不同的urlSchemeSuffix值将允许Facebook应用程序消除他们的URL方案的歧义,并始终将用户重定向到正确的应用程序,即使免费应用程序和应用程序都安装在设备上。
urlSchemeSuffix支撑在3.4.1版本和上述Facebook的应用程序的。如果用户安装了Facebook应用的旧版本,并且您的应用使用了urlSchemeSuffix参数,则SDK将继续进行,如果Facebook应用未安装在设备上并将用户重定向到Safari。
没有找到你提到的方法。但我发现“ - (id)initWithAppId:(NSString *)appId urlSchemeSuffix:(NSString *)urlSchemeSuffix andDelegate :(id
似乎他们从授权中删除localAppId并将其作为urlSchemeSuffix添加到init方法。我刚刚更新了我的答案,谢谢你的提示。 – Zargony 2012-01-17 11:05:39
我遇到了同样的问题,并且(使用此答案)我已经通过将“fb40000000000006 $ {PRODUCT_NAME}”设置为我的URL方案来解决此问题,并将urlSchemeSuffix设置为获取的产品名称,如下所示:http:/ /stackoverflow.com/questions/1247142/getting-an-iphone-apps-product-name-at-runtime。这样,SSO就可以在共享相同Facebook App ID的应用程序中正确绑定,而无需额外的工作。 – DannyA 2012-07-05 08:27:42
我不得不在我的应用程序中使用FBLoginView,并且这些解决方案都不起作用。唯一缺少的是我需要在plist文件中添加一个新条目:FacebookUrlSchemeSuffix(documented here,在步骤2中)。
假设你的App ID为123456,我要做的就是:
1)在你的Facebook应用程序,添加URL方案后缀在iOS的部分:
2 )在这两个应用程序的,转到应用的.plist,并添加以下条目:
请注意,该值必须是已添加的网址格式后缀之一。
3)也可以修改Facebook上的URL方案中的.plist文件FB。例如,fb123456client
最简单,最准确的答案。当你不需要它时,为什么写不必要的代码。 – polterfest 2015-01-20 19:54:39
好的帮助,感谢老兄:) – NAZIK 2015-05-23 07:50:24
谢谢 - 我失踪了FacebookUrlSchemeSuffix键/值。 Facebook文档吸! – Dunc 2015-06-16 15:52:03
请执行您的iOS应用程式的需要的网址回调?我为几个iOS应用程序使用了相同的AppID,并且它工作正常。 – 2011-05-18 01:25:20
在最新的facebook iOS SDK中,每个应用都必须添加URL绑定,否则登录成功消息将永远不会到达您的应用(SSO流)。 – 2011-05-19 09:14:29
您不必在FB iOS SDK中使用该URL方案。这只是他们推荐的SSO和多任务处理。我建议你看看Facebook.m,看看他们是如何处理他们的权威传递。 – 2011-05-19 14:38:30