Как я могу получить доступ к стороннему плагину (phonegap-facebook-plugin) в Intel XDK?

Я импортирую плагин 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 . Пока нет решения, но если я получу его, я опубликую его здесь.]


person Noah Dyer    schedule 04.12.2014    source источник


Ответы (2)


Вам нужно создать приложение и установить его на свое устройство, чтобы протестировать плагин WizCorp Facebook. Пожалуйста, убедитесь, что вы следуете инструкциям по настройке вашего приложения на Facebook.

обратите внимание, как вы отметили, эмулятор (симулятор) не поддерживает сторонние плагины. То же самое для использования App Preview для тестирования. Вы должны создать свое приложение в облаке.

спасибо, Ян

person Ian Maffett    schedule 05.12.2014
comment
Ценю попытку, но я тестирую ее на устройстве после сборки. - person Noah Dyer; 05.12.2014
comment
Привет, Ной. Не знаю, почему вы проголосовали против него ... это не побуждает людей отвечать. Я использую плагин прямо сейчас. Если вы посмотрите на коммиты WizCorp, вы увидите, что я отправил туда обновление для android-support-v4.jar. - person Ian Maffett; 08.12.2014
comment
Опять же, я ценю попытку, но вы проигнорировали информацию в моем вопросе и не ответили на вопрос. Я уже заявлял, что тестирую устройство, и в процессе сборки получил сообщения о том, что библиотека была правильно импортирована. Моя проблема в том, что я не могу ссылаться на библиотеку в коде. Если вы отредактируете свой ответ, чтобы ответить на мой вопрос на основе содержащейся в нем информации, я с радостью проголосую за него :) - person Noah Dyer; 08.12.2014
comment
Я не забочусь о точках SO. Я был сбит с толку, потому что вы продолжали упоминать эмулятор и пропустили его. Вы сделали тест на вкладке отладки, чтобы увидеть, есть ли ошибка? Я могу использовать демоверсию, которую они предоставили, без необходимости добавлять что-либо дополнительно. Я постараюсь найти где-нибудь рабочий пакет, который вы сможете скачать. Следите за этим. Однако, не видя вашего кода, его сложно отлаживать. Вы можете отправить по электронной почте [email protected] защищенный паролем zip-пакет, и мы проверим его (если он не защищен паролем, наши спам-фильтры удалят файлы js) - person Ian Maffett; 08.12.2014
comment
Хорошо - попробуйте этот проект. Мне удалось создать и отобразить диалоговое окно FB (в нем будет указано неверный идентификатор приложения: Foobar) - drive.google.com/file/d/0B_wrsXcoFaJCNm1RNjBsRm1lTU0/ - person Ian Maffett; 08.12.2014

Вы обращаетесь к объекту facebookConnectPlugin из внутреннего события готовности устройства?

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

Это может быть undefined, если вы обращаетесь к нему извне, так как плагин еще не готов к использованию.

person Ally    schedule 09.12.2014