cordova plugins - plugin - iónico 2 error cordova no disponible
phonegap android 7 (3)
Estoy tratando de usar el plugin GooglePlus cordova en un nuevo proyecto iónico 2 (última versión de ionic2) pero siempre encuentro errores con respecto a cordova. El complemento está instalado correctamente y aparece en la carpeta del complemento.
Un enfoque que probé es este:
import { GooglePlus } from "ionic-native";
y entonces
GooglePlus.login().then(...)
El método de inicio de sesión se ejecuta pero siempre arroja un error que dice "cordova_not_available"
Quiero probar la aplicación con ionic serve
en mi sistema de Windows antes de implementarlo en mi teléfono Android. ¿Cómo puedo hacer que cordova esté disponible en el servidor localhost? De la búsqueda entiendo que cordova.js se genera y siempre se incluye en el paquete de implementación para el dispositivo.
Otro enfoque que probé es usar
window.plugins.googleplus.login(...)
Pero este enfoque no pasa por el compilador mecanografiado que no sabe nada sobre una propiedad de complementos en el objeto de Windows.
¿Cómo puedo arreglar esto?
Usar el ionic serve
deshabilita todos los complementos cordova, porque no se está ejecutando en un dispositivo.
En lugar de usar ionic run android
se iniciará un emulador de Android que debería permitir que funcionen todos los plugins de cordova.
También he encontrado el segundo enfoque, pero la sintaxis debe ser windows[''plugins''].googleplus.login(...)
Este error generalmente ocurre cuando estás ejecutando la aplicación en Chrome usando el ionic serve
que es normal ya que en el navegador no existen componentes nativos, pero también ocurren en emuladores y dispositivos cuando se agregó un complemento nativo iónico que estás usando. incluso si ha agregado el complemento iónico para ello.
Por ejemplo, si está usando toast nativo
entonces necesitas agregar dependencias iónicas apropiadas:
ionic plugin add cordova-plugin-x-toast --save
pero también necesitas agregar dependencias de cordova:
cordova plugin add cordova-plugin-x-toast --save
Si olvida agregar el último complemento cordova obtendrá un error como:
Runtime Error Uncaught(in promise): cordova_not_available
Lo cual puede ser complicado para encontrar la causa.
Una vez que haya agregado dependencias iónicas y cordova, debería poder usarla.
Asegúrate de importarlo:
import { Toast } from ''ionic-native'';
Inyectar Plataforma en constructor:
constructor(public navCtrl: NavController, private platform: Platform) {...
luego usa el elemento nativo:
this.platform.ready().then(() =>
Toast.show("Successfull", ''5000'', ''center'')
.subscribe(
toast => {
console.log(toast);
}
));
Si desea que el complemento funcione para el navegador, debe agregar el platform browser
y ejecutarlo:
ionic cordova platform add browser
y ejecutarlo:
ionic cordova run browser
en lugar de ionic serve
.