Я импортирую плагин Wizcorp phonegap-facebook-plugin, используя файл intelxdk.config.additions.xml со следующим кодом:
<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.
Основываясь на документации, я считаю, что должен ссылаться на этот API через вызовы facebookConnectPlugin, например:
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");
}
Я предполагаю, что это связано с тем, что мне нужно включить стороннюю библиотеку в свой код в дополнение к ее включению в мой проект, где это предлагается в полезных комментариях, например:
<!-- 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
Поэтому я добавил в свой файл index.html следующее:
<script src="plugins/com.phonegap.plugins.facebookconnect/www/phonegap/plugin/facebookConnectPlugin/facebookConnectPlugin.js"></script>
Однако после сборки мой тест, чтобы определить, определен ли FacebookConnectPlugin, по-прежнему терпит неудачу.
Спасибо!
Ной
[По сути, я задавал тот же вопрос на форумах Intel здесь: https://software.intel.com/en-us/forums/topic/536743 . Пока нет решения, но если я получу его, я опубликую его здесь.]