Как реализовать связь XMPP в Nativescript?
Есть ли какие-либо ограничения в использовании библиотеки, такой как stanza.io, для связи с сервером XMPP, таким как MongooseIM в Nativescript? Какие еще есть альтернативы?
2 ответа
Если stanza.io поддерживает NativeScript, тогда не должно быть никаких ограничений.
На своем основном пейджере GitHub они говорят, что это современный XMPP в браузере с JSON API. Так что это в основном для браузера env, и я не уверен насчет NativeScript.
В качестве альтернативы - есть библиотека xmpp.js, которая поддерживает NativeScript. Их документ немного дерьмовый, но с помощью кода src есть способ успешно его интегрировать.
Существует руководство о том, как использовать его для ReactNative, но вы можете кое-что из него использовать для NativeScript, особенно те, которые связаны с самой библиотекой. https://medium.com/@connectycube/xmpp-real-time-chat-in-react-native-8d6d5d23dd47
Также вы можете использовать некоторые готовые платформы высокого уровня XMPP для чата, например, https://connectycube.com/2018/12/11/connectycube-textchat-code-sample-for-nativescript/ В этом случае вам не нужно разбирать Установка и мониторинг XMPP-сервера
Вам нужно будет найти сторонний сервер или разместить свой собственный сервер, который реализует протоколы XMPP и подключиться к нему с помощью Websockets или плагина XMPP из вашего приложения {N}.
К вашему сведению, этот плагин XMPP реализует ту же библиотеку pod, которая описана в документации MongooseIM, но API JavaScript не полностью реализованы, поэтому вам, возможно, придется напрямую обращаться к собственному API.
Вы также можете сослаться на https://github.com/samuelagm/nativescript-xmpp-client, еще один пример реализации XMPP.