Realización de cambios en la aplicación
Complete las instrucciones para los cambios del lado de la aplicación necesarios para crear una aplicación híbrida utilizando Apache Cordova.
Procedimiento
- Copie el contenido de ' <cordova_project
folder>/platforms/<platform>/platform_www ' en la carpeta '
<Runtime>/extensions/isf/webpages/cordova/<UserAgentName> '.
- El valor "
UserAgentName" se establece para la preferencia del atributo "AppendUserAgent" en el archivo " config.xml ". - Si está creando el proyecto para varias plataformas, repita el paso para cada plataforma.
- El valor "
- Para cargar los archivos del complemento Cordova, añada las siguientes propiedades en el archivo ' customer_overrides.properties '.
- yfs.isf.cordova.supportCordovaApp =Y
- yfs.isf.cordova.useragent.<UserAgentName>=../extn/cordova/<UserAgentName>/cordova.js
Por ejemplo, "yfs.isf.cordova.useragent.cordova-android=../extn/cordova/cordova-android/cordova.js yfs.isf.cordova.useragent.cordova-ios=../extn/cordova/cordova-ios/cordova.js.Si aloja los plug-ins de Cordova en un servidor diferente, puede proporcionar la dirección URL. Por ejemplo, "
yfs.isf.cordova.useragent.<UserAgentName> = <baseurl>/<UserAgentName>/cordova.js. - '' Añade el archivo ' cordova-<feature/plugin>.config.ts ' para almacenar extensiones en ' store-single-spa/extensions/features/override-component/src/app/components/cordova-initialiser. El archivo de configuración debe implementar la interfaz '
CordovaPluginInitializationy devolver una función que inicialice el complemento Cordova. El archivo de ejemplo ' barcode-scanner-plugin-config.ts ' está presente en ' store-single-spa/extensions/features/override-component/src/app/components/cordova-initialiser.Por ejemplo, el archivo ' barcode-scanner-plugin-config.ts.import { Injectable } from '@angular/core'; import { CordovaPluginInitialization } from '@sim-core/services/cordova-plugin-config'; @Injectable() export class BarcodeScannerPluginConfig implements CordovaPluginInitialization { constructor(private barcodeScannerService: BarcodeScannerService) { } getCordovaPluginInitializationfunc() { return () => { if(<check for plug-in available>){ //Initialize the cordova barcode plug-in if necessary // Configure the barcode plug-in settings to call a method on barcode scan // Refer the plug-in documentation for acessing the barcode data. // fire a event called isf:cordova_barcode_event and pass bardcode data for application //window.dispatchEvent(new CustomEvent('isf:cordova_barcode_event',{'detail':{ 'barcode':result.text}})); } }; } }El archivo config.ts debe importarse en el archivo app.module.ts que se encuentra en la carpeta store-single-spa/extensions/features/override-component/src/app/. Asegúrese de añadir una entrada en la matriz de proveedores. Por ejemplo:import { BarcodeScannerPluginConfig } from './components/cordova-initialiser/barcode-scanner-plugin-config'; @NgModule({ declarations: [ ], imports: [ ], providers: [ BarcodeScannerPluginConfig ], }) - 'Registra el archivo de configuración del plug-in recién creado utilizando el método '
registerPluginInitializationde 'CordovaService. El registro debe realizarse en el método 'ngOnInit' del archivo ' cordova-initialiser.component.ts ' que se encuentra en la carpeta ' store-single-spa/extensions/features/override-component/src/app/components/cordova-initialiser '.Por ejemplo:
.CordovaService.registerPluginInitialization(this.barcodeScannerPluginConfig)Nota: El métodongOnInitdel archivo cordova-initialiser.component.ts contiene un código comentado que llama al métodoCordovaService.registerPluginInitialization(). Puede descomentar el código y pasar el archivo de configuración como argumento importando el archivo de configuración creado en el paso 3. - ' Construye y despliega tus personalizaciones. Para obtener más información, consulte Creación e implantación de personalizaciones.