Cordova пробросить API Cordova внутрь InAppBrowserЕсли Вы создаете мобильное приложение ...

Михаил Базаров

Дата последнего входа: 30 минут назад
Дата регистрации: 7 Февраля 2012 21:17
День рождения: 7 ноября
Пол: Мужской
Михаил Базаров -> Всем
20 ноября 4:38
Cordova пробросить API Cordova внутрь InAppBrowser

Если Вы создаете мобильное приложение на Cordova и работаете не с локальными файлами, а открываете внешний сайт.
По сути, скрываете все управляющие элементы браузера и иммитируете полноценное приложение.

Скорее всего используете плагин InAppBrowser, но в нем не будут работать API плагинов Cordova:
То есть, из этой оболочки не получите доступа к железу и настройкам телефона.

Что бы решить эту проблему нужно установить плагин remote-injection
cordova plugin add cordova-plugin-remote-injection

Он, встраивает скомпилированные ресурсы приложения (cordova и ее плагины), внутрь оболочки InAppBrowser.

После этого можно использовать API Cordova прямо на встроенном сайте.

Дополнительно:
Что бы псевдо приложение, по сути сайт, открывался при старте Cordova можно добавить в config.xml
<content src="АДРЕС_СТАРТОВОЙ_СТРАНИЦЫ" />
<allow-navigation href="АДРЕС_САЙТА/* />

Если нужно внедрить еще какой-то еще скрипт, по мимо самой Cordova
<preference  name="CRIInjectFirstFiles"  value = "ПУТЬ_К_ФАЛУ/file.js " />

PS: И еще пара плагинов, которые не озвучены в документации:

cordova plugin add cordova-plugin-contacts - обеспечивает доступ к базе данных контактов устройства.
cordova plugin add cordova-plugin-device-motion - доступ к акселерометру устройства.
cordova plugin add cordova-plugin-firebase - работа с push через firebase
cordova plugin add cordova-plugin-android-imei - получение IMEI (Только Андроид)
cordova.plugins.IMEI(function (err, imei) {
        console.log('imei', imei)
})

Плагин управления клавиатурой
cordova plugin add https://github.com/driftyco/ionic-plug...yboard.git
Этот плагин может многое, описание на github
Главное, для чего его можно использовать:
Не сжимать страницу при появлении клавиатуры
cordova.plugins.Keyboard.disableScroll(true);

Плагин переключающий UIWebVue на WKWebView (первый вот вот устареет)
cordova plugin add cordova-plugin-wkwebview-engine

Файлы:
all_plugins.txt (685 Б)
ionic-team/ionic-plugin-keyboard
Ionic Keyboard Plugin for Cordova. Contribute to ionic-team/ionic-plugin-keyboard development by creating an account on GitHub.