{"maintainers":[{"name":"deployment","email":"yourname@ncinga.com"}],"x-nx-rebuilt":"2018-07-09T06:12:00.189+0000","keywords":["ecosystem:cordova","cordova-android"],"dist-tags":{"package@1.0.0":"1.0.0","latest":"1.0.6","package@1.0.2":"1.0.2","1.0.0":"1.0.0","1.0.1":"1.0.1","package@1.0.3":"1.0.3","package@1.0.4":"1.0.4","package@1.0.5":"1.0.5","package@1.0.6":"1.0.6","package@latest":"1.0.6"},"versions":{"1.0.0":{"name":"cordova-plugin-nsp-qrreader","version":"1.0.0","description":"this plugin is used to read qr and barcodes using google vision api","cordova":{"id":"cordova-plugin-nsp-qrreader","platforms":["android"]},"keywords":["ecosystem:cordova","cordova-android"],"engines":[{"name":"cordova","version":">=3.0.0"}],"author":{"name":"shadeeka dharmabandu"},"license":"MIT","readme":"# Plantilla para un Plugin de Cordova\n======\n\nPlantilla base para construir un plugin de iOS y Android.\n\n======\n# ¿Qué es un plugin de Cordova?\n\nCordova es un conjunto de herramientas que funcionan como puente para crear aplicaciones nativas e hibridas que se comunican a tráves de código Javascript.\n\nEse puente nos permite hacer cosas sencillas o tan complejas nativas que no se incorporan a los estandares de la Web.\n\nConstruir plugins de Cordova significa qu estamos escribiendo algo de JavaScript para invocar a algún código nativo (Objetive-c, Java, entre otros) que tambien deberemos de escribir y devolver el resultado a nuestro JavaScript.\n\nEn resumen, construimos un plugin de Cordova cuando queremos hacer algo nativo que aún no puede realizar el WebKit, como acceder a los datos de HealthKit, al scanner de huella, a la conexión bluetooth o a un SDK de terceros que permiten la conexión con dispositivos como impresoras y lectores.\n\n# Construcción de nuestro propio Plugin:\n\nFrameworks como Ionic cuentan con una libreria extensa de herramientas nativas en las cuales posiblemente encontrarás lo que buscas [IonicFramework](https://ionicframework.com/docs/native/), pero ¿cómo hacer uno propio? Bueno Cordova habilita una documentación para este fin: [Plugin Development Guide](https://cordova.apache.org/docs/en/7.x/guide/hybrid/plugins/index.html), sin embargo despues de mucho buscar y probar diferentes alternativas me guié finalmente por esta página: [How to write Cordova Plugins](https://medium.com/ionic-and-the-mobile-web/how-to-write-cordova-plugins-864e40025f2) la cúal se basa en una plantilla ya creada por el equipo de IONIC-TEAM [ionic-team/cordova-plugin-template](https://github.com/ionic-team/cordova-plugin-template) para clonar e instalar en nuestro proyecto, con el fin de entender y documentar un poco más, me decidi a en base a dicha plantilla crear una propia.\n\n## Paso 1:\n\nPosicionarse en el directorio de proyectos de Ionic en mi caso: `cd Documents/desarrollo/proyectos/ionic/...`\n\n## Paso 2:\n\nCrear un proyecto de Ionic: `ionic start nombreProyecto blank`\nSeleccionar proyecto: `cd nombreProyecto/`\n\n## Paso 3:\n\nInstalar Plugin: `ionic cordova plugin add https://github.com/thecouk/ionic-cordova-plugin-template.git`\n\n## Paso 4:\n\nModificar el archivo **home.ts** de la siguiente manera:\n\n## home.ts:\n\n```\nimport { Component } from '@angular/core';\n//Agregar Platform para poder evaluar si ya se cargo y esta lista la plataforma\nimport { NavController, Platform } from 'ionic-angular';\n\n@Component({\n  selector: 'page-home',\n  templateUrl: 'home.html'\n})\nexport class HomePage {\n\n  constructor(public navCtrl: NavController,public platform: Platform) {\n  }\n\n  ionViewDidLoad() {  \n    //Verifica si ya se encuentra lista la plataforma  \n    this.platform.ready().then(() => {\n          //Realiza el llamado al plugin e invoca segun el resultado la funcion correspondiente\n          (<any>window).MiPlugin.saludo('Mundo!!!', this.successCallback, this.errorCallback);\n    });\n  }\n\n  //Funcion para desplegar la respuesta cuando es satisfactorio\n  successCallback(message){\n      alert(message);\n  }\n\n  //Funcion si hubo un error\n  errorCallback(){\n      alert(\"Hubo un error\");\n  }\n\n}\n\n```\n\n## Paso 5:\n\nEjecutar a iOS: `ionic cordova run ios --prod` o para Android: `ionic cordova run android --prod`.\n\nPosteriormente puedes ir al directorio **platforms** donde encontrarás la carpeta de cada sistema operativo y podrás abrirlo en Xcode o Android Studio compilar y correr la aplicación.\n\n**LISTO** Si todo va bien verás una alerta **\"Hola todo el... Mundo!!!\"**, basicamente lo que estas viendo en esa alerta es la mezcla de lo hibrido con lo nativo. De aquí en más ya puedes agregar la complejidad que desees a tu aplicación.\n\n![Pantalla Plugin](https://github.com/thecouk/ionic-cordova-plugin-template/blob/master/HolaMundo.png?raw=true)\n\n**NOTA:** En tu proyecto podrás observar que dentro de la carpeta de **plugins** encontrarás la carpeta **mi-plugin** que a su vez contiene los archivos de definición y las carpetas que nos interesa entender y modificar **www/** y **src/** en la primera encontraremos el código Javascript que pone en uso la libreria de Cordova y nos permite definir las funciones que pondremos a disposición para nuestra aplicación.\n\n```\nvar exec = require('cordova/exec');\n\nvar PLUGIN_NAME = 'MiPlugin';\n\nvar MiPlugin = {\n  saludo: function (name, successCallback, errorCallback){\n        exec(successCallback, errorCallback, PLUGIN_NAME, \"saludar\", [name]);\n  }\n};\n\nmodule.exports = MiPlugin;\n\n```\n\nEn la segunda carpeta encontraremos en el caso de iOS dos archivos: **MiPlugin.h** y **MiPlugin.m** los cuales como te imaginaras son los archivos donde definiremos las funciones nativas que recibiran parametros y devolveran una respusta. En el caso de Android encontrarás una estructura de carpetas **\"Es necesario respetarla\"** ejemplo: **android/com/example/MiPlugin.java** donde de igual manera encontrarás las funciones para cuando ejecutes en Android.\n\n## MiPlugin.h\n```\n#import <Cordova/CDVPlugin.h>\n\n@interface MiPlugin : CDVPlugin {\n}\n\n// Encabezados de las funciones del plugin\n- (void) saludar:(CDVInvokedUrlCommand*)command;\n\n@end\n```\n\n## MiPlugin.m\n```\n#import \"MiPlugin.h\"\n\n#import <Cordova/CDVAvailability.h>\n\n@implementation MiPlugin\n\n- (void)pluginInitialize {\n}\n\n- (void)saludar:(CDVInvokedUrlCommand*)command\n{\n\n    NSString* name = [[command arguments] objectAtIndex:0];\n    NSString* msg = [NSString stringWithFormat: @\"Hola todo el...  %@\", name];\n\n    CDVPluginResult* result = [CDVPluginResult\n                               resultWithStatus:CDVCommandStatus_OK\n                               messageAsString:msg];\n\n    [self.commandDelegate sendPluginResult:result callbackId:command.callbackId];\n}\n\n@end\n\n```\n\n## MiPlugin.java\n```\npackage com.example;\n\nimport org.apache.cordova.CallbackContext;\nimport org.apache.cordova.CordovaInterface;\nimport org.apache.cordova.CordovaPlugin;\nimport org.apache.cordova.CordovaWebView;\nimport org.apache.cordova.PluginResult;\nimport org.apache.cordova.PluginResult.Status;\nimport org.json.JSONObject;\nimport org.json.JSONArray;\nimport org.json.JSONException;\n\nimport android.util.Log;\n\nimport java.util.Date;\n\npublic class MiPlugin extends CordovaPlugin {\n  private static final String TAG = \"MiPlugin\";\n\n  public void initialize(CordovaInterface cordova, CordovaWebView webView) {\n    super.initialize(cordova, webView);\n\n    Log.d(TAG, \"Inicializando MiPlugin\");\n  }\n\n  public boolean execute(String action, JSONArray args, final CallbackContext callbackContext) throws JSONException {\n    if(action.equals(\"saludar\")) {\n      // An example of returning data back to the web layer\n       String phrase = args.getString(0);\n      // Echo back the first argument      \n      final PluginResult result = new PluginResult(PluginResult.Status.OK, \"Hola todo el...\"+phrase);\n      callbackContext.sendPluginResult(result);\n    }\n    return true;\n  }\n\n}\n\n```\n\n## Fuente de referencia:\nEste ejemplo es una adaptación del tutorial:\n[How to write Cordova Plugins](https://medium.com/ionic-and-the-mobile-web/how-to-write-cordova-plugins-864e40025f2)\n\n\n## Autor\n\n* **@TheCouk** ","readmeFilename":"README.md","_id":"cordova-plugin-nsp-qrreader@1.0.0","_shasum":"1f26ad737d776a962cc5bb8830bf4d02f9c3c8ae","_resolved":"file:cordova-plugin-nsp-qrreader-1.0.0.tgz","_from":".","_npmVersion":"4.2.0","_nodeVersion":"7.10.1","_npmUser":{"name":"deployment","email":"yourname@ncinga.com"},"maintainers":[{"name":"deployment","email":"yourname@ncinga.com"}],"dist":{"shasum":"1f26ad737d776a962cc5bb8830bf4d02f9c3c8ae","tarball":"http://repository.ncinga.com/nexus/content/groups/npm-all/cordova-plugin-nsp-qrreader/-/cordova-plugin-nsp-qrreader-1.0.0.tgz"},"repository":{"type":"git","url":"git+https://github.com/thecouk/ionic-cordova-plugin-template.git"},"bugs":{"url":"https://github.com/thecouk/ionic-cordova-plugin-template/issues"},"homepage":"https://github.com/thecouk/ionic-cordova-plugin-template#readme","scripts":{}},"1.0.1":{"name":"cordova-plugin-nsp-qrreader","version":"1.0.1","description":"this plugin is used to read qr and barcodes using google vision api","cordova":{"id":"cordova-plugin-nsp-qrreader","platforms":["android"]},"repository":{"type":"git","url":"git+https://github.com/thecouk/ionic-cordova-plugin-template.git"},"keywords":["ecosystem:cordova","cordova-android"],"author":{"name":"shadeeka dharmabandu"},"license":"MIT","bugs":{"url":"https://github.com/thecouk/ionic-cordova-plugin-template/issues"},"homepage":"https://github.com/thecouk/ionic-cordova-plugin-template#readme","readme":"# Plantilla para un Plugin de Cordova\n======\n\nPlantilla base para construir un plugin de iOS y Android.\n\n======\n# ¿Qué es un plugin de Cordova?\n\nCordova es un conjunto de herramientas que funcionan como puente para crear aplicaciones nativas e hibridas que se comunican a tráves de código Javascript.\n\nEse puente nos permite hacer cosas sencillas o tan complejas nativas que no se incorporan a los estandares de la Web.\n\nConstruir plugins de Cordova significa qu estamos escribiendo algo de JavaScript para invocar a algún código nativo (Objetive-c, Java, entre otros) que tambien deberemos de escribir y devolver el resultado a nuestro JavaScript.\n\nEn resumen, construimos un plugin de Cordova cuando queremos hacer algo nativo que aún no puede realizar el WebKit, como acceder a los datos de HealthKit, al scanner de huella, a la conexión bluetooth o a un SDK de terceros que permiten la conexión con dispositivos como impresoras y lectores.\n\n# Construcción de nuestro propio Plugin:\n\nFrameworks como Ionic cuentan con una libreria extensa de herramientas nativas en las cuales posiblemente encontrarás lo que buscas [IonicFramework](https://ionicframework.com/docs/native/), pero ¿cómo hacer uno propio? Bueno Cordova habilita una documentación para este fin: [Plugin Development Guide](https://cordova.apache.org/docs/en/7.x/guide/hybrid/plugins/index.html), sin embargo despues de mucho buscar y probar diferentes alternativas me guié finalmente por esta página: [How to write Cordova Plugins](https://medium.com/ionic-and-the-mobile-web/how-to-write-cordova-plugins-864e40025f2) la cúal se basa en una plantilla ya creada por el equipo de IONIC-TEAM [ionic-team/cordova-plugin-template](https://github.com/ionic-team/cordova-plugin-template) para clonar e instalar en nuestro proyecto, con el fin de entender y documentar un poco más, me decidi a en base a dicha plantilla crear una propia.\n\n## Paso 1:\n\nPosicionarse en el directorio de proyectos de Ionic en mi caso: `cd Documents/desarrollo/proyectos/ionic/...`\n\n## Paso 2:\n\nCrear un proyecto de Ionic: `ionic start nombreProyecto blank`\nSeleccionar proyecto: `cd nombreProyecto/`\n\n## Paso 3:\n\nInstalar Plugin: `ionic cordova plugin add https://github.com/thecouk/ionic-cordova-plugin-template.git`\n\n## Paso 4:\n\nModificar el archivo **home.ts** de la siguiente manera:\n\n## home.ts:\n\n```\nimport { Component } from '@angular/core';\n//Agregar Platform para poder evaluar si ya se cargo y esta lista la plataforma\nimport { NavController, Platform } from 'ionic-angular';\n\n@Component({\n  selector: 'page-home',\n  templateUrl: 'home.html'\n})\nexport class HomePage {\n\n  constructor(public navCtrl: NavController,public platform: Platform) {\n  }\n\n  ionViewDidLoad() {  \n    //Verifica si ya se encuentra lista la plataforma  \n    this.platform.ready().then(() => {\n          //Realiza el llamado al plugin e invoca segun el resultado la funcion correspondiente\n          (<any>window).MiPlugin.saludo('Mundo!!!', this.successCallback, this.errorCallback);\n    });\n  }\n\n  //Funcion para desplegar la respuesta cuando es satisfactorio\n  successCallback(message){\n      alert(message);\n  }\n\n  //Funcion si hubo un error\n  errorCallback(){\n      alert(\"Hubo un error\");\n  }\n\n}\n\n```\n\n## Paso 5:\n\nEjecutar a iOS: `ionic cordova run ios --prod` o para Android: `ionic cordova run android --prod`.\n\nPosteriormente puedes ir al directorio **platforms** donde encontrarás la carpeta de cada sistema operativo y podrás abrirlo en Xcode o Android Studio compilar y correr la aplicación.\n\n**LISTO** Si todo va bien verás una alerta **\"Hola todo el... Mundo!!!\"**, basicamente lo que estas viendo en esa alerta es la mezcla de lo hibrido con lo nativo. De aquí en más ya puedes agregar la complejidad que desees a tu aplicación.\n\n![Pantalla Plugin](https://github.com/thecouk/ionic-cordova-plugin-template/blob/master/HolaMundo.png?raw=true)\n\n**NOTA:** En tu proyecto podrás observar que dentro de la carpeta de **plugins** encontrarás la carpeta **mi-plugin** que a su vez contiene los archivos de definición y las carpetas que nos interesa entender y modificar **www/** y **src/** en la primera encontraremos el código Javascript que pone en uso la libreria de Cordova y nos permite definir las funciones que pondremos a disposición para nuestra aplicación.\n\n```\nvar exec = require('cordova/exec');\n\nvar PLUGIN_NAME = 'MiPlugin';\n\nvar MiPlugin = {\n  saludo: function (name, successCallback, errorCallback){\n        exec(successCallback, errorCallback, PLUGIN_NAME, \"saludar\", [name]);\n  }\n};\n\nmodule.exports = MiPlugin;\n\n```\n\nEn la segunda carpeta encontraremos en el caso de iOS dos archivos: **MiPlugin.h** y **MiPlugin.m** los cuales como te imaginaras son los archivos donde definiremos las funciones nativas que recibiran parametros y devolveran una respusta. En el caso de Android encontrarás una estructura de carpetas **\"Es necesario respetarla\"** ejemplo: **android/com/example/MiPlugin.java** donde de igual manera encontrarás las funciones para cuando ejecutes en Android.\n\n## MiPlugin.h\n```\n#import <Cordova/CDVPlugin.h>\n\n@interface MiPlugin : CDVPlugin {\n}\n\n// Encabezados de las funciones del plugin\n- (void) saludar:(CDVInvokedUrlCommand*)command;\n\n@end\n```\n\n## MiPlugin.m\n```\n#import \"MiPlugin.h\"\n\n#import <Cordova/CDVAvailability.h>\n\n@implementation MiPlugin\n\n- (void)pluginInitialize {\n}\n\n- (void)saludar:(CDVInvokedUrlCommand*)command\n{\n\n    NSString* name = [[command arguments] objectAtIndex:0];\n    NSString* msg = [NSString stringWithFormat: @\"Hola todo el...  %@\", name];\n\n    CDVPluginResult* result = [CDVPluginResult\n                               resultWithStatus:CDVCommandStatus_OK\n                               messageAsString:msg];\n\n    [self.commandDelegate sendPluginResult:result callbackId:command.callbackId];\n}\n\n@end\n\n```\n\n## MiPlugin.java\n```\npackage com.example;\n\nimport org.apache.cordova.CallbackContext;\nimport org.apache.cordova.CordovaInterface;\nimport org.apache.cordova.CordovaPlugin;\nimport org.apache.cordova.CordovaWebView;\nimport org.apache.cordova.PluginResult;\nimport org.apache.cordova.PluginResult.Status;\nimport org.json.JSONObject;\nimport org.json.JSONArray;\nimport org.json.JSONException;\n\nimport android.util.Log;\n\nimport java.util.Date;\n\npublic class MiPlugin extends CordovaPlugin {\n  private static final String TAG = \"MiPlugin\";\n\n  public void initialize(CordovaInterface cordova, CordovaWebView webView) {\n    super.initialize(cordova, webView);\n\n    Log.d(TAG, \"Inicializando MiPlugin\");\n  }\n\n  public boolean execute(String action, JSONArray args, final CallbackContext callbackContext) throws JSONException {\n    if(action.equals(\"saludar\")) {\n      // An example of returning data back to the web layer\n       String phrase = args.getString(0);\n      // Echo back the first argument      \n      final PluginResult result = new PluginResult(PluginResult.Status.OK, \"Hola todo el...\"+phrase);\n      callbackContext.sendPluginResult(result);\n    }\n    return true;\n  }\n\n}\n\n```\n\n## Fuente de referencia:\nEste ejemplo es una adaptación del tutorial:\n[How to write Cordova Plugins](https://medium.com/ionic-and-the-mobile-web/how-to-write-cordova-plugins-864e40025f2)\n\n\n## Autor\n\n* **@TheCouk** ","readmeFilename":"README.md","_id":"cordova-plugin-nsp-qrreader@1.0.1","scripts":{},"_shasum":"9d452fff0f2324965fc3a2a3567178113dc84444","_from":".","_npmVersion":"4.2.0","_nodeVersion":"7.10.1","_npmUser":{"name":"deployment","email":"yourname@ncinga.com"},"maintainers":[{"name":"deployment","email":"yourname@ncinga.com"}],"dist":{"shasum":"9d452fff0f2324965fc3a2a3567178113dc84444","tarball":"http://repository.ncinga.com/nexus/content/groups/npm-all/cordova-plugin-nsp-qrreader/-/cordova-plugin-nsp-qrreader-1.0.1.tgz"}},"1.0.2":{"name":"cordova-plugin-nsp-qrreader","version":"1.0.2","description":"this plugin is used to read qr and barcodes using google vision api","cordova":{"id":"cordova-plugin-nsp-qrreader","platforms":["android"]},"repository":{"type":"git","url":"git+https://github.com/thecouk/ionic-cordova-plugin-template.git"},"keywords":["ecosystem:cordova","cordova-android"],"author":{"name":"shadeeka dharmabandu"},"license":"MIT","bugs":{"url":"https://github.com/thecouk/ionic-cordova-plugin-template/issues"},"homepage":"https://github.com/thecouk/ionic-cordova-plugin-template#readme","readme":"# Plantilla para un Plugin de Cordova\n======\n\nPlantilla base para construir un plugin de iOS y Android.\n\n======\n# ¿Qué es un plugin de Cordova?\n\nCordova es un conjunto de herramientas que funcionan como puente para crear aplicaciones nativas e hibridas que se comunican a tráves de código Javascript.\n\nEse puente nos permite hacer cosas sencillas o tan complejas nativas que no se incorporan a los estandares de la Web.\n\nConstruir plugins de Cordova significa qu estamos escribiendo algo de JavaScript para invocar a algún código nativo (Objetive-c, Java, entre otros) que tambien deberemos de escribir y devolver el resultado a nuestro JavaScript.\n\nEn resumen, construimos un plugin de Cordova cuando queremos hacer algo nativo que aún no puede realizar el WebKit, como acceder a los datos de HealthKit, al scanner de huella, a la conexión bluetooth o a un SDK de terceros que permiten la conexión con dispositivos como impresoras y lectores.\n\n# Construcción de nuestro propio Plugin:\n\nFrameworks como Ionic cuentan con una libreria extensa de herramientas nativas en las cuales posiblemente encontrarás lo que buscas [IonicFramework](https://ionicframework.com/docs/native/), pero ¿cómo hacer uno propio? Bueno Cordova habilita una documentación para este fin: [Plugin Development Guide](https://cordova.apache.org/docs/en/7.x/guide/hybrid/plugins/index.html), sin embargo despues de mucho buscar y probar diferentes alternativas me guié finalmente por esta página: [How to write Cordova Plugins](https://medium.com/ionic-and-the-mobile-web/how-to-write-cordova-plugins-864e40025f2) la cúal se basa en una plantilla ya creada por el equipo de IONIC-TEAM [ionic-team/cordova-plugin-template](https://github.com/ionic-team/cordova-plugin-template) para clonar e instalar en nuestro proyecto, con el fin de entender y documentar un poco más, me decidi a en base a dicha plantilla crear una propia.\n\n## Paso 1:\n\nPosicionarse en el directorio de proyectos de Ionic en mi caso: `cd Documents/desarrollo/proyectos/ionic/...`\n\n## Paso 2:\n\nCrear un proyecto de Ionic: `ionic start nombreProyecto blank`\nSeleccionar proyecto: `cd nombreProyecto/`\n\n## Paso 3:\n\nInstalar Plugin: `ionic cordova plugin add https://github.com/thecouk/ionic-cordova-plugin-template.git`\n\n## Paso 4:\n\nModificar el archivo **home.ts** de la siguiente manera:\n\n## home.ts:\n\n```\nimport { Component } from '@angular/core';\n//Agregar Platform para poder evaluar si ya se cargo y esta lista la plataforma\nimport { NavController, Platform } from 'ionic-angular';\n\n@Component({\n  selector: 'page-home',\n  templateUrl: 'home.html'\n})\nexport class HomePage {\n\n  constructor(public navCtrl: NavController,public platform: Platform) {\n  }\n\n  ionViewDidLoad() {  \n    //Verifica si ya se encuentra lista la plataforma  \n    this.platform.ready().then(() => {\n          //Realiza el llamado al plugin e invoca segun el resultado la funcion correspondiente\n          (<any>window).MiPlugin.saludo('Mundo!!!', this.successCallback, this.errorCallback);\n    });\n  }\n\n  //Funcion para desplegar la respuesta cuando es satisfactorio\n  successCallback(message){\n      alert(message);\n  }\n\n  //Funcion si hubo un error\n  errorCallback(){\n      alert(\"Hubo un error\");\n  }\n\n}\n\n```\n\n## Paso 5:\n\nEjecutar a iOS: `ionic cordova run ios --prod` o para Android: `ionic cordova run android --prod`.\n\nPosteriormente puedes ir al directorio **platforms** donde encontrarás la carpeta de cada sistema operativo y podrás abrirlo en Xcode o Android Studio compilar y correr la aplicación.\n\n**LISTO** Si todo va bien verás una alerta **\"Hola todo el... Mundo!!!\"**, basicamente lo que estas viendo en esa alerta es la mezcla de lo hibrido con lo nativo. De aquí en más ya puedes agregar la complejidad que desees a tu aplicación.\n\n![Pantalla Plugin](https://github.com/thecouk/ionic-cordova-plugin-template/blob/master/HolaMundo.png?raw=true)\n\n**NOTA:** En tu proyecto podrás observar que dentro de la carpeta de **plugins** encontrarás la carpeta **mi-plugin** que a su vez contiene los archivos de definición y las carpetas que nos interesa entender y modificar **www/** y **src/** en la primera encontraremos el código Javascript que pone en uso la libreria de Cordova y nos permite definir las funciones que pondremos a disposición para nuestra aplicación.\n\n```\nvar exec = require('cordova/exec');\n\nvar PLUGIN_NAME = 'MiPlugin';\n\nvar MiPlugin = {\n  saludo: function (name, successCallback, errorCallback){\n        exec(successCallback, errorCallback, PLUGIN_NAME, \"saludar\", [name]);\n  }\n};\n\nmodule.exports = MiPlugin;\n\n```\n\nEn la segunda carpeta encontraremos en el caso de iOS dos archivos: **MiPlugin.h** y **MiPlugin.m** los cuales como te imaginaras son los archivos donde definiremos las funciones nativas que recibiran parametros y devolveran una respusta. En el caso de Android encontrarás una estructura de carpetas **\"Es necesario respetarla\"** ejemplo: **android/com/example/MiPlugin.java** donde de igual manera encontrarás las funciones para cuando ejecutes en Android.\n\n## MiPlugin.h\n```\n#import <Cordova/CDVPlugin.h>\n\n@interface MiPlugin : CDVPlugin {\n}\n\n// Encabezados de las funciones del plugin\n- (void) saludar:(CDVInvokedUrlCommand*)command;\n\n@end\n```\n\n## MiPlugin.m\n```\n#import \"MiPlugin.h\"\n\n#import <Cordova/CDVAvailability.h>\n\n@implementation MiPlugin\n\n- (void)pluginInitialize {\n}\n\n- (void)saludar:(CDVInvokedUrlCommand*)command\n{\n\n    NSString* name = [[command arguments] objectAtIndex:0];\n    NSString* msg = [NSString stringWithFormat: @\"Hola todo el...  %@\", name];\n\n    CDVPluginResult* result = [CDVPluginResult\n                               resultWithStatus:CDVCommandStatus_OK\n                               messageAsString:msg];\n\n    [self.commandDelegate sendPluginResult:result callbackId:command.callbackId];\n}\n\n@end\n\n```\n\n## MiPlugin.java\n```\npackage com.example;\n\nimport org.apache.cordova.CallbackContext;\nimport org.apache.cordova.CordovaInterface;\nimport org.apache.cordova.CordovaPlugin;\nimport org.apache.cordova.CordovaWebView;\nimport org.apache.cordova.PluginResult;\nimport org.apache.cordova.PluginResult.Status;\nimport org.json.JSONObject;\nimport org.json.JSONArray;\nimport org.json.JSONException;\n\nimport android.util.Log;\n\nimport java.util.Date;\n\npublic class MiPlugin extends CordovaPlugin {\n  private static final String TAG = \"MiPlugin\";\n\n  public void initialize(CordovaInterface cordova, CordovaWebView webView) {\n    super.initialize(cordova, webView);\n\n    Log.d(TAG, \"Inicializando MiPlugin\");\n  }\n\n  public boolean execute(String action, JSONArray args, final CallbackContext callbackContext) throws JSONException {\n    if(action.equals(\"saludar\")) {\n      // An example of returning data back to the web layer\n       String phrase = args.getString(0);\n      // Echo back the first argument      \n      final PluginResult result = new PluginResult(PluginResult.Status.OK, \"Hola todo el...\"+phrase);\n      callbackContext.sendPluginResult(result);\n    }\n    return true;\n  }\n\n}\n\n```\n\n## Fuente de referencia:\nEste ejemplo es una adaptación del tutorial:\n[How to write Cordova Plugins](https://medium.com/ionic-and-the-mobile-web/how-to-write-cordova-plugins-864e40025f2)\n\n\n## Autor\n\n* **@TheCouk** ","readmeFilename":"README.md","_id":"cordova-plugin-nsp-qrreader@1.0.2","scripts":{},"_shasum":"b59a5bf5c96bc5c0cd370df7c78e764f7dd21cd4","_from":".","_npmVersion":"4.2.0","_nodeVersion":"7.10.1","_npmUser":{"name":"deployment","email":"yourname@ncinga.com"},"maintainers":[{"name":"deployment","email":"yourname@ncinga.com"}],"dist":{"shasum":"b59a5bf5c96bc5c0cd370df7c78e764f7dd21cd4","tarball":"http://repository.ncinga.com/nexus/content/groups/npm-all/cordova-plugin-nsp-qrreader/-/cordova-plugin-nsp-qrreader-1.0.2.tgz"}},"1.0.3":{"name":"cordova-plugin-nsp-qrreader","version":"1.0.3","description":"this plugin is used to read qr and barcodes using google vision api","cordova":{"id":"cordova-plugin-nsp-qrreader","platforms":["android"]},"repository":{"type":"git","url":"git+https://github.com/thecouk/ionic-cordova-plugin-template.git"},"keywords":["ecosystem:cordova","cordova-android"],"author":{"name":"shadeeka dharmabandu"},"license":"MIT","bugs":{"url":"https://github.com/thecouk/ionic-cordova-plugin-template/issues"},"homepage":"https://github.com/thecouk/ionic-cordova-plugin-template#readme","readme":"# Plantilla para un Plugin de Cordova\n======\n\nPlantilla base para construir un plugin de iOS y Android.\n\n======\n# ¿Qué es un plugin de Cordova?\n\nCordova es un conjunto de herramientas que funcionan como puente para crear aplicaciones nativas e hibridas que se comunican a tráves de código Javascript.\n\nEse puente nos permite hacer cosas sencillas o tan complejas nativas que no se incorporan a los estandares de la Web.\n\nConstruir plugins de Cordova significa qu estamos escribiendo algo de JavaScript para invocar a algún código nativo (Objetive-c, Java, entre otros) que tambien deberemos de escribir y devolver el resultado a nuestro JavaScript.\n\nEn resumen, construimos un plugin de Cordova cuando queremos hacer algo nativo que aún no puede realizar el WebKit, como acceder a los datos de HealthKit, al scanner de huella, a la conexión bluetooth o a un SDK de terceros que permiten la conexión con dispositivos como impresoras y lectores.\n\n# Construcción de nuestro propio Plugin:\n\nFrameworks como Ionic cuentan con una libreria extensa de herramientas nativas en las cuales posiblemente encontrarás lo que buscas [IonicFramework](https://ionicframework.com/docs/native/), pero ¿cómo hacer uno propio? Bueno Cordova habilita una documentación para este fin: [Plugin Development Guide](https://cordova.apache.org/docs/en/7.x/guide/hybrid/plugins/index.html), sin embargo despues de mucho buscar y probar diferentes alternativas me guié finalmente por esta página: [How to write Cordova Plugins](https://medium.com/ionic-and-the-mobile-web/how-to-write-cordova-plugins-864e40025f2) la cúal se basa en una plantilla ya creada por el equipo de IONIC-TEAM [ionic-team/cordova-plugin-template](https://github.com/ionic-team/cordova-plugin-template) para clonar e instalar en nuestro proyecto, con el fin de entender y documentar un poco más, me decidi a en base a dicha plantilla crear una propia.\n\n## Paso 1:\n\nPosicionarse en el directorio de proyectos de Ionic en mi caso: `cd Documents/desarrollo/proyectos/ionic/...`\n\n## Paso 2:\n\nCrear un proyecto de Ionic: `ionic start nombreProyecto blank`\nSeleccionar proyecto: `cd nombreProyecto/`\n\n## Paso 3:\n\nInstalar Plugin: `ionic cordova plugin add https://github.com/thecouk/ionic-cordova-plugin-template.git`\n\n## Paso 4:\n\nModificar el archivo **home.ts** de la siguiente manera:\n\n## home.ts:\n\n```\nimport { Component } from '@angular/core';\n//Agregar Platform para poder evaluar si ya se cargo y esta lista la plataforma\nimport { NavController, Platform } from 'ionic-angular';\n\n@Component({\n  selector: 'page-home',\n  templateUrl: 'home.html'\n})\nexport class HomePage {\n\n  constructor(public navCtrl: NavController,public platform: Platform) {\n  }\n\n  ionViewDidLoad() {  \n    //Verifica si ya se encuentra lista la plataforma  \n    this.platform.ready().then(() => {\n          //Realiza el llamado al plugin e invoca segun el resultado la funcion correspondiente\n          (<any>window).MiPlugin.saludo('Mundo!!!', this.successCallback, this.errorCallback);\n    });\n  }\n\n  //Funcion para desplegar la respuesta cuando es satisfactorio\n  successCallback(message){\n      alert(message);\n  }\n\n  //Funcion si hubo un error\n  errorCallback(){\n      alert(\"Hubo un error\");\n  }\n\n}\n\n```\n\n## Paso 5:\n\nEjecutar a iOS: `ionic cordova run ios --prod` o para Android: `ionic cordova run android --prod`.\n\nPosteriormente puedes ir al directorio **platforms** donde encontrarás la carpeta de cada sistema operativo y podrás abrirlo en Xcode o Android Studio compilar y correr la aplicación.\n\n**LISTO** Si todo va bien verás una alerta **\"Hola todo el... Mundo!!!\"**, basicamente lo que estas viendo en esa alerta es la mezcla de lo hibrido con lo nativo. De aquí en más ya puedes agregar la complejidad que desees a tu aplicación.\n\n![Pantalla Plugin](https://github.com/thecouk/ionic-cordova-plugin-template/blob/master/HolaMundo.png?raw=true)\n\n**NOTA:** En tu proyecto podrás observar que dentro de la carpeta de **plugins** encontrarás la carpeta **mi-plugin** que a su vez contiene los archivos de definición y las carpetas que nos interesa entender y modificar **www/** y **src/** en la primera encontraremos el código Javascript que pone en uso la libreria de Cordova y nos permite definir las funciones que pondremos a disposición para nuestra aplicación.\n\n```\nvar exec = require('cordova/exec');\n\nvar PLUGIN_NAME = 'MiPlugin';\n\nvar MiPlugin = {\n  saludo: function (name, successCallback, errorCallback){\n        exec(successCallback, errorCallback, PLUGIN_NAME, \"saludar\", [name]);\n  }\n};\n\nmodule.exports = MiPlugin;\n\n```\n\nEn la segunda carpeta encontraremos en el caso de iOS dos archivos: **MiPlugin.h** y **MiPlugin.m** los cuales como te imaginaras son los archivos donde definiremos las funciones nativas que recibiran parametros y devolveran una respusta. En el caso de Android encontrarás una estructura de carpetas **\"Es necesario respetarla\"** ejemplo: **android/com/example/MiPlugin.java** donde de igual manera encontrarás las funciones para cuando ejecutes en Android.\n\n## MiPlugin.h\n```\n#import <Cordova/CDVPlugin.h>\n\n@interface MiPlugin : CDVPlugin {\n}\n\n// Encabezados de las funciones del plugin\n- (void) saludar:(CDVInvokedUrlCommand*)command;\n\n@end\n```\n\n## MiPlugin.m\n```\n#import \"MiPlugin.h\"\n\n#import <Cordova/CDVAvailability.h>\n\n@implementation MiPlugin\n\n- (void)pluginInitialize {\n}\n\n- (void)saludar:(CDVInvokedUrlCommand*)command\n{\n\n    NSString* name = [[command arguments] objectAtIndex:0];\n    NSString* msg = [NSString stringWithFormat: @\"Hola todo el...  %@\", name];\n\n    CDVPluginResult* result = [CDVPluginResult\n                               resultWithStatus:CDVCommandStatus_OK\n                               messageAsString:msg];\n\n    [self.commandDelegate sendPluginResult:result callbackId:command.callbackId];\n}\n\n@end\n\n```\n\n## MiPlugin.java\n```\npackage com.example;\n\nimport org.apache.cordova.CallbackContext;\nimport org.apache.cordova.CordovaInterface;\nimport org.apache.cordova.CordovaPlugin;\nimport org.apache.cordova.CordovaWebView;\nimport org.apache.cordova.PluginResult;\nimport org.apache.cordova.PluginResult.Status;\nimport org.json.JSONObject;\nimport org.json.JSONArray;\nimport org.json.JSONException;\n\nimport android.util.Log;\n\nimport java.util.Date;\n\npublic class MiPlugin extends CordovaPlugin {\n  private static final String TAG = \"MiPlugin\";\n\n  public void initialize(CordovaInterface cordova, CordovaWebView webView) {\n    super.initialize(cordova, webView);\n\n    Log.d(TAG, \"Inicializando MiPlugin\");\n  }\n\n  public boolean execute(String action, JSONArray args, final CallbackContext callbackContext) throws JSONException {\n    if(action.equals(\"saludar\")) {\n      // An example of returning data back to the web layer\n       String phrase = args.getString(0);\n      // Echo back the first argument      \n      final PluginResult result = new PluginResult(PluginResult.Status.OK, \"Hola todo el...\"+phrase);\n      callbackContext.sendPluginResult(result);\n    }\n    return true;\n  }\n\n}\n\n```\n\n## Fuente de referencia:\nEste ejemplo es una adaptación del tutorial:\n[How to write Cordova Plugins](https://medium.com/ionic-and-the-mobile-web/how-to-write-cordova-plugins-864e40025f2)\n\n\n## Autor\n\n* **@TheCouk** ","readmeFilename":"README.md","_id":"cordova-plugin-nsp-qrreader@1.0.3","_shasum":"7ad7580630058044df7dddf18805526538b5f5af","_resolved":"file:cordova-plugin-nsp-qrreader-1.0.3.tgz","_from":"cordova-plugin-nsp-qrreader-1.0.3.tgz","_npmVersion":"4.2.0","_nodeVersion":"7.10.1","_npmUser":{"name":"deployment","email":"yourname@ncinga.com"},"maintainers":[{"name":"deployment","email":"yourname@ncinga.com"}],"dist":{"shasum":"7ad7580630058044df7dddf18805526538b5f5af","tarball":"http://repository.ncinga.com/nexus/content/groups/npm-all/cordova-plugin-nsp-qrreader/-/cordova-plugin-nsp-qrreader-1.0.3.tgz"}},"1.0.4":{"name":"cordova-plugin-nsp-qrreader","version":"1.0.4","description":"this plugin is used to read qr and barcodes using google vision api","cordova":{"id":"cordova-plugin-nsp-qrreader","platforms":["android"]},"repository":{"type":"git","url":"git+https://github.com/thecouk/ionic-cordova-plugin-template.git"},"keywords":["ecosystem:cordova","cordova-android"],"author":{"name":"shadeeka dharmabandu"},"license":"MIT","bugs":{"url":"https://github.com/thecouk/ionic-cordova-plugin-template/issues"},"homepage":"https://github.com/thecouk/ionic-cordova-plugin-template#readme","readme":"# Plantilla para un Plugin de Cordova\n======\n\nPlantilla base para construir un plugin de iOS y Android.\n\n======\n# ¿Qué es un plugin de Cordova?\n\nCordova es un conjunto de herramientas que funcionan como puente para crear aplicaciones nativas e hibridas que se comunican a tráves de código Javascript.\n\nEse puente nos permite hacer cosas sencillas o tan complejas nativas que no se incorporan a los estandares de la Web.\n\nConstruir plugins de Cordova significa qu estamos escribiendo algo de JavaScript para invocar a algún código nativo (Objetive-c, Java, entre otros) que tambien deberemos de escribir y devolver el resultado a nuestro JavaScript.\n\nEn resumen, construimos un plugin de Cordova cuando queremos hacer algo nativo que aún no puede realizar el WebKit, como acceder a los datos de HealthKit, al scanner de huella, a la conexión bluetooth o a un SDK de terceros que permiten la conexión con dispositivos como impresoras y lectores.\n\n# Construcción de nuestro propio Plugin:\n\nFrameworks como Ionic cuentan con una libreria extensa de herramientas nativas en las cuales posiblemente encontrarás lo que buscas [IonicFramework](https://ionicframework.com/docs/native/), pero ¿cómo hacer uno propio? Bueno Cordova habilita una documentación para este fin: [Plugin Development Guide](https://cordova.apache.org/docs/en/7.x/guide/hybrid/plugins/index.html), sin embargo despues de mucho buscar y probar diferentes alternativas me guié finalmente por esta página: [How to write Cordova Plugins](https://medium.com/ionic-and-the-mobile-web/how-to-write-cordova-plugins-864e40025f2) la cúal se basa en una plantilla ya creada por el equipo de IONIC-TEAM [ionic-team/cordova-plugin-template](https://github.com/ionic-team/cordova-plugin-template) para clonar e instalar en nuestro proyecto, con el fin de entender y documentar un poco más, me decidi a en base a dicha plantilla crear una propia.\n\n## Paso 1:\n\nPosicionarse en el directorio de proyectos de Ionic en mi caso: `cd Documents/desarrollo/proyectos/ionic/...`\n\n## Paso 2:\n\nCrear un proyecto de Ionic: `ionic start nombreProyecto blank`\nSeleccionar proyecto: `cd nombreProyecto/`\n\n## Paso 3:\n\nInstalar Plugin: `ionic cordova plugin add https://github.com/thecouk/ionic-cordova-plugin-template.git`\n\n## Paso 4:\n\nModificar el archivo **home.ts** de la siguiente manera:\n\n## home.ts:\n\n```\nimport { Component } from '@angular/core';\n//Agregar Platform para poder evaluar si ya se cargo y esta lista la plataforma\nimport { NavController, Platform } from 'ionic-angular';\n\n@Component({\n  selector: 'page-home',\n  templateUrl: 'home.html'\n})\nexport class HomePage {\n\n  constructor(public navCtrl: NavController,public platform: Platform) {\n  }\n\n  ionViewDidLoad() {  \n    //Verifica si ya se encuentra lista la plataforma  \n    this.platform.ready().then(() => {\n          //Realiza el llamado al plugin e invoca segun el resultado la funcion correspondiente\n          (<any>window).MiPlugin.saludo('Mundo!!!', this.successCallback, this.errorCallback);\n    });\n  }\n\n  //Funcion para desplegar la respuesta cuando es satisfactorio\n  successCallback(message){\n      alert(message);\n  }\n\n  //Funcion si hubo un error\n  errorCallback(){\n      alert(\"Hubo un error\");\n  }\n\n}\n\n```\n\n## Paso 5:\n\nEjecutar a iOS: `ionic cordova run ios --prod` o para Android: `ionic cordova run android --prod`.\n\nPosteriormente puedes ir al directorio **platforms** donde encontrarás la carpeta de cada sistema operativo y podrás abrirlo en Xcode o Android Studio compilar y correr la aplicación.\n\n**LISTO** Si todo va bien verás una alerta **\"Hola todo el... Mundo!!!\"**, basicamente lo que estas viendo en esa alerta es la mezcla de lo hibrido con lo nativo. De aquí en más ya puedes agregar la complejidad que desees a tu aplicación.\n\n![Pantalla Plugin](https://github.com/thecouk/ionic-cordova-plugin-template/blob/master/HolaMundo.png?raw=true)\n\n**NOTA:** En tu proyecto podrás observar que dentro de la carpeta de **plugins** encontrarás la carpeta **mi-plugin** que a su vez contiene los archivos de definición y las carpetas que nos interesa entender y modificar **www/** y **src/** en la primera encontraremos el código Javascript que pone en uso la libreria de Cordova y nos permite definir las funciones que pondremos a disposición para nuestra aplicación.\n\n```\nvar exec = require('cordova/exec');\n\nvar PLUGIN_NAME = 'MiPlugin';\n\nvar MiPlugin = {\n  saludo: function (name, successCallback, errorCallback){\n        exec(successCallback, errorCallback, PLUGIN_NAME, \"saludar\", [name]);\n  }\n};\n\nmodule.exports = MiPlugin;\n\n```\n\nEn la segunda carpeta encontraremos en el caso de iOS dos archivos: **MiPlugin.h** y **MiPlugin.m** los cuales como te imaginaras son los archivos donde definiremos las funciones nativas que recibiran parametros y devolveran una respusta. En el caso de Android encontrarás una estructura de carpetas **\"Es necesario respetarla\"** ejemplo: **android/com/example/MiPlugin.java** donde de igual manera encontrarás las funciones para cuando ejecutes en Android.\n\n## MiPlugin.h\n```\n#import <Cordova/CDVPlugin.h>\n\n@interface MiPlugin : CDVPlugin {\n}\n\n// Encabezados de las funciones del plugin\n- (void) saludar:(CDVInvokedUrlCommand*)command;\n\n@end\n```\n\n## MiPlugin.m\n```\n#import \"MiPlugin.h\"\n\n#import <Cordova/CDVAvailability.h>\n\n@implementation MiPlugin\n\n- (void)pluginInitialize {\n}\n\n- (void)saludar:(CDVInvokedUrlCommand*)command\n{\n\n    NSString* name = [[command arguments] objectAtIndex:0];\n    NSString* msg = [NSString stringWithFormat: @\"Hola todo el...  %@\", name];\n\n    CDVPluginResult* result = [CDVPluginResult\n                               resultWithStatus:CDVCommandStatus_OK\n                               messageAsString:msg];\n\n    [self.commandDelegate sendPluginResult:result callbackId:command.callbackId];\n}\n\n@end\n\n```\n\n## MiPlugin.java\n```\npackage com.example;\n\nimport org.apache.cordova.CallbackContext;\nimport org.apache.cordova.CordovaInterface;\nimport org.apache.cordova.CordovaPlugin;\nimport org.apache.cordova.CordovaWebView;\nimport org.apache.cordova.PluginResult;\nimport org.apache.cordova.PluginResult.Status;\nimport org.json.JSONObject;\nimport org.json.JSONArray;\nimport org.json.JSONException;\n\nimport android.util.Log;\n\nimport java.util.Date;\n\npublic class MiPlugin extends CordovaPlugin {\n  private static final String TAG = \"MiPlugin\";\n\n  public void initialize(CordovaInterface cordova, CordovaWebView webView) {\n    super.initialize(cordova, webView);\n\n    Log.d(TAG, \"Inicializando MiPlugin\");\n  }\n\n  public boolean execute(String action, JSONArray args, final CallbackContext callbackContext) throws JSONException {\n    if(action.equals(\"saludar\")) {\n      // An example of returning data back to the web layer\n       String phrase = args.getString(0);\n      // Echo back the first argument      \n      final PluginResult result = new PluginResult(PluginResult.Status.OK, \"Hola todo el...\"+phrase);\n      callbackContext.sendPluginResult(result);\n    }\n    return true;\n  }\n\n}\n\n```\n\n## Fuente de referencia:\nEste ejemplo es una adaptación del tutorial:\n[How to write Cordova Plugins](https://medium.com/ionic-and-the-mobile-web/how-to-write-cordova-plugins-864e40025f2)\n\n\n## Autor\n\n* **@TheCouk** ","readmeFilename":"README.md","_id":"cordova-plugin-nsp-qrreader@1.0.4","_shasum":"a014a8426e3a813c9041e6b8d5be361f60f08c80","_resolved":"file:cordova-plugin-nsp-qrreader-1.0.4.tgz","_from":"cordova-plugin-nsp-qrreader-1.0.4.tgz","_npmVersion":"4.2.0","_nodeVersion":"7.10.1","_npmUser":{"name":"deployment","email":"yourname@ncinga.com"},"maintainers":[{"name":"deployment","email":"yourname@ncinga.com"}],"dist":{"shasum":"a014a8426e3a813c9041e6b8d5be361f60f08c80","tarball":"http://repository.ncinga.com/nexus/content/groups/npm-all/cordova-plugin-nsp-qrreader/-/cordova-plugin-nsp-qrreader-1.0.4.tgz"}},"1.0.5":{"name":"cordova-plugin-nsp-qrreader","version":"1.0.5","description":"this plugin is used to read qr and barcodes using google vision api","cordova":{"id":"cordova-plugin-nsp-qrreader","platforms":["android"]},"repository":{"type":"git","url":"git+https://github.com/thecouk/ionic-cordova-plugin-template.git"},"keywords":["ecosystem:cordova","cordova-android"],"author":{"name":"shadeeka dharmabandu"},"license":"MIT","bugs":{"url":"https://github.com/thecouk/ionic-cordova-plugin-template/issues"},"homepage":"https://github.com/thecouk/ionic-cordova-plugin-template#readme","readme":"# Plantilla para un Plugin de Cordova\n======\n\nPlantilla base para construir un plugin de iOS y Android.\n\n======\n# ¿Qué es un plugin de Cordova?\n\nCordova es un conjunto de herramientas que funcionan como puente para crear aplicaciones nativas e hibridas que se comunican a tráves de código Javascript.\n\nEse puente nos permite hacer cosas sencillas o tan complejas nativas que no se incorporan a los estandares de la Web.\n\nConstruir plugins de Cordova significa qu estamos escribiendo algo de JavaScript para invocar a algún código nativo (Objetive-c, Java, entre otros) que tambien deberemos de escribir y devolver el resultado a nuestro JavaScript.\n\nEn resumen, construimos un plugin de Cordova cuando queremos hacer algo nativo que aún no puede realizar el WebKit, como acceder a los datos de HealthKit, al scanner de huella, a la conexión bluetooth o a un SDK de terceros que permiten la conexión con dispositivos como impresoras y lectores.\n\n# Construcción de nuestro propio Plugin:\n\nFrameworks como Ionic cuentan con una libreria extensa de herramientas nativas en las cuales posiblemente encontrarás lo que buscas [IonicFramework](https://ionicframework.com/docs/native/), pero ¿cómo hacer uno propio? Bueno Cordova habilita una documentación para este fin: [Plugin Development Guide](https://cordova.apache.org/docs/en/7.x/guide/hybrid/plugins/index.html), sin embargo despues de mucho buscar y probar diferentes alternativas me guié finalmente por esta página: [How to write Cordova Plugins](https://medium.com/ionic-and-the-mobile-web/how-to-write-cordova-plugins-864e40025f2) la cúal se basa en una plantilla ya creada por el equipo de IONIC-TEAM [ionic-team/cordova-plugin-template](https://github.com/ionic-team/cordova-plugin-template) para clonar e instalar en nuestro proyecto, con el fin de entender y documentar un poco más, me decidi a en base a dicha plantilla crear una propia.\n\n## Paso 1:\n\nPosicionarse en el directorio de proyectos de Ionic en mi caso: `cd Documents/desarrollo/proyectos/ionic/...`\n\n## Paso 2:\n\nCrear un proyecto de Ionic: `ionic start nombreProyecto blank`\nSeleccionar proyecto: `cd nombreProyecto/`\n\n## Paso 3:\n\nInstalar Plugin: `ionic cordova plugin add https://github.com/thecouk/ionic-cordova-plugin-template.git`\n\n## Paso 4:\n\nModificar el archivo **home.ts** de la siguiente manera:\n\n## home.ts:\n\n```\nimport { Component } from '@angular/core';\n//Agregar Platform para poder evaluar si ya se cargo y esta lista la plataforma\nimport { NavController, Platform } from 'ionic-angular';\n\n@Component({\n  selector: 'page-home',\n  templateUrl: 'home.html'\n})\nexport class HomePage {\n\n  constructor(public navCtrl: NavController,public platform: Platform) {\n  }\n\n  ionViewDidLoad() {  \n    //Verifica si ya se encuentra lista la plataforma  \n    this.platform.ready().then(() => {\n          //Realiza el llamado al plugin e invoca segun el resultado la funcion correspondiente\n          (<any>window).MiPlugin.saludo('Mundo!!!', this.successCallback, this.errorCallback);\n    });\n  }\n\n  //Funcion para desplegar la respuesta cuando es satisfactorio\n  successCallback(message){\n      alert(message);\n  }\n\n  //Funcion si hubo un error\n  errorCallback(){\n      alert(\"Hubo un error\");\n  }\n\n}\n\n```\n\n## Paso 5:\n\nEjecutar a iOS: `ionic cordova run ios --prod` o para Android: `ionic cordova run android --prod`.\n\nPosteriormente puedes ir al directorio **platforms** donde encontrarás la carpeta de cada sistema operativo y podrás abrirlo en Xcode o Android Studio compilar y correr la aplicación.\n\n**LISTO** Si todo va bien verás una alerta **\"Hola todo el... Mundo!!!\"**, basicamente lo que estas viendo en esa alerta es la mezcla de lo hibrido con lo nativo. De aquí en más ya puedes agregar la complejidad que desees a tu aplicación.\n\n![Pantalla Plugin](https://github.com/thecouk/ionic-cordova-plugin-template/blob/master/HolaMundo.png?raw=true)\n\n**NOTA:** En tu proyecto podrás observar que dentro de la carpeta de **plugins** encontrarás la carpeta **mi-plugin** que a su vez contiene los archivos de definición y las carpetas que nos interesa entender y modificar **www/** y **src/** en la primera encontraremos el código Javascript que pone en uso la libreria de Cordova y nos permite definir las funciones que pondremos a disposición para nuestra aplicación.\n\n```\nvar exec = require('cordova/exec');\n\nvar PLUGIN_NAME = 'MiPlugin';\n\nvar MiPlugin = {\n  saludo: function (name, successCallback, errorCallback){\n        exec(successCallback, errorCallback, PLUGIN_NAME, \"saludar\", [name]);\n  }\n};\n\nmodule.exports = MiPlugin;\n\n```\n\nEn la segunda carpeta encontraremos en el caso de iOS dos archivos: **MiPlugin.h** y **MiPlugin.m** los cuales como te imaginaras son los archivos donde definiremos las funciones nativas que recibiran parametros y devolveran una respusta. En el caso de Android encontrarás una estructura de carpetas **\"Es necesario respetarla\"** ejemplo: **android/com/example/MiPlugin.java** donde de igual manera encontrarás las funciones para cuando ejecutes en Android.\n\n## MiPlugin.h\n```\n#import <Cordova/CDVPlugin.h>\n\n@interface MiPlugin : CDVPlugin {\n}\n\n// Encabezados de las funciones del plugin\n- (void) saludar:(CDVInvokedUrlCommand*)command;\n\n@end\n```\n\n## MiPlugin.m\n```\n#import \"MiPlugin.h\"\n\n#import <Cordova/CDVAvailability.h>\n\n@implementation MiPlugin\n\n- (void)pluginInitialize {\n}\n\n- (void)saludar:(CDVInvokedUrlCommand*)command\n{\n\n    NSString* name = [[command arguments] objectAtIndex:0];\n    NSString* msg = [NSString stringWithFormat: @\"Hola todo el...  %@\", name];\n\n    CDVPluginResult* result = [CDVPluginResult\n                               resultWithStatus:CDVCommandStatus_OK\n                               messageAsString:msg];\n\n    [self.commandDelegate sendPluginResult:result callbackId:command.callbackId];\n}\n\n@end\n\n```\n\n## MiPlugin.java\n```\npackage com.example;\n\nimport org.apache.cordova.CallbackContext;\nimport org.apache.cordova.CordovaInterface;\nimport org.apache.cordova.CordovaPlugin;\nimport org.apache.cordova.CordovaWebView;\nimport org.apache.cordova.PluginResult;\nimport org.apache.cordova.PluginResult.Status;\nimport org.json.JSONObject;\nimport org.json.JSONArray;\nimport org.json.JSONException;\n\nimport android.util.Log;\n\nimport java.util.Date;\n\npublic class MiPlugin extends CordovaPlugin {\n  private static final String TAG = \"MiPlugin\";\n\n  public void initialize(CordovaInterface cordova, CordovaWebView webView) {\n    super.initialize(cordova, webView);\n\n    Log.d(TAG, \"Inicializando MiPlugin\");\n  }\n\n  public boolean execute(String action, JSONArray args, final CallbackContext callbackContext) throws JSONException {\n    if(action.equals(\"saludar\")) {\n      // An example of returning data back to the web layer\n       String phrase = args.getString(0);\n      // Echo back the first argument      \n      final PluginResult result = new PluginResult(PluginResult.Status.OK, \"Hola todo el...\"+phrase);\n      callbackContext.sendPluginResult(result);\n    }\n    return true;\n  }\n\n}\n\n```\n\n## Fuente de referencia:\nEste ejemplo es una adaptación del tutorial:\n[How to write Cordova Plugins](https://medium.com/ionic-and-the-mobile-web/how-to-write-cordova-plugins-864e40025f2)\n\n\n## Autor\n\n* **@TheCouk** ","readmeFilename":"README.md","_id":"cordova-plugin-nsp-qrreader@1.0.5","_shasum":"017e13cef2749cb246f0375c4d825a3c208b57cf","_resolved":"file:cordova-plugin-nsp-qrreader-1.0.5.tgz","_from":"cordova-plugin-nsp-qrreader-1.0.5.tgz","_npmVersion":"4.2.0","_nodeVersion":"7.10.1","_npmUser":{"name":"deployment","email":"yourname@ncinga.com"},"maintainers":[{"name":"deployment","email":"yourname@ncinga.com"}],"dist":{"shasum":"017e13cef2749cb246f0375c4d825a3c208b57cf","tarball":"http://repository.ncinga.com/nexus/content/groups/npm-all/cordova-plugin-nsp-qrreader/-/cordova-plugin-nsp-qrreader-1.0.5.tgz"}},"1.0.6":{"name":"cordova-plugin-nsp-qrreader","version":"1.0.6","description":"this plugin is used to read qr and barcodes using google vision api","cordova":{"id":"cordova-plugin-nsp-qrreader","platforms":["android"]},"repository":{"type":"git","url":"git+https://github.com/thecouk/ionic-cordova-plugin-template.git"},"keywords":["ecosystem:cordova","cordova-android"],"author":{"name":"shadeeka dharmabandu"},"license":"MIT","bugs":{"url":"https://github.com/thecouk/ionic-cordova-plugin-template/issues"},"homepage":"https://github.com/thecouk/ionic-cordova-plugin-template#readme","readme":"# Plantilla para un Plugin de Cordova\n======\n\nPlantilla base para construir un plugin de iOS y Android.\n\n======\n# ¿Qué es un plugin de Cordova?\n\nCordova es un conjunto de herramientas que funcionan como puente para crear aplicaciones nativas e hibridas que se comunican a tráves de código Javascript.\n\nEse puente nos permite hacer cosas sencillas o tan complejas nativas que no se incorporan a los estandares de la Web.\n\nConstruir plugins de Cordova significa qu estamos escribiendo algo de JavaScript para invocar a algún código nativo (Objetive-c, Java, entre otros) que tambien deberemos de escribir y devolver el resultado a nuestro JavaScript.\n\nEn resumen, construimos un plugin de Cordova cuando queremos hacer algo nativo que aún no puede realizar el WebKit, como acceder a los datos de HealthKit, al scanner de huella, a la conexión bluetooth o a un SDK de terceros que permiten la conexión con dispositivos como impresoras y lectores.\n\n# Construcción de nuestro propio Plugin:\n\nFrameworks como Ionic cuentan con una libreria extensa de herramientas nativas en las cuales posiblemente encontrarás lo que buscas [IonicFramework](https://ionicframework.com/docs/native/), pero ¿cómo hacer uno propio? Bueno Cordova habilita una documentación para este fin: [Plugin Development Guide](https://cordova.apache.org/docs/en/7.x/guide/hybrid/plugins/index.html), sin embargo despues de mucho buscar y probar diferentes alternativas me guié finalmente por esta página: [How to write Cordova Plugins](https://medium.com/ionic-and-the-mobile-web/how-to-write-cordova-plugins-864e40025f2) la cúal se basa en una plantilla ya creada por el equipo de IONIC-TEAM [ionic-team/cordova-plugin-template](https://github.com/ionic-team/cordova-plugin-template) para clonar e instalar en nuestro proyecto, con el fin de entender y documentar un poco más, me decidi a en base a dicha plantilla crear una propia.\n\n## Paso 1:\n\nPosicionarse en el directorio de proyectos de Ionic en mi caso: `cd Documents/desarrollo/proyectos/ionic/...`\n\n## Paso 2:\n\nCrear un proyecto de Ionic: `ionic start nombreProyecto blank`\nSeleccionar proyecto: `cd nombreProyecto/`\n\n## Paso 3:\n\nInstalar Plugin: `ionic cordova plugin add https://github.com/thecouk/ionic-cordova-plugin-template.git`\n\n## Paso 4:\n\nModificar el archivo **home.ts** de la siguiente manera:\n\n## home.ts:\n\n```\nimport { Component } from '@angular/core';\n//Agregar Platform para poder evaluar si ya se cargo y esta lista la plataforma\nimport { NavController, Platform } from 'ionic-angular';\n\n@Component({\n  selector: 'page-home',\n  templateUrl: 'home.html'\n})\nexport class HomePage {\n\n  constructor(public navCtrl: NavController,public platform: Platform) {\n  }\n\n  ionViewDidLoad() {  \n    //Verifica si ya se encuentra lista la plataforma  \n    this.platform.ready().then(() => {\n          //Realiza el llamado al plugin e invoca segun el resultado la funcion correspondiente\n          (<any>window).MiPlugin.saludo('Mundo!!!', this.successCallback, this.errorCallback);\n    });\n  }\n\n  //Funcion para desplegar la respuesta cuando es satisfactorio\n  successCallback(message){\n      alert(message);\n  }\n\n  //Funcion si hubo un error\n  errorCallback(){\n      alert(\"Hubo un error\");\n  }\n\n}\n\n```\n\n## Paso 5:\n\nEjecutar a iOS: `ionic cordova run ios --prod` o para Android: `ionic cordova run android --prod`.\n\nPosteriormente puedes ir al directorio **platforms** donde encontrarás la carpeta de cada sistema operativo y podrás abrirlo en Xcode o Android Studio compilar y correr la aplicación.\n\n**LISTO** Si todo va bien verás una alerta **\"Hola todo el... Mundo!!!\"**, basicamente lo que estas viendo en esa alerta es la mezcla de lo hibrido con lo nativo. De aquí en más ya puedes agregar la complejidad que desees a tu aplicación.\n\n![Pantalla Plugin](https://github.com/thecouk/ionic-cordova-plugin-template/blob/master/HolaMundo.png?raw=true)\n\n**NOTA:** En tu proyecto podrás observar que dentro de la carpeta de **plugins** encontrarás la carpeta **mi-plugin** que a su vez contiene los archivos de definición y las carpetas que nos interesa entender y modificar **www/** y **src/** en la primera encontraremos el código Javascript que pone en uso la libreria de Cordova y nos permite definir las funciones que pondremos a disposición para nuestra aplicación.\n\n```\nvar exec = require('cordova/exec');\n\nvar PLUGIN_NAME = 'MiPlugin';\n\nvar MiPlugin = {\n  saludo: function (name, successCallback, errorCallback){\n        exec(successCallback, errorCallback, PLUGIN_NAME, \"saludar\", [name]);\n  }\n};\n\nmodule.exports = MiPlugin;\n\n```\n\nEn la segunda carpeta encontraremos en el caso de iOS dos archivos: **MiPlugin.h** y **MiPlugin.m** los cuales como te imaginaras son los archivos donde definiremos las funciones nativas que recibiran parametros y devolveran una respusta. En el caso de Android encontrarás una estructura de carpetas **\"Es necesario respetarla\"** ejemplo: **android/com/example/MiPlugin.java** donde de igual manera encontrarás las funciones para cuando ejecutes en Android.\n\n## MiPlugin.h\n```\n#import <Cordova/CDVPlugin.h>\n\n@interface MiPlugin : CDVPlugin {\n}\n\n// Encabezados de las funciones del plugin\n- (void) saludar:(CDVInvokedUrlCommand*)command;\n\n@end\n```\n\n## MiPlugin.m\n```\n#import \"MiPlugin.h\"\n\n#import <Cordova/CDVAvailability.h>\n\n@implementation MiPlugin\n\n- (void)pluginInitialize {\n}\n\n- (void)saludar:(CDVInvokedUrlCommand*)command\n{\n\n    NSString* name = [[command arguments] objectAtIndex:0];\n    NSString* msg = [NSString stringWithFormat: @\"Hola todo el...  %@\", name];\n\n    CDVPluginResult* result = [CDVPluginResult\n                               resultWithStatus:CDVCommandStatus_OK\n                               messageAsString:msg];\n\n    [self.commandDelegate sendPluginResult:result callbackId:command.callbackId];\n}\n\n@end\n\n```\n\n## MiPlugin.java\n```\npackage com.example;\n\nimport org.apache.cordova.CallbackContext;\nimport org.apache.cordova.CordovaInterface;\nimport org.apache.cordova.CordovaPlugin;\nimport org.apache.cordova.CordovaWebView;\nimport org.apache.cordova.PluginResult;\nimport org.apache.cordova.PluginResult.Status;\nimport org.json.JSONObject;\nimport org.json.JSONArray;\nimport org.json.JSONException;\n\nimport android.util.Log;\n\nimport java.util.Date;\n\npublic class MiPlugin extends CordovaPlugin {\n  private static final String TAG = \"MiPlugin\";\n\n  public void initialize(CordovaInterface cordova, CordovaWebView webView) {\n    super.initialize(cordova, webView);\n\n    Log.d(TAG, \"Inicializando MiPlugin\");\n  }\n\n  public boolean execute(String action, JSONArray args, final CallbackContext callbackContext) throws JSONException {\n    if(action.equals(\"saludar\")) {\n      // An example of returning data back to the web layer\n       String phrase = args.getString(0);\n      // Echo back the first argument      \n      final PluginResult result = new PluginResult(PluginResult.Status.OK, \"Hola todo el...\"+phrase);\n      callbackContext.sendPluginResult(result);\n    }\n    return true;\n  }\n\n}\n\n```\n\n## Fuente de referencia:\nEste ejemplo es una adaptación del tutorial:\n[How to write Cordova Plugins](https://medium.com/ionic-and-the-mobile-web/how-to-write-cordova-plugins-864e40025f2)\n\n\n## Autor\n\n* **@TheCouk** ","readmeFilename":"README.md","_id":"cordova-plugin-nsp-qrreader@1.0.6","_shasum":"aa78c617e4d028e8a1d776e4a6528943875206cf","_resolved":"file:cordova-plugin-nsp-qrreader-1.0.6.tgz","_from":"cordova-plugin-nsp-qrreader-1.0.6.tgz","_npmVersion":"4.2.0","_nodeVersion":"7.10.1","_npmUser":{"name":"deployment","email":"yourname@ncinga.com"},"maintainers":[{"name":"deployment","email":"yourname@ncinga.com"}],"dist":{"shasum":"aa78c617e4d028e8a1d776e4a6528943875206cf","tarball":"http://repository.ncinga.com/nexus/content/groups/npm-all/cordova-plugin-nsp-qrreader/-/cordova-plugin-nsp-qrreader-1.0.6.tgz"}}},"name":"cordova-plugin-nsp-qrreader","description":"this plugin is used to read qr and barcodes using google vision api","readme":"# Plantilla para un Plugin de Cordova\n======\n\nPlantilla base para construir un plugin de iOS y Android.\n\n======\n# ¿Qué es un plugin de Cordova?\n\nCordova es un conjunto de herramientas que funcionan como puente para crear aplicaciones nativas e hibridas que se comunican a tráves de código Javascript.\n\nEse puente nos permite hacer cosas sencillas o tan complejas nativas que no se incorporan a los estandares de la Web.\n\nConstruir plugins de Cordova significa qu estamos escribiendo algo de JavaScript para invocar a algún código nativo (Objetive-c, Java, entre otros) que tambien deberemos de escribir y devolver el resultado a nuestro JavaScript.\n\nEn resumen, construimos un plugin de Cordova cuando queremos hacer algo nativo que aún no puede realizar el WebKit, como acceder a los datos de HealthKit, al scanner de huella, a la conexión bluetooth o a un SDK de terceros que permiten la conexión con dispositivos como impresoras y lectores.\n\n# Construcción de nuestro propio Plugin:\n\nFrameworks como Ionic cuentan con una libreria extensa de herramientas nativas en las cuales posiblemente encontrarás lo que buscas [IonicFramework](https://ionicframework.com/docs/native/), pero ¿cómo hacer uno propio? Bueno Cordova habilita una documentación para este fin: [Plugin Development Guide](https://cordova.apache.org/docs/en/7.x/guide/hybrid/plugins/index.html), sin embargo despues de mucho buscar y probar diferentes alternativas me guié finalmente por esta página: [How to write Cordova Plugins](https://medium.com/ionic-and-the-mobile-web/how-to-write-cordova-plugins-864e40025f2) la cúal se basa en una plantilla ya creada por el equipo de IONIC-TEAM [ionic-team/cordova-plugin-template](https://github.com/ionic-team/cordova-plugin-template) para clonar e instalar en nuestro proyecto, con el fin de entender y documentar un poco más, me decidi a en base a dicha plantilla crear una propia.\n\n## Paso 1:\n\nPosicionarse en el directorio de proyectos de Ionic en mi caso: `cd Documents/desarrollo/proyectos/ionic/...`\n\n## Paso 2:\n\nCrear un proyecto de Ionic: `ionic start nombreProyecto blank`\nSeleccionar proyecto: `cd nombreProyecto/`\n\n## Paso 3:\n\nInstalar Plugin: `ionic cordova plugin add https://github.com/thecouk/ionic-cordova-plugin-template.git`\n\n## Paso 4:\n\nModificar el archivo **home.ts** de la siguiente manera:\n\n## home.ts:\n\n```\nimport { Component } from '@angular/core';\n//Agregar Platform para poder evaluar si ya se cargo y esta lista la plataforma\nimport { NavController, Platform } from 'ionic-angular';\n\n@Component({\n  selector: 'page-home',\n  templateUrl: 'home.html'\n})\nexport class HomePage {\n\n  constructor(public navCtrl: NavController,public platform: Platform) {\n  }\n\n  ionViewDidLoad() {  \n    //Verifica si ya se encuentra lista la plataforma  \n    this.platform.ready().then(() => {\n          //Realiza el llamado al plugin e invoca segun el resultado la funcion correspondiente\n          (<any>window).MiPlugin.saludo('Mundo!!!', this.successCallback, this.errorCallback);\n    });\n  }\n\n  //Funcion para desplegar la respuesta cuando es satisfactorio\n  successCallback(message){\n      alert(message);\n  }\n\n  //Funcion si hubo un error\n  errorCallback(){\n      alert(\"Hubo un error\");\n  }\n\n}\n\n```\n\n## Paso 5:\n\nEjecutar a iOS: `ionic cordova run ios --prod` o para Android: `ionic cordova run android --prod`.\n\nPosteriormente puedes ir al directorio **platforms** donde encontrarás la carpeta de cada sistema operativo y podrás abrirlo en Xcode o Android Studio compilar y correr la aplicación.\n\n**LISTO** Si todo va bien verás una alerta **\"Hola todo el... Mundo!!!\"**, basicamente lo que estas viendo en esa alerta es la mezcla de lo hibrido con lo nativo. De aquí en más ya puedes agregar la complejidad que desees a tu aplicación.\n\n![Pantalla Plugin](https://github.com/thecouk/ionic-cordova-plugin-template/blob/master/HolaMundo.png?raw=true)\n\n**NOTA:** En tu proyecto podrás observar que dentro de la carpeta de **plugins** encontrarás la carpeta **mi-plugin** que a su vez contiene los archivos de definición y las carpetas que nos interesa entender y modificar **www/** y **src/** en la primera encontraremos el código Javascript que pone en uso la libreria de Cordova y nos permite definir las funciones que pondremos a disposición para nuestra aplicación.\n\n```\nvar exec = require('cordova/exec');\n\nvar PLUGIN_NAME = 'MiPlugin';\n\nvar MiPlugin = {\n  saludo: function (name, successCallback, errorCallback){\n        exec(successCallback, errorCallback, PLUGIN_NAME, \"saludar\", [name]);\n  }\n};\n\nmodule.exports = MiPlugin;\n\n```\n\nEn la segunda carpeta encontraremos en el caso de iOS dos archivos: **MiPlugin.h** y **MiPlugin.m** los cuales como te imaginaras son los archivos donde definiremos las funciones nativas que recibiran parametros y devolveran una respusta. En el caso de Android encontrarás una estructura de carpetas **\"Es necesario respetarla\"** ejemplo: **android/com/example/MiPlugin.java** donde de igual manera encontrarás las funciones para cuando ejecutes en Android.\n\n## MiPlugin.h\n```\n#import <Cordova/CDVPlugin.h>\n\n@interface MiPlugin : CDVPlugin {\n}\n\n// Encabezados de las funciones del plugin\n- (void) saludar:(CDVInvokedUrlCommand*)command;\n\n@end\n```\n\n## MiPlugin.m\n```\n#import \"MiPlugin.h\"\n\n#import <Cordova/CDVAvailability.h>\n\n@implementation MiPlugin\n\n- (void)pluginInitialize {\n}\n\n- (void)saludar:(CDVInvokedUrlCommand*)command\n{\n\n    NSString* name = [[command arguments] objectAtIndex:0];\n    NSString* msg = [NSString stringWithFormat: @\"Hola todo el...  %@\", name];\n\n    CDVPluginResult* result = [CDVPluginResult\n                               resultWithStatus:CDVCommandStatus_OK\n                               messageAsString:msg];\n\n    [self.commandDelegate sendPluginResult:result callbackId:command.callbackId];\n}\n\n@end\n\n```\n\n## MiPlugin.java\n```\npackage com.example;\n\nimport org.apache.cordova.CallbackContext;\nimport org.apache.cordova.CordovaInterface;\nimport org.apache.cordova.CordovaPlugin;\nimport org.apache.cordova.CordovaWebView;\nimport org.apache.cordova.PluginResult;\nimport org.apache.cordova.PluginResult.Status;\nimport org.json.JSONObject;\nimport org.json.JSONArray;\nimport org.json.JSONException;\n\nimport android.util.Log;\n\nimport java.util.Date;\n\npublic class MiPlugin extends CordovaPlugin {\n  private static final String TAG = \"MiPlugin\";\n\n  public void initialize(CordovaInterface cordova, CordovaWebView webView) {\n    super.initialize(cordova, webView);\n\n    Log.d(TAG, \"Inicializando MiPlugin\");\n  }\n\n  public boolean execute(String action, JSONArray args, final CallbackContext callbackContext) throws JSONException {\n    if(action.equals(\"saludar\")) {\n      // An example of returning data back to the web layer\n       String phrase = args.getString(0);\n      // Echo back the first argument      \n      final PluginResult result = new PluginResult(PluginResult.Status.OK, \"Hola todo el...\"+phrase);\n      callbackContext.sendPluginResult(result);\n    }\n    return true;\n  }\n\n}\n\n```\n\n## Fuente de referencia:\nEste ejemplo es una adaptación del tutorial:\n[How to write Cordova Plugins](https://medium.com/ionic-and-the-mobile-web/how-to-write-cordova-plugins-864e40025f2)\n\n\n## Autor\n\n* **@TheCouk** ","time":{"created":"2018-06-08T10:06:59.251Z","modified":"2019-08-09T10:12:13.362Z","1.0.0":"2018-06-08T10:06:59.251Z","1.0.1":"2018-06-13T11:34:11.587Z","1.0.2":"2018-06-15T06:01:09.840Z","1.0.3":"2019-07-11T09:28:32.847Z","1.0.4":"2019-07-11T11:25:42.858Z","1.0.5":"2019-07-11T11:41:01.833Z","1.0.6":"2019-08-09T10:11:25.327Z"},"homepage":"https://github.com/thecouk/ionic-cordova-plugin-template#readme"}