在简单的cordova android应用程序中使用phonegap-facebook-plugin

时间:2014-06-27 12:40:45

标签: android facebook cordova facebook-javascript-sdk

我想在使用cordova构建它之后,在我的android模拟器上的this链接上获取facebook-plugin

我已经使用了以下登录功能(在github文档页面上给出了示例)。

facebookConnectPlugin.getLoginStatus(
            function(response) {
                alert(JSON.stringify(response));
            },
            function(response) {
                alert(JSON.stringify(response));
            });

我的应用程序崩溃了消息"遗憾的是应用程序已停止工作"。到目前为止我已经完成了以下步骤: - 创建新的cordova项目

- 添加Android平台

- 通过以下命令

将phonegap插件添加到cordova项目中
cordova -d plugin add /Users/your/path/here/phonegap-facebook-plugin --variable APP_ID="123456789" --variable APP_NAME="myApplication"

- 还为facebook开发者帐户添加了keyhash

- 在platforms / android

中使用下面的命令添加了faceboook-android-sdk引用
android update project --target 3 --path . --library ../../facebook/

- 使用以下命令

在emulator上构建和运行
cordova emulate android

我阅读了许多论坛和 this 博文来寻找解决方案,所有这些都使用以下代码

if (typeof CDV === 'undefined') {
    alert('CDV variable does not exist. Check that you have included cdv-plugin-fb-connect.js correctly');
}
if (typeof FB === 'undefined') {
    alert('FB variable does not exist. Check that you have included the Facebook JS SDK file.');
}

document.addEventListener('deviceready', function() {
    try {
        FB.init({
            appId: "YOUR_FB_APP_ID",
            nativeInterface: CDV.FB,
            useCachedDialogs: false
        });
    } catch (e) {
        alert(e);
    }
}, false);

问题是上面代码中提到的两个文件(cdv-plugin-fb-connect.jsFacebook JS SDK file),并且我从github页面下载的文件夹中找不到每个人都在谈论的文件。

据我了解,即使我没有在模拟器中安装Facebook应用程序,如果我调用登录功能,插件也应该打开带有登录屏幕的Web视图。但是,如果我写上面发布的登录代码,应用程序崩溃了。

感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

该文档已弃用,请尝试以下操作:

facebookConnectPlugin.login(['public_profile'],
    function(response) {
        alert(JSON.stringify(response));
    },
    function(response) {
        alert(JSON.stringify(response));
    });

但是这对你的帮助不大,因为你会陷入下一步,facebook不会在登录方式下运行回调函数,如果登录方法适合你,请告诉我。