Jon*_*ino 6 facebook phonegap-plugins cordova
我尝试创建一个Cordova/Phonegap应用程序并添加Facebook插件,但警告(typeof 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
Run Code Online (Sandbox Code Playgroud)
预期:模拟器在警告对话框中显示"对象".
实际:模拟器在警告对话框中显示"未定义".
谁知道我做错了什么?
更新:感谢Devgeeks的回答如下.
以下是我需要完成的其他一些工作:
1)安装插件的较新"开发"分支:
cordova -d plugin add "https://github.com/phonegap/phonegap-facebook-plugin#develop" --variable APP_ID="1415347585409217" --variable APP_NAME="Test"
Run Code Online (Sandbox Code Playgroud)
2)在开始标记下面添加以下内容:
<!-- fb-root is needed by the FB API. -->
<div id="fb-root"></div>
Run Code Online (Sandbox Code Playgroud)
3)如果您希望FB登录在浏览器中工作(用于测试),请将www/js/facebookConnectPlugin.js复制到您的应用程序中.然后在结束标记之前包含它:
<script src="facebookConnectPlugin.js"></script>
Run Code Online (Sandbox Code Playgroud)
然后将以下内容添加到您的部分:
<script>
window.fbAsyncInit = function () {
if (!window.cordova) {
// Initialize - only executed when testing in the browser.
facebookConnectPlugin.browserInit(308939305080);
}
}
</script>
Run Code Online (Sandbox Code Playgroud)
如果你得到"鉴于网址不被应用程序配置:一个或多个指定的网址不被应用的设置允许不允许的.它必须与网站网址或帆布URL匹配,或域必须是一个的子域应用程序的域.",编辑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
Run Code Online (Sandbox Code Playgroud)
尝试运行以下命令(来自问题432):
cp platforms/android/local.properties platforms/android/FacebookLib
Run Code Online (Sandbox Code Playgroud)
Add: alert(typeof facebookConnectPlugin); to the last <script>
无论信不信,这表现得像预期的那样.
在deviceready事件发生之前,插件不可用:http://docs.phonegap.com/en/3.5.0/cordova_events_events.md.html#deviceready
请检查该facebookConnectPlugin在onDeviceReady的产生www/js/index.js,而不是立即触发标签?
| 归档时间: |
|
| 查看次数: |
4660 次 |
| 最近记录: |