【问题标题】:How can I accessing a 3rd party plugin (phonegap-facebook-plugin) in Intel XDK?如何访问英特尔 XDK 中的第 3 方插件(phonegap-facebook-plugin)?
【发布时间】:2015-06-25 19:08:14
【问题描述】:

我正在使用带有以下代码的 intelxdk.config.additions.xml 文件导入 Wizcorp phonegap-facebook-plugin:

<intelxdk:plugin intelxdk:name="com.phonegap.plugins.facebookconnect" intelxdk:value="https://github.com/Wizcorp/phonegap-facebook-plugin/">
    <intelxdk:param intelxdk:name="APP_ID" intelxdk:value="MyActualAppID" />
    <intelxdk:param intelxdk:name="APP_NAME" intelxdk:value="fizz points" />
</intelxdk:plugin>

我已阅读并了解我将无法在模拟器中或通过测试或调试选项卡测试此第 3 方插件,因此我为 Android 创建了一个测试版本。

根据文档,我相信我应该通过调用 facebookConnectPlugin 来引用这个 API,例如:

facebookConnectPlugin.login(["publish_stream", "publish_actions", "offline_access"],
     fbLoginSuccess,
     function (error) { alert("There was an error: " + error) });

但是,我知道在构建的应用程序中,就像在模拟器中一样,没有定义 facebookConnectPlugin,因为我收到基于以下块的警报:

if (typeof facebookConnectPlugin != 'undefined'){

    // do stuff

} else {

    alert("FacebookConnectPlugin Not Defined");

}

我认为这是因为我需要在我的代码中包含第 3 方库,此外还需要在我的项目中包含有用的 cmets 建议的内容,例如:

<!-- Most third-party libraries should go here. References (below) are just examples to give you the general idea... -->
<!-- <script src="lib/mc/hammer.js"></script> -->

最初,构建工具检索到后,我不知道 3rd 方库最终位于包中的路径。但有人告诉我,我可以将 .apk 扩展名更改为 .zip 提取并浏览内容。

我这样做了,发现库存放在:

www/plugins/com.phonegap.plugins.facebookconnect/www/phonegap/plugin/facebookConnectPlugin/facebookConnectPlugin.js

所以我在 index.html 文件中添加了以下内容:

<script src="plugins/com.phonegap.plugins.facebookconnect/www/phonegap/plugin/facebookConnectPlugin/facebookConnectPlugin.js"></script>

但是,在构建时,我对 FacebookConnectPlugin 是否已定义的测试仍然失败。

谢谢!

诺亚

[我基本上在英特尔论坛上问过同样的问题:https://software.intel.com/en-us/forums/topic/536743。目前还没有解决方案,但如果我找到了,我会在这里发布。]

【问题讨论】:

    标签: facebook cordova intel-xdk


    【解决方案1】:

    您需要构建您的应用并将其安装在您的设备上以测试 WizCorp Facebook 插件。请确保您按照说明在 Facebook 上配置您的应用程序。

    注意 Emulator(模拟器)不支持您所提到的第三方插件。使用 App Preview 进行测试也是如此。您必须在云端构建您的应用。

    谢谢, 伊恩

    【讨论】:

    • 感谢您的尝试,但我正在构建后在设备上对其进行测试。
    • 嗨诺亚,不知道你为什么不赞成它......不鼓励人们做出回应。我现在正在使用该插件。如果您查看 WizCorp 提交,您会看到我在其中推送了 android-support-v4.jar 的更新
    • 再次感谢您的尝试,但您忽略了我问题中的信息,也没有回答问题。我已经声明我正在设备上进行测试,并且在构建过程中收到了表明库已正确导入的消息。我的挑战是我无法在代码中引用该库。如果您根据其中包含的信息编辑您的答案以解决我的问题,我会很高兴地支持它:)
    • 我不关心 SO 点。我很困惑,因为您一直提到“模拟器”并忽略了它。是否在调试选项卡中进行了测试以查看是否有错误?我可以很好地使用他们提供的演示,而无需添加任何其他内容。我会尝试在某个地方打包,你可以下载它确实有效。密切关注这一点。虽然没有看到您的代码,但很难调试。您可以向 html5tools@intel.com 发送带有密码保护的 zip 包的电子邮件,我们将对其进行测试(如果没有密码保护,我们的垃圾邮件过滤器将删除 js 文件)
    • 好的 - 试试这个项目。我能够构建并显示 FB 对话框(它会说无效的应用程序 ID:Foobar)-drive.google.com/file/d/0B_wrsXcoFaJCNm1RNjBsRm1lTU0/…
    【解决方案2】:

    您是否从内部设备就绪事件访问facebookConnectPlugin 对象?

    document.addEventListener("intel.xdk.device.ready",function() {
        // try in here
    }, false);
    

    如果您从外部访问它可能是undefined,因为该插件尚未准备好使用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多