Cordova / Phonegap:无法让Facebook Phonegap插件工作

时间:2014-07-21 18:33:51

标签: facebook cordova phonegap-plugins

我尝试创建Cordova / Phonegap应用并添加Facebook插件,但警告(ty​​peof facebookConnectPlugin);显示未定义:

sudo npm install -g cordova
cordova create hello com.example.hello HelloWorld
cd hello
cordova platform add ios
cordova -d plugin add https://github.com/phonegap/phonegap-facebook-plugin --variable APP_ID="1415347585409217" --variable APP_NAME="Test"
vi www/index.html  # Add: alert(typeof facebookConnectPlugin); to the last <script>
cordova emulate ios

预期:模拟器显示&#34;对象&#34;在警告对话框中。

实际:模拟器显示&#34; undefined&#34;在警告对话框中。

任何人都知道我做错了什么?


更新:感谢Devgeeks的回答。

我需要做的其他一些事情才能让它发挥作用:

1)安装较新的&#34; develop&#34;插件的分支:

cordova -d plugin add "https://github.com/phonegap/phonegap-facebook-plugin#develop" --variable APP_ID="1415347585409217" --variable APP_NAME="Test"

2)在开始标记下方添加以下内容:

<!-- fb-root is needed by the FB API. -->
<div id="fb-root"></div>

3)如果您希望FB登录在浏览器中工作(进行测试),请将www / js / facebookConnectPlugin.js复制到您的应用程序中。然后在结束标记之前包含它:

<script src="facebookConnectPlugin.js"></script>

然后将以下内容添加到您的部分:

<script>
  window.fbAsyncInit = function () {
      if (!window.cordova) {
        // Initialize - only executed when testing in the browser.
        facebookConnectPlugin.browserInit(308939305080);
      }
  }
</script>

如果你得到&#34;应用程序配置不允许给定URL:应用程序的设置不允许使用一个或多个给定的URL。它必须与网站URL或Canvas URL匹配,或者域必须是App域之一的子域。&#34;,编辑facebookConnectPlugin.js并将sdk.js更改为sdk / debug.js。

4)如果您在构建Android应用程序时获得以下内容:

sdk.dir is missing. Make sure to generate local.properties using 'android update project' or to inject it through an env var

尝试运行以下内容(来自Issue 432):

cp platforms/android/local.properties platforms/android/FacebookLib

2 个答案:

答案 0 :(得分:7)

Add: alert(typeof facebookConnectPlugin); to the last <script>

这是表现出预期的,信不信由你。

deviceready事件被触发之前,插件无效:http://docs.phonegap.com/en/3.5.0/cordova_events_events.md.html#deviceready

尝试检查生成的facebookConnectPlugin的{​​{1}}中的onDeviceReady而非直接触发的代码?

答案 1 :(得分:2)

大家好我已经在手机间隙应用程序中找到了一些新的Facebook集成,没有任何Facebook插件你可以使用Facebook功能,为此使用phonegap.facebook.inappbrowser.js使用这个js你可以轻松访问所有Facebook功能更多信息请访问以下网址:Facebook Integration Step without any plugins