PhoneGap Cloud Build:正确的 facebookConnectPlugin 安装

Posted

技术标签:

【中文标题】PhoneGap Cloud Build:正确的 facebookConnectPlugin 安装【英文标题】:PhoneGap Cloud Build: Correct facebookConnectPlugin installation 【发布时间】:2015-11-16 23:12:47 【问题描述】:

我确信这将是微不足道的,但我已经尝试了很多次,而且在部署私有测试之前我需要配置的最后一件事让我发疯。

这个问题从this question延伸出来,我的config.xml也是这样建立的,这部分不用多说。我也收到了<head>

<script type='text/javascript' src="./js/facebookConnectPlugin.js"></script>

我已经尝试了 ./facebookConnectPlugin.js./js/facebookConnectPlugin.js,所以我的问题的 (a) 部分是,我该如何在不查看目录的情况下确定正确的相对路径是什么?我找不到它的安装位置来验证。

问题的下一部分遵循我从某个地方收到的建议,即使用 window.onload 代替通常的 device ready 事件:

window.onload = onDeviceReady;
...
function onDeviceReady() 
    onDeviceReadyFacebook();
    ...

...
function onDeviceReadyFacebook() 
    // ?

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

我在 onDeviceReadyFacebook 的通话内外都尝试了 window.fbAsyncInit,试图听从不同论坛的建议...

所以最后错误发生在我登录的调用中:

function fb_login()
    var login_data = ;

    client.cmd          = "login";
    login_data.userid   = user_id;
    login_data.cmd      = "login";

    facebookConnectPlugin.login([
        'user_about_me',
        'email',
        'user_status',
        'user_posts',
        'user_photos',
        'user_videos',
        'user_friends'
    ],function(response) 
        // success
        ...

说 facebookConnectPlugin 是未定义的。在稍微修改了不同的区域并且应用程序的其他所有内容都正常工作后,我通常会说我没有为主 JS 文件指定正确的源 url...

关于这个主题的最后一个问题:如果我正确输入了我的Content Security Policy,当我可以使用他们提供的 Facebook all.js 时,我是否有任何理由需要使用插件在浏览器版本中使用?我已经定义了我的密钥哈希和其他属性以添加 android 平台,我原以为我可以指定这些属性以匹配平台...

编辑:有问题的插件分支位于here。

更新 2: @杰西蒙罗伊650: 是的;有些事情肯定会变得更清楚,但我确实切换到 cordova-plugin-facebookconnect-orlando,但添加这会使构建崩溃,日志文件结果显示消息“...-FacebookLib/ ant-build 不存在”。我发现确切的问题发生在here,所以我现在尝试了在那里使用的相同的 npm 插件和首选项设置。它现在可以构建,但我有同样的问题(facebookConnectPlugin 未定义)。

不过,今天早上我又查了repo,具体是路径:

/platforms/android/assets/www/index.html

看看我关键缺少什么:

<div id="fb-root"></div>
<script type="text/javascript" src="cordova.js"></script>
<script type="text/javascript" src="js/facebookConnectPlugin.js">/script>

所以希望如果我复制这个例子,我现在应该没事了。今晚会再试一次。

非常感谢任何帮助!

【问题讨论】:

好的。你在左边的领域出路了。我确定你从哪里得到这些;也许是一个过时的例子。我会在你的另一篇文章中回答。你可能想杀了它。再说一次,你有很多误解我可能想在这里制作 cmets。 你有进展吗? 【参考方案1】:

添加到index.html 的代码终于解决了这个问题。如图所示,我整理了对登录名的实际调用,但最终找不到变量,因为我没有完成脚本包含。对要包含的脚本以及它们的路径感到困惑。

解脱!!!支持你 @JesseMonroy650 引导我朝着弃用插件的正确方向前进。

【讨论】:

以上是关于PhoneGap Cloud Build:正确的 facebookConnectPlugin 安装的主要内容,如果未能解决你的问题,请参考以下文章

在 PhoneGap Build 应用程序中使用正确的库和 scandit

Phonegap build 本地发布版本(不含Phonegap Build)

Build.Phonegap Facebook SDK

phonegap build + phonegap-cli + ionic 图标

更新 Cloud Build ref 以显示它运行的正确分支

Phonegap Build Config.xml 格式错误