使用Phonegap Build的Facebook Connect插件

时间:2013-09-17 05:55:23

标签: cordova facebook-javascript-sdk phonegap-plugins fbconnect phonegap-build

我已经看到很多关于仅使用Phonegap或Phonegap和Phonegap Build的Facebook Connect插件的问题,但我似乎仍然无法使其正常工作。

我创建了我的Facebook应用程序(实际上我所做的只是clik“创建新应用程序”按钮)。我指定了Display NameNamespace并获得了app ID。我在index.html和config.xml中使用Facebook Connectapp ID更新了https://github.com/amirudin/pgb-fbconnect(这是Namespace插件的简单示例)中的代码。我将其压缩到Phonegap Build(在config.xml中没有指定Phonegap版本,因此默认为2.9)。

在Android(2.3.6和4.1)上,我总是得到Cordova Facebook Connect plugin fail on init!在iOS上没有显示任何内容,但也没有任何效果。

由于仅在致电FB._nativeInterface.init时显示此提醒,我尝试在nativeInterface : false中使用nativeInterface : CDV.FB代替FB.init。在这种情况下,如果我尝试登录,则会显示登录页面,但在输入我的姓名和密码后,我会收到Given URL is not permitted by the application configuration.: One or more of the given URLs is not allowed by the App's settings...

我不确定如何配置Facebook应用程序:

  • 我选择Native iOS App,指定Bundle ID(与我在developer.apple.com上创建的App ID相同,与Phonegap Build config.xml中的小部件ID相同)并启用{ {1}}。 Facebook Login保留为0,iPhone and iPad App Store ID处于停用状态且Deep Linking为空。
  • 我选择了URL scheme suffix,指定了Native Android App(与Phonegap Build config.xml中的小部件ID相同),Package Name(一个哈希 - 我还添加了密钥Phonegap Build - 顺便说一下,钥匙解锁只有一个小时是正常的,而对于iOS来说这是一个月吗?),启用Key Hashes。我不知道我应该为Facebook Login使用什么(我尝试将其留空,然后使用与Class Name相同并在末尾添加“.activity”)。 Package Name被禁用。以下是我用来生成密钥和哈希的内容:

    //生成密钥

    keytool -genkey -v -keystore my-release-key.keystore -alias alias_name -keyalg RSA -keysize 2048 -validity 10000

    //获取哈希(在Win7 64上使用OpenSSL 0.9.8e)

    keytool -exportcert -alias alias_name -keystore my-release-key.keystore | openssl sha1 -binary | openssl base64

  • 我尝试将Deep Linking设置为App Domains,但后来我告诉我还需要设置网站网址或Canvas网址。

  • 所以我也选择了localhost,并为Website with Facebook Login指定了http://localhost/
  • 并选择了Site URL,为App on Facebook指定了http://localhost/,为Canvas URL指定了https://localhost/。我将Secure Canvas URLCanvas Width移至Canvas HeigthFixed,将Fluid移至Unity Integration Enabled

之后的事件我仍然得到相同的Disabled错误。我知道Phonegap使用Given URL is not permitted by the application configuration...而不是file://,但后来我不知道如何配置facebook应用程序。

我不确定http://localhost错误是否与Cordova Facebook Connect plugin fail on init!问题相关联,或者是否是我必须解决的两个无关的问题。

1 个答案:

答案 0 :(得分:1)

第二天在另一部Android手机上试用我的应用程序时,我注意到我没有更多错误。我在其他Android手机上删除并重新安装了该应用程序,该插件也开始正常运行。

我不确定问题可能是什么:hydra插件的问题(现在我知道如果发生奇怪的事情,我可能需要移除并重新安装应用程序,并确保水合作用完成),需要更多时间在Facebook上创建应用程序(即使它声明它可能需要几分钟而不是几小时来更新所有服务器),...