我正在使用 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>
我已经阅读并理解我将无法在模拟器中或通过测试或调试选项卡测试此第三方插件,因此我为 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 方库,例如:
<!-- 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> -->
最初,我不知道构建工具检索第三方库后最终位于包中的路径。 但是有人告诉我,我可以更改.apk扩展名以.zip提取和探索内容。
我这样做了,发现库存储在:
www/plugins/com.phonegap.plugins.facebookconnect/www/phonegap/plugin/facebookConnectPlugin/facebookConnectPlugin.js
所以我在我的索引.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 。还没有解决方案,但如果我得到一个,我会在这里发布。
您需要构建您的应用程序并将其安装在您的设备上以测试WizCorp Facebook插件。 请务必按照说明在 Facebook 上配置应用。
注意模拟器(模拟器(不支持第三方插件,如您所指出的。 使用应用预览进行测试也是如此。 必须在云中生成应用。
谢谢伊恩
您是否正在从设备就绪事件内部访问facebookConnectPlugin
对象?
document.addEventListener("intel.xdk.device.ready",function() {
// try in here
}, false);
如果您从外部访问它,则可能会undefined
,因为该插件尚未准备好使用。