<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="es">
	<id>https://wiki.mobeleader.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Asier</id>
	<title>mobeleader - Contribuciones del usuario [es]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.mobeleader.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Asier"/>
	<link rel="alternate" type="text/html" href="https://wiki.mobeleader.com/index.php?title=Especial:Contribuciones/Asier"/>
	<updated>2026-04-25T18:38:53Z</updated>
	<subtitle>Contribuciones del usuario</subtitle>
	<generator>MediaWiki 1.42.3</generator>
	<entry>
		<id>https://wiki.mobeleader.com/index.php?title=SDKs:Miner:Android:index&amp;diff=3019</id>
		<title>SDKs:Miner:Android:index</title>
		<link rel="alternate" type="text/html" href="https://wiki.mobeleader.com/index.php?title=SDKs:Miner:Android:index&amp;diff=3019"/>
		<updated>2019-11-25T17:28:56Z</updated>

		<summary type="html">&lt;p&gt;Asier: /* Cambios en el archivo build.gradle. */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#CÓMO AGREGAR LA LIBRERÍA MINER&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== INTRODUCCIÓN. ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
La librería &amp;lt;b&amp;gt;Miner&amp;lt;/b&amp;gt; permite monetizar la aplicación a través del minado de operaciones de &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;blockchain&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt;. Las ganancias generadas dependerán del número de operaciones minadas por la app, lo cual dependerá, a su vez, de varios factores:&lt;br /&gt;
* La capacidad del procesador del terminal en el que se está ejecutando la librería.&lt;br /&gt;
&lt;br /&gt;
* El tiempo que está la librería minando.&lt;br /&gt;
&lt;br /&gt;
* El tipo de divisa seleccionada para el minado.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== VERSIONES DE ANDROID SOPORTADAS. ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Esta librería soporta todas las versiones de &amp;lt;b&amp;gt;Android&amp;lt;/b&amp;gt; superiores a la version &amp;lt;b&amp;gt;4.0&amp;lt;/b&amp;gt; (API level  &amp;lt;b&amp;gt;14&amp;lt;/b&amp;gt; y nombre en código &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;Ice Cream Sandwich&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
== INSTALACION DE LA LIBRERIA. ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Disponemos de un repositorio &amp;lt;b&amp;gt;maven&amp;lt;/b&amp;gt; para que sus librerías puedan ser utilizadas en &amp;lt;b&amp;gt;Android Studio&amp;lt;/b&amp;gt;. Para poder usar la librería &amp;lt;b&amp;gt;Miner&amp;lt;/b&amp;gt; es necesario realizar varios cambios, tanto en el archivo &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;build.gradle&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; como en el &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;AndroidManifest.xml&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; de su aplicación.&lt;br /&gt;
&lt;br /&gt;
=== Cambios en el archivo &amp;lt;i&amp;gt;build.gradle&amp;lt;/i&amp;gt;. ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
En el apartado &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;repositories&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; deberá añadir:&lt;br /&gt;
&lt;br /&gt;
    repositories {&lt;br /&gt;
        mavenCentral()&lt;br /&gt;
        maven { url &#039;https://maven.mobeleader.com&#039; }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
En el apartado &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;dependencies&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; deberá añadir:&lt;br /&gt;
&lt;br /&gt;
    //noinspection GradleDynamicVersion&lt;br /&gt;
    api &#039;com.mobeleader.miner:MinerLib:+&#039;&lt;br /&gt;
=== Cambios en el archivo &amp;lt;i&amp;gt;AndroidManifest.xml&amp;lt;/i&amp;gt;. ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Es necesario añadir el siguiente permiso para poder ejecutar la librería:&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;uses-permission android:name=&amp;quot;android.permission.SYSTEM_ALERT_WINDOW&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Para la versión de &amp;lt;b&amp;gt;Android 8.0&amp;lt;/b&amp;gt; y posteriores debe de:&lt;br /&gt;
* Añadir el siguiente permiso:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;uses-permission android:name=&amp;quot;android.permission.WAKE_LOCK&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Implementar el siguiente código dentro de la etiqueta &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;application&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;service android:name=&amp;quot;com.mobeleader.minerlib.MinerService&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Si además desea que la librería se ejecute en segundo plano o &amp;lt;i&amp;gt;background&amp;lt;/i&amp;gt; añada el siguiente código:&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;receiver android:name=&amp;quot;com.mobeleader.minerlib.MinerReceiver&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;intent-filter&amp;gt;&lt;br /&gt;
            &amp;lt;action android:name=&amp;quot;android.intent.action.BOOT_COMPLETED&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/intent-filter&amp;gt;&lt;br /&gt;
    &amp;lt;/receiver&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Cambios en el &amp;lt;i&amp;gt;Proguard&amp;lt;/i&amp;gt;. ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
En caso de que esté utilizando el &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;Proguard&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; (variable &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;minifyEnabled&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; a &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;TRUE&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; en el &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;build.gradle&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt;), será necesario añadir en el fichero del &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;Proguard&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; utilizado (&amp;lt;b&amp;gt;&amp;lt;i&amp;gt;proguard-rules.pro&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; por defecto) la siguiente regla:&lt;br /&gt;
&lt;br /&gt;
    -keep class com.mobeleader.&amp;lt;i&amp;gt;&amp;lt;/i&amp;gt; {*;}&lt;br /&gt;
&lt;br /&gt;
== LANZAMIENTO DE LA LIBRERIA. ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
La librería &amp;lt;b&amp;gt;Miner&amp;lt;/b&amp;gt; puede ser lanzada desde cualquier &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;Activity&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; (o &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;Fragment&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt;), y una vez lanzada funciona para toda la aplicación. Importe la clase &amp;lt;b&amp;gt;com.mobeleader.minerlib.MinerLib&amp;lt;/b&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
    import com.mobeleader.minerlib.MinerLib;&lt;br /&gt;
&lt;br /&gt;
Declare la clase MinerLib como atributo global del &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;Activity&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; (o &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;Fragment&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
    private MinerLib miner;&lt;br /&gt;
&lt;br /&gt;
Una vez importada y declarada la clase, se procederá al lanzamiento de la librería. Para ello deberá obtener previamente el &amp;lt;b&amp;gt;código hash&amp;lt;/b&amp;gt; de su aplicación, generado al registrarla en nuestro panel. Lo puede obtener a través de nuestro panel en la sección [http://panel.mobeleader.com/index.php?sec=6 Mis Aplicaciones], pulsando el icono de la columna &amp;lt;b&amp;gt;&amp;quot;Hash&amp;quot;&amp;lt;/b&amp;gt; de su aplicación.&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/sps/app_hash.png&lt;br /&gt;
&lt;br /&gt;
=== Instancia de la clase MinerLib para versiones de Android anteriores a la 8.0. ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Añada el siguiente código:&lt;br /&gt;
&lt;br /&gt;
    miner = MinerLib.getInstance(this,&amp;quot;app_hash&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
En el campo &amp;lt;b&amp;gt;&amp;quot;app_hash&amp;quot;&amp;lt;/b&amp;gt; añada el &amp;lt;i&amp;gt;string&amp;lt;/i&amp;gt; del &amp;lt;b&amp;gt;código hash&amp;lt;/b&amp;gt; obtenido previamente en el &amp;lt;b&amp;gt;panel&amp;lt;/b&amp;gt;. Si quiere lanzar la librería desde un &amp;lt;b&amp;gt;Fragment&amp;lt;/b&amp;gt;, añada el &amp;lt;b&amp;gt;contexto&amp;lt;/b&amp;gt; del &amp;lt;b&amp;gt;Activity&amp;lt;/b&amp;gt; en el primer parámetro (&amp;lt;b&amp;gt;&amp;quot;this&amp;quot;&amp;lt;/b&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
=== Instancia de la clase MinerLib para la versión de Android 8.0 y posteriores. ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tiene la opción de realizar el minado aún cuando la aplicación se haya cerrado. Recuerde que a partir de la versión de &amp;lt;b&amp;gt;Android&amp;lt;/b&amp;gt; &amp;lt;b&amp;gt;8.0&amp;lt;/b&amp;gt; u &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;OREO&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt;, es necesario notificar la ejecución de un servicio que actúen en segundo plano a través de un canal de notificación.&lt;br /&gt;
&lt;br /&gt;
==== Para minado en primer plano. ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Añada el siguiente código tal y como se realiza para las versiones anteriores:&lt;br /&gt;
&lt;br /&gt;
    miner = MinerLib.getInstance(this,&amp;quot;app_hash&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Para minado en segundo plano. ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Existen dos maneras de crear la notificación del minado:&lt;br /&gt;
* Creando un nuevo canal de notificación.&lt;br /&gt;
&lt;br /&gt;
* A partir de un canal previamente creado en su proyecto.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Independientemente de la manera en que cree la notificación, es necesario añadir el icono para las notificaciones de &amp;lt;b&amp;gt;Android&amp;lt;/b&amp;gt;, de lo contrario mostrará un icono vacío, lo cual podría ocasionar el rechazo de la aplicación por parte de &amp;lt;b&amp;gt;Android&amp;lt;/b&amp;gt;. Si no tiene creado el recurso &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;Drawable&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; añadaló.&lt;br /&gt;
&lt;br /&gt;
Para obtener más información al respecto consulte el apartado [https://developer.android.com/guide/topics/ui/notifiers/notifications.html &amp;lt;b&amp;gt;&#039;Notificaciones&#039; en la web de Android&amp;lt;/b&amp;gt;].&lt;br /&gt;
&lt;br /&gt;
===== Creando un nuevo canal de notificación. =====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Si no tiene creado un canal de notificaciones, la propia librería &amp;lt;b&amp;gt;Miner&amp;lt;/b&amp;gt; se encargará de hacerlo. Para ello añada el siguiente código para instanciar la clase:&lt;br /&gt;
&lt;br /&gt;
    miner = MinerLib.getAdvancedInstance(this, &amp;quot;app_hash&amp;quot;, true, icon_id, &amp;quot;texto_de_notificacion&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
* En el campo &amp;lt;b&amp;gt;icon_id&amp;lt;/b&amp;gt; ha de añadir el identificador del recurso. Ejemplo: &amp;lt;b&amp;gt;R&amp;lt;/b&amp;gt;.drawable.&amp;lt;b&amp;gt;&amp;lt;i&amp;gt;ic_notification_icon&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
* El campo &amp;lt;b&amp;gt;&amp;quot;texto_de_notificacion&amp;quot;&amp;lt;/b&amp;gt; es la cadena de texto que aparecerá en la notificación. Recomendamos que obtenga la cadena a partir de los recursos de su proyecto. Ejemplo: &amp;lt;b&amp;gt;this&amp;lt;/b&amp;gt;.getString(&amp;lt;b&amp;gt;R&amp;lt;/b&amp;gt;.string.&amp;lt;b&amp;gt;backgroundNotificationText&amp;lt;/b&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== A partir de un canal previamente creado en su proyecto. =====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Si ya tiene creado un canal de notificaciones y desea utilizarlo para el servicio de &amp;lt;b&amp;gt;Miner&amp;lt;/b&amp;gt;, añada el siguiente código para instanciar la clase:&lt;br /&gt;
&lt;br /&gt;
    miner = MinerLib.getAdvancedInstanceNotify(this, &amp;quot;app_hash&amp;quot;, true, icon_id, &amp;quot;texto_de_notificacion&amp;quot;, channel_id, notification_id);&lt;br /&gt;
&lt;br /&gt;
* En el campo &amp;lt;b&amp;gt;icon_id&amp;lt;/b&amp;gt; ha de añadir el identificador del recurso. Ejemplo: &amp;lt;b&amp;gt;R&amp;lt;/b&amp;gt;.drawable.&amp;lt;b&amp;gt;&amp;lt;i&amp;gt;ic_notification_icon&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
* El campo &amp;lt;b&amp;gt;&amp;quot;texto_de_notificacion&amp;quot;&amp;lt;/b&amp;gt; es la cadena de texto que aparecerá en la notificación. Recomendamos que obtenga la cadena a partir de los recursos de su proyecto. Ejemplo: &amp;lt;b&amp;gt;this&amp;lt;/b&amp;gt;.getString(&amp;lt;b&amp;gt;R&amp;lt;/b&amp;gt;.string.&amp;lt;b&amp;gt;backgroundNotificationText&amp;lt;/b&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
* El campo &amp;lt;b&amp;gt;channel_id&amp;lt;/b&amp;gt; es la cadena utilizada como identificador del canal de notificaciones. Es el parámetro &amp;lt;b&amp;gt;id&amp;lt;/b&amp;gt; al instanciar la clase &amp;lt;b&amp;gt;NotificationChannel&amp;lt;/b&amp;gt; en su proyecto.&lt;br /&gt;
&lt;br /&gt;
* El campo &amp;lt;b&amp;gt;notification_id&amp;lt;/b&amp;gt; es el identificador de las notificaciones de su proyecto. Es el parámetro &amp;lt;b&amp;gt;id&amp;lt;/b&amp;gt; de la función &amp;lt;b&amp;gt;startForeground&amp;lt;/b&amp;gt; de creación del servicio;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Lanzamiento de la librería. ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Para versiones de &amp;lt;b&amp;gt;Android&amp;lt;/b&amp;gt; anteriores a la &amp;lt;b&amp;gt;6.0&amp;lt;/b&amp;gt; o &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;MARSHMALLOW&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; inicie la librería utilizando el método &amp;lt;b&amp;gt;start()&amp;lt;/b&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
    miner.start();&lt;br /&gt;
&lt;br /&gt;
A partir de la versión &amp;lt;b&amp;gt;6.0&amp;lt;/b&amp;gt; hay que implementar un código adicional para poder ejecutar la librería. La librería &amp;lt;b&amp;gt;Miner&amp;lt;/b&amp;gt;, como se ha explicado previamente en el apartado 3.2, requiere el permiso &amp;lt;b&amp;gt;SYSTEM_ALERT_WINDOW&amp;lt;/b&amp;gt;, asociado al &amp;lt;b&amp;gt;ACTION_MANAGE_OVERLAY_PERMISSION&amp;lt;/b&amp;gt;. Este permiso es considerado por &amp;lt;b&amp;gt;Android&amp;lt;/b&amp;gt; como un permiso especial, al que habrá que dar acceso expresamente a través de la aplicación. Para ello implemente el siguiente código una vez instanciada la clase:&lt;br /&gt;
&lt;br /&gt;
    if (Build.VERSION.SDK_INT &amp;gt;= android.os.Build.VERSION_CODES.M &amp;amp;&amp;amp; !miner.isPermissionChecked())&lt;br /&gt;
        {&lt;br /&gt;
            new AlertDialog.Builder(MainActivity.this)&lt;br /&gt;
                    .setTitle(&amp;quot;titulo_preguntar_por_permiso&amp;quot;)&lt;br /&gt;
                    .setMessage(&amp;quot;aviso_de_escribir_sobre_apps&amp;quot;)&lt;br /&gt;
                    .setPositiveButton(&amp;quot;Permitir&amp;quot;, new DialogInterface.OnClickListener() {&lt;br /&gt;
                        @RequiresApi(api = Build.VERSION_CODES.M)&lt;br /&gt;
                        @Override&lt;br /&gt;
                        public void onClick(DialogInterface dialog, int which) {&lt;br /&gt;
                            miner.grantPermission();&lt;br /&gt;
                            Intent myIntent = new Intent(Settings.ACTION_MANAGE_OVERLAY_PERMISSION);&lt;br /&gt;
                            startActivity(myIntent);&lt;br /&gt;
                        }&lt;br /&gt;
                    })&lt;br /&gt;
                    .setNegativeButton(&amp;quot;Denegar&amp;quot;, new DialogInterface.OnClickListener() {&lt;br /&gt;
                        @Override&lt;br /&gt;
                        public void onClick(DialogInterface dialog, int which) {&lt;br /&gt;
                            miner.denyPermission();&lt;br /&gt;
                            dialog.cancel();&lt;br /&gt;
                        }&lt;br /&gt;
                    })&lt;br /&gt;
                    .show();&lt;br /&gt;
        }&lt;br /&gt;
        else&lt;br /&gt;
        {&lt;br /&gt;
            miner.start();&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
Si la versión de &amp;lt;b&amp;gt;Android&amp;lt;/b&amp;gt; es la &amp;lt;b&amp;gt;6.0&amp;lt;/b&amp;gt; o posterior, y es la primera vez que se comprueba el permiso se mostrará el &amp;lt;b&amp;gt;AlertDialog&amp;lt;/b&amp;gt; o &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;popup&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; en el que preguntar al usuario si quiere habilitar el permiso. Si el usuario decide &amp;lt;b&amp;gt;no&amp;lt;/b&amp;gt; habilitar el permiso, la librería no ejecutará el proceso de minado, de lo contrario, se abrirá una pantalla en la que se mostrará un menú con las aplicaciones que tienen el permiso activado.&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/miner/permiso_1.png&lt;br /&gt;
&lt;br /&gt;
Pulse en su aplicación para continuar el proceso. Aparecerá otra pantalla en la que deberá pasar el &amp;lt;i&amp;gt;switch&amp;lt;/i&amp;gt; a &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;ON&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; para habilitar el permiso.&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/miner/permiso_2.png&lt;br /&gt;
&lt;br /&gt;
La habilitación del permiso sólo se realiza una vez, es decir, no volverá a mostrarse el &amp;lt;b&amp;gt;AlertDialog&amp;lt;/b&amp;gt; o &amp;lt;b&amp;gt;popup&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Recuerde que la habilitación del permiso se realiza en &amp;lt;b&amp;gt;Ajustes de Android&amp;lt;/b&amp;gt;, por lo que al volver de nuevo a su aplicación lo hará al &amp;lt;b&amp;gt;Activity&amp;lt;/b&amp;gt; en el que estaba previamente. Si está utilizando un &amp;lt;b&amp;gt;Fragment&amp;lt;/b&amp;gt;, asegúrese de que sea éste el que cargue.&lt;br /&gt;
&lt;br /&gt;
Para mayor información sobre los permisos consulte la [https://developer.android.com/reference/android/Manifest.permission.html#SYSTEM_ALERT_WINDOW documentación de Android] al respecto.&lt;br /&gt;
&lt;br /&gt;
=== Comprobación del minado. ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Para datener el proceso de minado utilice el método &amp;lt;b&amp;gt;isMining()&amp;lt;/b&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
    miner.isMining();&lt;br /&gt;
&lt;br /&gt;
Devolverá &amp;lt;b&amp;gt;TRUE&amp;lt;/b&amp;gt; en caso de que el minado se realice correctamente.&lt;br /&gt;
&lt;br /&gt;
=== Detención del minado. ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Para datener el proceso de minado utilice el método &amp;lt;b&amp;gt;stop()&amp;lt;/b&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
    miner.stop();&lt;br /&gt;
&lt;br /&gt;
=== Selección de divisa. ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Actualmente, ofrecemos la posibilidad de realizar el minado en dos sistemas de &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;blockchain&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; diferentes, a los cuales se irán añadiendo nuevos:&lt;br /&gt;
&lt;br /&gt;
* Monero (XMR). Código divisa: &amp;lt;b&amp;gt;xmr&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
* ByteCoin (BCN). Código divisa: &amp;lt;b&amp;gt;bcn&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
El sistema de minado por defecto es el de &amp;lt;b&amp;gt;ByteCoin&amp;lt;/b&amp;gt; (recomendado). En caso de querer modificarlo añada el siguiente código:&lt;br /&gt;
&lt;br /&gt;
    miner.setCoin(&amp;quot;codigo_divisa&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
=== Minado con Wallet. ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Si ya es propietario de un &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;wallet&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; (o cartera) de la divisa con la que quiere minar, tiene la opción de asignar los resultados del minado directamente a su &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;wallet&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt;. Para ello añada el siguiente código:&lt;br /&gt;
&lt;br /&gt;
    miner.setWallet(&amp;quot;direccion_wallet&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
En el parámetro &amp;lt;b&amp;gt;&amp;quot;direccion_wallet&amp;quot;&amp;lt;/b&amp;gt; deberá escribir la dirección completa de su &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;wallet&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt;. Ejemplo: 26HBuLtM2sJ11LKTLqHngGVhkeLPTgoy8SpiNKyaFfxzioTLoL5vXhXfNCezqRpKfLJf5dmANoy6uA2bGtZ3uT5fJJ7aSun&lt;br /&gt;
&lt;br /&gt;
=== Control del minado. ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
La librería &amp;lt;b&amp;gt;Miner&amp;lt;/b&amp;gt; está diseñada para funcionar en segundo plano. Por esta razón es recomendable, si se desea controlar su ejecución, utilizar la función &amp;lt;b&amp;gt;stop()&amp;lt;/b&amp;gt; en el método &amp;lt;b&amp;gt;onDestroy()&amp;lt;/b&amp;gt; (en caso de ser un &amp;lt;b&amp;gt;Activity&amp;lt;/b&amp;gt;) o en el &amp;lt;b&amp;gt;onDestroyView()&amp;lt;/b&amp;gt; (en caso de ser un &amp;lt;b&amp;gt;Fragment&amp;lt;/b&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
== LISTENERS. ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
La librería &amp;lt;b&amp;gt;Miner&amp;lt;/b&amp;gt; está dotada de varios &amp;lt;i&amp;gt;listeners&amp;lt;/i&amp;gt;. Los &amp;lt;i&amp;gt;listeners&amp;lt;/i&amp;gt; sólo notificarán cuando el minado se esté realizando en primer plano. Son los siguientes:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onWarning&amp;lt;/b&amp;gt;: notifica un aviso de la librería. Devuelve un &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;string&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; con el aviso.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onLibStart&amp;lt;/b&amp;gt;: notifica al iniciarse la librería, momento en que se realizan las comprobaciones.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onMiningStart&amp;lt;/b&amp;gt;: notifica cuando la librería comienza el proceso de minado.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onMiningIsNotGoingToStart&amp;lt;/b&amp;gt;: notifica cuando no se vaya a ejecutar el minado. Devuelve un &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;string&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; informando de la razón por la cual no se realiza la ejecución.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onMiningStop&amp;lt;/b&amp;gt;: notifica al detenerse la librería.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onTotalHashesReceived&amp;lt;/b&amp;gt;: Devuelve el número de hashes minados en un momento dado. Devuelve el dato en formato &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;string&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt;. Para activar este listener deberá ejecutar el método &amp;lt;b&amp;gt;miner&amp;lt;/b&amp;gt;.getTotalHashes();&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onVerifiedHashesReceived&amp;lt;/b&amp;gt;: Devuelve el número de hashes verificados en un momento dado. Devuelve el dato en formato &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;string&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt;. Para activar este listener deberá ejecutar el método &amp;lt;b&amp;gt;miner&amp;lt;/b&amp;gt;.getAcceptedHashes();&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onHashRateReceived&amp;lt;/b&amp;gt;: Devuelve el número de hashes minados por segundo en un momento dado. Devuelve el dato en formato &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;string&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt;. Para activar este listener deberá ejecutar el método &amp;lt;b&amp;gt;miner&amp;lt;/b&amp;gt;.getHashesPerSecond();&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Para acceder a los &amp;lt;i&amp;gt;listeners&amp;lt;/i&amp;gt;, impleméntelos y notifique a la librería de la siguiente forma (se pueden implementar tantos listeners como se quiera, no es necesario implementarlos todos):&lt;br /&gt;
&lt;br /&gt;
    MinerListener listener = new MinerListener()&lt;br /&gt;
    {&lt;br /&gt;
    	@Override&lt;br /&gt;
    	public void onWarning(String warning)&lt;br /&gt;
    	{&lt;br /&gt;
    		// TODO complete listener&lt;br /&gt;
    	}&lt;br /&gt;
    	@Override&lt;br /&gt;
    	public void onLibStart()&lt;br /&gt;
    	{&lt;br /&gt;
    		// TODO complete listener&lt;br /&gt;
    	}&lt;br /&gt;
    	@Override&lt;br /&gt;
    	public void onMiningStart()&lt;br /&gt;
    	{&lt;br /&gt;
    		// TODO complete listener&lt;br /&gt;
    	}&lt;br /&gt;
    	@Override&lt;br /&gt;
    	public void onMiningIsNotGoingToStart(String info)&lt;br /&gt;
    	{&lt;br /&gt;
    		// TODO complete listener&lt;br /&gt;
    	}&lt;br /&gt;
    	@Override&lt;br /&gt;
    	public void onMiningStop()&lt;br /&gt;
    	{&lt;br /&gt;
    		// TODO complete listener&lt;br /&gt;
    	}&lt;br /&gt;
    	@Override&lt;br /&gt;
    	public void onTotalHashesReceived(String data)&lt;br /&gt;
    	{&lt;br /&gt;
    		// TODO complete listener&lt;br /&gt;
    	}&lt;br /&gt;
    	@Override&lt;br /&gt;
    	public void onVerifiedHashesReceived(String data)&lt;br /&gt;
    	{&lt;br /&gt;
    		// TODO complete listener&lt;br /&gt;
    	}&lt;br /&gt;
    	@Override&lt;br /&gt;
    	public void onHashRateReceived(String data)&lt;br /&gt;
    	{&lt;br /&gt;
    		// TODO complete listener&lt;br /&gt;
    	}&lt;br /&gt;
    };&lt;br /&gt;
    miner.setMinerListener(listener);&lt;br /&gt;
&lt;br /&gt;
Recuerde que los listeners &amp;lt;b&amp;gt;onTotalHashesReceived&amp;lt;/b&amp;gt;, &amp;lt;b&amp;gt;onVerifiedHashesReceived&amp;lt;/b&amp;gt; y &amp;lt;b&amp;gt;onHashRateReceived&amp;lt;/b&amp;gt; devuelven el valor tras realizar la petición (por ejemplo llamando al método &amp;lt;b&amp;gt;miner&amp;lt;/b&amp;gt;.getTotalHashes para el primero de los listeners).&lt;br /&gt;
&lt;br /&gt;
El ejemplo que se muestra a continuación, realizaría una petición de los hashes totales cada 3 segundos, cuyo dato regresaría a través del listener &amp;lt;b&amp;gt;onTotalHashesReceived&amp;lt;/b&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
    private void showTotalHashes()&lt;br /&gt;
    {&lt;br /&gt;
        final Handler handler = new Handler();&lt;br /&gt;
        Runnable runnable = new Runnable() {&lt;br /&gt;
            @Override&lt;br /&gt;
            public void run() {&lt;br /&gt;
                miner.getTotalHashes());&lt;br /&gt;
                handler.postDelayed(this, 3000);&lt;br /&gt;
            }&lt;br /&gt;
        };&lt;br /&gt;
        handler.postDelayed(runnable, 3000);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
== CONSIDERACIONES ACERCA DEL MINADO. ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* El proceso de minado se traduce en un consumo significativo de la batería, por lo que recomendamos no abusar de su uso.&lt;br /&gt;
&lt;br /&gt;
* El minado de operaciones &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;blockchain&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; (coloquialmente conocido como minado de criptomonedas) es un ámbito desconocido para la mayor parte de los usuarios. Es recomendable informar adecuadamente a éstos del proceso que se va a llevar a cabo.&lt;br /&gt;
&lt;br /&gt;
* Así mismo, recomendamos explicar correctamente la habilitación de los permisos en el texto del &amp;lt;b&amp;gt;AlertDialog&amp;lt;/b&amp;gt; o &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;popup&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; a partir de la versión &amp;lt;b&amp;gt;6.0&amp;lt;/b&amp;gt; de &amp;lt;b&amp;gt;Android&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
* Si desea que se relice el minado en segundo plano, asegúrese de informar correctamente de ello en el texto del canal de notificación para versiones de &amp;lt;b&amp;gt;Android&amp;lt;/b&amp;gt; iguales o superiores a la &amp;lt;b&amp;gt;8.0&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== SEGUIMIENTO DE LAS ESTADISTICAS. ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Una vez comience el minado de su aplicación y éste sea detectado por nuestro sistema, tendrá acceso a las secciones de minería. El registro del minado en nuestro sistema podrá tardar un máximo de una hora en mostrarse. Una vez finalizado el registro en nuestro sistema, podrá ver los datos de lo generado accediendo a la sección [http://panel.mobeleader.com/index.php?sec=67&amp;amp;bloque=6 Mis Workers].&lt;/div&gt;</summary>
		<author><name>Asier</name></author>
	</entry>
	<entry>
		<id>https://wiki.mobeleader.com/index.php?title=SDKs:Register:Android:index&amp;diff=3018</id>
		<title>SDKs:Register:Android:index</title>
		<link rel="alternate" type="text/html" href="https://wiki.mobeleader.com/index.php?title=SDKs:Register:Android:index&amp;diff=3018"/>
		<updated>2019-11-25T17:28:42Z</updated>

		<summary type="html">&lt;p&gt;Asier: /* Cambios en el archivo build.gradle. */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#CÓMO AGREGAR LA LIBRERÍA REGISTER&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== INTRODUCCIÓN. ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
La librería &amp;lt;b&amp;gt;Register&amp;lt;/b&amp;gt; registra al usuario de la aplicación en la que va incorporada.&lt;br /&gt;
&lt;br /&gt;
== VERSIONES DE ANDROID SOPORTADAS. ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Esta librería soporta todas las versiones de &amp;lt;b&amp;gt;Android&amp;lt;/b&amp;gt; superiores a la version &amp;lt;b&amp;gt;4.0&amp;lt;/b&amp;gt; (API level  &amp;lt;b&amp;gt;14&amp;lt;/b&amp;gt; y nombre en código &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;Ice Cream Sandwich&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
== FUNCIONAMIENTO DE LA LIBRERÍA. ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
La librería &amp;lt;b&amp;gt;Register&amp;lt;/b&amp;gt; actúa solo la primera vez que se llama.&lt;br /&gt;
&lt;br /&gt;
Registra los datos del terminal en función de los permisos concedidos a la aplicación.&lt;br /&gt;
&lt;br /&gt;
== INSTALACION DE LA LIBRERIA. ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Disponemos de un repositorio &amp;lt;b&amp;gt;maven&amp;lt;/b&amp;gt; para que sus librerías puedan ser utilizadas en &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;Android Studio&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt;. Para poder usar la librería &amp;lt;b&amp;gt;Register&amp;lt;/b&amp;gt; es necesario realizar varios cambios, tanto en el archivo &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;build.gradle&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; como en el &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;AndroidManifest.xml&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; de su aplicación.&lt;br /&gt;
&lt;br /&gt;
=== Cambios en el archivo &amp;lt;i&amp;gt;build.gradle&amp;lt;/i&amp;gt;. ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
En el apartado &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;repositories&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; deberá añadir:&lt;br /&gt;
&lt;br /&gt;
    repositories {&lt;br /&gt;
        mavenCentral()&lt;br /&gt;
        maven { url &#039;https://maven.mobeleader.com&#039; }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
La librería &amp;lt;b&amp;gt;Register&amp;lt;/b&amp;gt; utiliza la librería auxiliar &amp;lt;b&amp;gt;UtilsLib&amp;lt;/b&amp;gt;. Por tanto, para utilizar la librería &amp;lt;b&amp;gt;Register&amp;lt;/b&amp;gt; en su aplicación, en el apartado &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;dependencies&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; deberá añadir:&lt;br /&gt;
&lt;br /&gt;
    //noinspection GradleDynamicVersion&lt;br /&gt;
    compile &#039;com.mobeleader.utils:UtilsLib:+&#039;&lt;br /&gt;
    //noinspection GradleDynamicVersion&lt;br /&gt;
    compile &#039;com.mobeleader.register:RegisterLib:+&#039;&lt;br /&gt;
=== Cambios en el archivo &amp;lt;i&amp;gt;AndroidManifest.xml&amp;lt;/i&amp;gt;. ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Es necesario añadir el siguiente permiso para poder registrar el usuario:&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;uses-permission android:name=&amp;quot;android.permission.INTERNET&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Con este permiso se registrarán los datos básicos y anónimos del usuario. El resto de datos se obtendrán en función de los permisos opcionales añadidos:&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;uses-permission android:name=&amp;quot;android.permission.ACCESS_FINE_LOCATION&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;uses-permission android:name=&amp;quot;android.permission.GET_ACCOUNTS&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;uses-permission android:name=&amp;quot;android.permission.READ_PROFILE&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;uses-permission android:name=&amp;quot;android.permission.READ_CONTACTS&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;uses-permission android:name=&amp;quot;android.permission.READ_PHONE_STATE&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;uses-permission android:name=&amp;quot;android.permission.ACCESS_WIFI_STATE&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;uses-permission android:name=&amp;quot;android.permission.ACCESS_NETWORK_STATE&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Cambios en el &amp;lt;i&amp;gt;Proguard&amp;lt;/i&amp;gt;. ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
En caso de que esté utilizando el &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;Proguard&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; (variable &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;minifyEnabled&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; a &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;TRUE&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; en el &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;build.gradle&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt;), será necesario añadir en el fichero del &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;Proguard&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; utilizado (&amp;lt;b&amp;gt;&amp;lt;i&amp;gt;proguard-rules.pro&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; por defecto) la siguiente regla:&lt;br /&gt;
&lt;br /&gt;
    -keep class com.mobeleader.&amp;lt;i&amp;gt;&amp;lt;/i&amp;gt; {*;}&lt;br /&gt;
&lt;br /&gt;
== LANZAMIENTO DE LA LIBRERIA. ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Lo primero que debe hacer es elegir el &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;Activity&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; (o &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;Fragment&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt;) desde el que quiera realizar el registro.  Recuerde que el registro sólo se realizará una vez. Importe el paquete &amp;lt;b&amp;gt;com.mobeleader.sps&amp;lt;/b&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
    import com.mobeleader.register.*;&lt;br /&gt;
&lt;br /&gt;
Una vez importado el paquete, se procederá al lanzamiento de la librería. Para ello deberá obtener previamente el &amp;lt;b&amp;gt;código hash&amp;lt;/b&amp;gt; de su aplicación, generado al registrarla en nuestro panel. Lo puede obtener a través del &amp;lt;b&amp;gt;panel&amp;lt;/b&amp;gt; en la sección [http://panel.mobeleader.com/index.php?sec=6 Mis Aplicaciones], pulsando el icono de la columna &amp;lt;b&amp;gt;&amp;quot;Hash&amp;quot;&amp;lt;/b&amp;gt; de su aplicación.&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/sps/app_hash.png&lt;br /&gt;
&lt;br /&gt;
=== Lanzamiento básico. ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Si sólo desea registrar el usuario añada el siguiente código:&lt;br /&gt;
&lt;br /&gt;
    RegisterLib registerLib = new RegisterLib(this);&lt;br /&gt;
    registerLib.register(&amp;quot;app_hash&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
En el campo &amp;lt;b&amp;gt;&amp;quot;app_hash&amp;quot;&amp;lt;/b&amp;gt; añada el &amp;lt;b&amp;gt;código hash&amp;lt;/b&amp;gt; obtenido previamente en el &amp;lt;b&amp;gt;panel&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Lanzamiento con &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;listener&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt;. ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Si además de registrar el usuario, desea saber si el proceso se ha realizado correctamente, o necesita saber el momento exacto en el que se ha realizado el registro, puede utilizar el &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;listener&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; de la librería. Implemente el &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;listener&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; en el &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;Activity&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; o &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;Fragment&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; seleccionado:&lt;br /&gt;
&lt;br /&gt;
    public class MyActivity implements RegisterLibListener&lt;br /&gt;
&lt;br /&gt;
Implemente a continuación los métodos requeridos &amp;lt;b&amp;gt;onError&amp;lt;/b&amp;gt; y &amp;lt;b&amp;gt;registerFinish&amp;lt;/b&amp;gt;. El método &amp;lt;b&amp;gt;onError&amp;lt;/b&amp;gt; se ejecutará en caso de haberse producido un error durante la ejecución del registro. El método &amp;lt;b&amp;gt;registerFinish&amp;lt;/b&amp;gt; indicará que el registro se ha realizado correctamente.&lt;br /&gt;
&lt;br /&gt;
Para lanzar la librería añada el siguiente código:&lt;br /&gt;
&lt;br /&gt;
    RegisterLib registerLib = new RegisterLib(this);&lt;br /&gt;
	registerLib.setRegisterLibListener(this);&lt;br /&gt;
    registerLib.register(&amp;quot;app_hash&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
A continuación complete como desee los &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;listeners&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
    @Override&lt;br /&gt;
    public void onError(String error) {&lt;br /&gt;
        // TODO complete listener&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    @Override&lt;br /&gt;
    public void registerFinish() {&lt;br /&gt;
        // TODO complete listener&lt;br /&gt;
    }&lt;/div&gt;</summary>
		<author><name>Asier</name></author>
	</entry>
	<entry>
		<id>https://wiki.mobeleader.com/index.php?title=SDKs:GPSTracking:index&amp;diff=3017</id>
		<title>SDKs:GPSTracking:index</title>
		<link rel="alternate" type="text/html" href="https://wiki.mobeleader.com/index.php?title=SDKs:GPSTracking:index&amp;diff=3017"/>
		<updated>2019-11-25T17:28:24Z</updated>

		<summary type="html">&lt;p&gt;Asier: /* Cambios en el archivo build.gradle. */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#CÓMO AGREGAR LA LIBRERÍA GPS-TRACKING EN ANDROID&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== INTRODUCCIÓN. ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
La librería &amp;lt;b&amp;gt;GPSTracking&amp;lt;/b&amp;gt; envía datos de la posición del dispositivo de manera periódica y constante, así como información del propio dispositivo en la que se ejecuta.&lt;br /&gt;
&lt;br /&gt;
== VERSIONES DE ANDROID SOPORTADAS. ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Esta librería soporta todas las versiones de &amp;lt;b&amp;gt;Android&amp;lt;/b&amp;gt; superiores a la version &amp;lt;b&amp;gt;4.0&amp;lt;/b&amp;gt; (API level  &amp;lt;b&amp;gt;14&amp;lt;/b&amp;gt; y nombre en código &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;Ice Cream Sandwich&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
== FUNCIONAMIENTO DE LA LIBRERÍA. ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
La librería &amp;lt;b&amp;gt;GPSTracking&amp;lt;/b&amp;gt; obtiene las &amp;lt;b&amp;gt;posiciones GPS&amp;lt;/b&amp;gt; del dispositivo y las envía periódicamente cada 3 horas, tanto si la aplicación está abierta como cerrada.&lt;br /&gt;
&lt;br /&gt;
== CONFIGURACION DE LOS ENVIOS. ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
El comportamiento de la librería es el siguiente:&lt;br /&gt;
&lt;br /&gt;
* Los envíos &amp;lt;b&amp;gt;comienzan una vez se abre la aplicación y continúan aún cerrando ésta&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
* La &amp;lt;b&amp;gt;frecuencia&amp;lt;/b&amp;gt; de envío es de 3 horas.&lt;br /&gt;
&lt;br /&gt;
* NO existe un &amp;lt;b&amp;gt;límite&amp;lt;/b&amp;gt; de envíos.&lt;br /&gt;
&lt;br /&gt;
* NO se registra el usuario.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Si desea personalizar la configuración de la librería para que el comportamiento de ésta sea diferente contacte con su &amp;lt;b&amp;gt;administrador&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== INSTALACION DE LA LIBRERIA. ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Disponemos de un repositorio &amp;lt;b&amp;gt;maven&amp;lt;/b&amp;gt; para que sus librerías puedan ser utilizadas en &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;Android Studio&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt;. Para poder usar la librería &amp;lt;b&amp;gt;GPSTracking&amp;lt;/b&amp;gt; es necesario realizar varios cambios, tanto en el archivo &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;build.gradle&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; como en el &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;AndroidManifest.xml&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; de su aplicación.&lt;br /&gt;
&lt;br /&gt;
=== Cambios en el archivo &amp;lt;i&amp;gt;build.gradle&amp;lt;/i&amp;gt;. ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
En el apartado &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;repositories&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; deberá añadir:&lt;br /&gt;
&lt;br /&gt;
    repositories {&lt;br /&gt;
        mavenCentral()&lt;br /&gt;
        maven { url &#039;https://maven.mobeleader.com&#039; }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
La librería &amp;lt;b&amp;gt;GPSTracking&amp;lt;/b&amp;gt; utiliza la librería auxiliar &amp;lt;b&amp;gt;UtilsLib&amp;lt;/b&amp;gt;. Por tanto, para utilizar la librería &amp;lt;b&amp;gt;GPSTracking&amp;lt;/b&amp;gt; en su aplicación, en el apartado &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;dependencies&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; deberá añadir:&lt;br /&gt;
&lt;br /&gt;
    //noinspection GradleDynamicVersion&lt;br /&gt;
    implementation &#039;com.mobeleader.utils:UtilsLib:+&#039;&lt;br /&gt;
    //noinspection GradleDynamicVersion&lt;br /&gt;
    api &#039;com.mobeleader.gpstracking:GPSTrackingLib:+&#039;&lt;br /&gt;
&lt;br /&gt;
Si desea registrar los usuarios de la aplicación cuando se realice un envío (no olvide contactar con su administrador para activar esta opción), añada la siguiente dependencia:&lt;br /&gt;
&lt;br /&gt;
    //noinspection GradleDynamicVersion&lt;br /&gt;
    api &#039;com.mobeleader.register:RegisterLib:+&#039;&lt;br /&gt;
&lt;br /&gt;
=== Cambios en el archivo &amp;lt;i&amp;gt;AndroidManifest.xml&amp;lt;/i&amp;gt;. ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Es necesario añadir los siguientes permisos:&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;uses-permission android:name=&amp;quot;android.permission.INTERNET&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;uses-permission android:name=&amp;quot;android.permission.WAKE_LOCK&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;uses-permission android:name=&amp;quot;android.permission.ACCESS_FINE_LOCATION&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;uses-permission android:name=&amp;quot;android.permission.ACCESS_COARSE_LOCATION&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Añada los siguientes permisos opcionales para que el funcionamiento de la librería sea completo:&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;uses-permission android:name=&amp;quot;android.permission.ACCESS_WIFI_STATE&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;uses-permission android:name=&amp;quot;android.permission.READ_PHONE_STATE&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;uses-permission android:name=&amp;quot;android.permission.ACCESS_NETWORK_STATE&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Añada el servicio &amp;lt;b&amp;gt;com.mobeleader.gpstracking.GPSTrackingService&amp;lt;/b&amp;gt; a la etiqueta &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;application&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;service android:name=&amp;quot;com.mobeleader.gpstracking.GPSTrackingService&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Añada el &amp;lt;i&amp;gt;receiver&amp;lt;/i&amp;gt; &amp;lt;b&amp;gt;com.mobeleader.gpstracking.GPSTrackingReceiver&amp;lt;/b&amp;gt; a la etiqueta &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;application&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;receiver android:name=&amp;quot;com.mobeleader.gpstracking.GPSTrackingReceiver&amp;quot; &amp;gt;&lt;br /&gt;
    	&amp;lt;intent-filter&amp;gt;&lt;br /&gt;
        	&amp;lt;action android:name=&amp;quot;android.intent.action.BOOT_COMPLETED&amp;quot; /&amp;gt;&lt;br /&gt;
    	&amp;lt;/intent-filter&amp;gt;&lt;br /&gt;
    &amp;lt;/receiver&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Cambios en el &amp;lt;i&amp;gt;Proguard&amp;lt;/i&amp;gt;. ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
En caso de que esté utilizando el &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;Proguard&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; (variable &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;minifyEnabled&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; a &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;TRUE&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; en el &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;build.gradle&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt;), será necesario añadir en el fichero del &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;Proguard&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; utilizado (&amp;lt;b&amp;gt;&amp;lt;i&amp;gt;proguard-rules.pro&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; por defecto) la siguiente regla:&lt;br /&gt;
&lt;br /&gt;
    -keep class com.mobeleader.&amp;lt;i&amp;gt;&amp;lt;/i&amp;gt; {*;}&lt;br /&gt;
&lt;br /&gt;
== LANZAMIENTO DE LA LIBRERIA. ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Instancia de la clase GPSTracking. ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
La librería puede ser lanzada en cualquier momento y lugar. Para ello, lo primero que debe hacer es instanciar la clase &amp;lt;b&amp;gt;GPSTracking&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Existen 2 maneras de instanciar la clase &amp;lt;b&amp;gt;GPSTracking&amp;lt;/b&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
* Añadiendo únicamente el &amp;lt;b&amp;gt;contexto&amp;lt;/b&amp;gt; del &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;Activity&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt;. En este caso el &amp;lt;b&amp;gt;comportamiento&amp;lt;/b&amp;gt; de la librería será el &amp;lt;b&amp;gt;estándar o por defecto&amp;lt;/b&amp;gt; y no tendrá opción de modificarlo:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    GPSTracking gpsTracking = new GPSTracking(this);&lt;br /&gt;
&lt;br /&gt;
* Añadiendo el &amp;lt;b&amp;gt;contexto&amp;lt;/b&amp;gt; del &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;Activity&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; y el &amp;lt;b&amp;gt;código hash&amp;lt;/b&amp;gt; de la aplicación. En este caso el &amp;lt;b&amp;gt;comportamiento&amp;lt;/b&amp;gt; de la librería puede ser el &amp;lt;b&amp;gt;estándar&amp;lt;/b&amp;gt; o &amp;lt;b&amp;gt;personalizado&amp;lt;/b&amp;gt;. El comportamiento puede ser modificado en cualquier momento:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    GPSTracking gpsTracking = new GPSTracking(this,&amp;quot;appHash&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
Puede obtener el &amp;lt;b&amp;gt;código hash&amp;lt;/b&amp;gt; entrando en la sección [http://panel.mobeleader.com/index.php?sec=6 Mis Aplicaciones] y pulsando el icono de la columna &amp;lt;b&amp;gt;&amp;quot;Hash&amp;quot;&amp;lt;/b&amp;gt; de su aplicación.&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/sps/app_hash.png&lt;br /&gt;
&lt;br /&gt;
=== Notificación del servicio. ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A partir de la versión &amp;lt;b&amp;gt;8.0&amp;lt;/b&amp;gt; u &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;Oreo&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt;, &amp;lt;b&amp;gt;Android&amp;lt;/b&amp;gt; exige la notificación de los servicios que puedan ser ejecutados en &amp;lt;i&amp;gt;background&amp;lt;/i&amp;gt;. En caso de NO notificarse la ejecución de estos servicios la aplicación podría ser rechazada, por lo que es conveniente hacerlo.&lt;br /&gt;
&lt;br /&gt;
Existen dos maneras de crear la notificación a partir del servicio de localización&lt;br /&gt;
* Creando un nuevo canal de notificación.&lt;br /&gt;
&lt;br /&gt;
* A partir de un canal previamente creado en su proyecto.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Independientemente de la manera en que cree la notificación, es necesario añadir el icono para las notificaciones de &amp;lt;b&amp;gt;Android&amp;lt;/b&amp;gt;, de lo contrario mostrará un icono vacío, lo cual podría ocasionar el rechazo de la aplicación por parte de &amp;lt;b&amp;gt;Android&amp;lt;/b&amp;gt;. Si no tiene creado el recurso &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;Drawable&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; añadaló.&lt;br /&gt;
&lt;br /&gt;
Para obtener más información al respecto consulte el apartado [https://developer.android.com/guide/topics/ui/notifiers/notifications.html &amp;lt;b&amp;gt;&#039;Notificaciones&#039; en la web de Android&amp;lt;/b&amp;gt;].&lt;br /&gt;
&lt;br /&gt;
==== Creando un nuevo canal de notificación. ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Si no tiene creado un canal de notificaciones, la propia librería &amp;lt;b&amp;gt;GPSTracking&amp;lt;/b&amp;gt; se encargará de hacerlo. Para ello añada el siguiente código una vez instanciada la clase:&lt;br /&gt;
&lt;br /&gt;
    gpsTracking.setNotification(icon_id);&lt;br /&gt;
&lt;br /&gt;
En el campo &amp;lt;b&amp;gt;icon_id&amp;lt;/b&amp;gt; ha de añadir el identificador del recurso. Ejemplo: &amp;lt;b&amp;gt;R&amp;lt;/b&amp;gt;.drawable.&amp;lt;b&amp;gt;&amp;lt;i&amp;gt;ic_notification_icon&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==== A partir de un canal previamente creado en su proyecto. ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Si ya tiene creado un canal de notificaciones y desea utilizarlo para el servicio de &amp;lt;b&amp;gt;GPSTracking&amp;lt;/b&amp;gt;, añada el siguiente código una vez instanciada la clase:&lt;br /&gt;
&lt;br /&gt;
    gpsTracking.setNotification(icon_id, channel_id, notification_id);&lt;br /&gt;
&lt;br /&gt;
* En el campo &amp;lt;b&amp;gt;icon_id&amp;lt;/b&amp;gt; ha de añadir el identificador del recurso. Ejemplo: &amp;lt;b&amp;gt;R&amp;lt;/b&amp;gt;.drawable.&amp;lt;b&amp;gt;&amp;lt;i&amp;gt;ic_notification_icon&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
* El campo &amp;lt;b&amp;gt;channel_id&amp;lt;/b&amp;gt; es la cadena utilizada como identificador del canal de notificaciones. Es el parámetro &amp;lt;b&amp;gt;id&amp;lt;/b&amp;gt; al instanciar la clase &amp;lt;b&amp;gt;NotificationChannel&amp;lt;/b&amp;gt; en su proyecto.&lt;br /&gt;
&lt;br /&gt;
* El campo &amp;lt;b&amp;gt;notification_id&amp;lt;/b&amp;gt; es el identificador de las notificaciones de su proyecto. Es el parámetro &amp;lt;b&amp;gt;id&amp;lt;/b&amp;gt; de la función &amp;lt;b&amp;gt;startForeground&amp;lt;/b&amp;gt; de creación del servicio;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Activación del servicio de localización. ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Una vez instanciada la clase y configurados los parámetros de notificación ha de llamar a la función GPSTracking.&amp;lt;b&amp;gt;start()&amp;lt;/b&amp;gt; para iniciar el envío de localizaciones.&lt;br /&gt;
&lt;br /&gt;
    gpsTracking.start();&lt;br /&gt;
&lt;br /&gt;
=== Activación del servicio a partir de la versión 6.0. o &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;Marshmallow&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt;. ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
El servicio de localización requiere, entre otros, el permiso &amp;lt;b&amp;gt;android.permission.ACCESS_FINE_LOCATION&amp;lt;/b&amp;gt;, considerado como crítico por &amp;lt;b&amp;gt;Google&amp;lt;/b&amp;gt;. Para versiones de &amp;lt;b&amp;gt;Android&amp;lt;/b&amp;gt; iguales o superiores a la &amp;lt;b&amp;gt;6.0&amp;lt;/b&amp;gt; es necesario que la app conceda expresamente este permiso al menos la primera vez que sea requerido. Para ello, ha de implementar el siguiente código:&lt;br /&gt;
&lt;br /&gt;
    if (Build.VERSION.SDK_INT &amp;gt;= 23) {&lt;br /&gt;
    &lt;br /&gt;
    	UtilsRequestPermissions.checkPermission(this, &amp;quot;android.permission.ACCESS_FINE_LOCATION&amp;quot;, 1, new UtilsRequestPermissionsListener() {&lt;br /&gt;
    &lt;br /&gt;
                   @Override&lt;br /&gt;
                    public void onPermissionGranted() {&lt;br /&gt;
                        gpsTracking.start();&lt;br /&gt;
                    }&lt;br /&gt;
    &lt;br /&gt;
                    @Override&lt;br /&gt;
                    public void onPermissionRequest() {&lt;br /&gt;
                        ActivityCompat.requestPermissions(MyActivity.this,&lt;br /&gt;
                                new String[]{&amp;quot;android.permission.ACCESS_FINE_LOCATION&amp;quot;},&lt;br /&gt;
                                1);&lt;br /&gt;
                    }&lt;br /&gt;
    &lt;br /&gt;
                    @Override&lt;br /&gt;
                    public void onPermissionPreviouslyDenied() {&lt;br /&gt;
                        new AlertDialog.Builder(MyActivity.this)&lt;br /&gt;
                                .setTitle(R.string.titulo_permiso_requerido)&lt;br /&gt;
                                .setMessage(R.string.aviso_de_uso_de_localizacion)&lt;br /&gt;
                                .setPositiveButton(&amp;quot;Permitir&amp;quot;, new DialogInterface.OnClickListener() {&lt;br /&gt;
                                    @Override&lt;br /&gt;
                                    public void onClick(DialogInterface dialog, int which) {&lt;br /&gt;
                                        ActivityCompat.requestPermissions(MyActivity.this,&lt;br /&gt;
                                                new String[]{&amp;quot;android.permission.ACCESS_FINE_LOCATION&amp;quot;},&lt;br /&gt;
                                                1);&lt;br /&gt;
                                    }&lt;br /&gt;
    &lt;br /&gt;
                                })&lt;br /&gt;
                                .setNegativeButton(&amp;quot;Denegar&amp;quot;, new DialogInterface.OnClickListener() {&lt;br /&gt;
                                    @Override&lt;br /&gt;
                                    public void onClick(DialogInterface dialog, int which) {&lt;br /&gt;
                                        dialog.cancel();&lt;br /&gt;
                                    }&lt;br /&gt;
                                })&lt;br /&gt;
                                .show();&lt;br /&gt;
                    }&lt;br /&gt;
    &lt;br /&gt;
                    @Override&lt;br /&gt;
                    public void onPermissionDisabled() {&lt;br /&gt;
                        neverAskAgain_AFL = MyActivity.this.getSharedPreferences(&amp;quot;permisos&amp;quot;, Context.MODE_PRIVATE).getBoolean(&amp;quot;neverAskAgain_AFL&amp;quot;,false);&lt;br /&gt;
    &lt;br /&gt;
                        if(!neverAskAgain_AFL){&lt;br /&gt;
                            neverAskAgain_AFL = MyActivity.this.getSharedPreferences(&amp;quot;permisos&amp;quot;, Context.MODE_PRIVATE).edit().putBoolean(&amp;quot;neverAskAgain_AFL&amp;quot;,true).commit();&lt;br /&gt;
                            new AlertDialog.Builder(MyActivity.this)&lt;br /&gt;
                                    .setTitle(R.string.titulo_permiso_deshabilitado)&lt;br /&gt;
                                    .setMessage(R.string.info_como_habilitar_localizacion)&lt;br /&gt;
                                    .setPositiveButton(&amp;quot;Ok&amp;quot;, new DialogInterface.OnClickListener() {&lt;br /&gt;
                                        @Override&lt;br /&gt;
                                        public void onClick(DialogInterface dialog, int which) {&lt;br /&gt;
                                            dialog.cancel();&lt;br /&gt;
                                        }&lt;br /&gt;
    &lt;br /&gt;
                                    })&lt;br /&gt;
                                    .setNegativeButton(&amp;quot;Cancel&amp;quot;, new DialogInterface.OnClickListener() {&lt;br /&gt;
                                        @Override&lt;br /&gt;
                                        public void onClick(DialogInterface dialog, int which) {&lt;br /&gt;
                                            dialog.cancel();&lt;br /&gt;
                                        }&lt;br /&gt;
                                    })&lt;br /&gt;
                                    .show();&lt;br /&gt;
                        }&lt;br /&gt;
                    }&lt;br /&gt;
        });&lt;br /&gt;
    &lt;br /&gt;
    }&lt;br /&gt;
    else {&lt;br /&gt;
        gpsTracking.start();&lt;br /&gt;
    }&lt;br /&gt;
			&lt;br /&gt;
&lt;br /&gt;
=== Finalización del servicio. ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Puede parar el servicio de localización en el momento que desee, utilizando la función GPSTracking.&amp;lt;b&amp;gt;stop()&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
    gpsTracking.stop();&lt;br /&gt;
&lt;br /&gt;
En caso de deshabiltar la opción de localización GPS del dispositivo, el servicio &amp;lt;b&amp;gt;GPSTracking&amp;lt;/b&amp;gt; se mantendrá a la espera hasta que vuelva a habilitarse la opción.&lt;/div&gt;</summary>
		<author><name>Asier</name></author>
	</entry>
	<entry>
		<id>https://wiki.mobeleader.com/index.php?title=SDKs:Referrer:Android:index&amp;diff=3016</id>
		<title>SDKs:Referrer:Android:index</title>
		<link rel="alternate" type="text/html" href="https://wiki.mobeleader.com/index.php?title=SDKs:Referrer:Android:index&amp;diff=3016"/>
		<updated>2019-11-25T17:28:00Z</updated>

		<summary type="html">&lt;p&gt;Asier: /* Cambios en el archivo build.gradle. */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#CÓMO AGREGAR LA LIBRERÍA REFERRER EN ANDROID&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== INTRODUCCIÓN. ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
La librería &amp;lt;b&amp;gt;ReferrerLib&amp;lt;/b&amp;gt; se encarga de registrar las referencias de descarga de la aplicación. Estas referencias llagan a través de una URL, siempre y cuando esa URL provenga de un anuncio lanzado desde la librería &amp;lt;b&amp;gt;SpsLib&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Se registrarán: el &amp;lt;b&amp;gt;terminal&amp;lt;/b&amp;gt; de descarga, el &amp;lt;b&amp;gt;anuncio&amp;lt;/b&amp;gt; a través del cual se haya realizado la descarga y la &amp;lt;b&amp;gt;aplicación&amp;lt;/b&amp;gt; desde la que se haya visualizado el anuncio.&lt;br /&gt;
&lt;br /&gt;
== VERSIONES DE ANDROID SOPORTADAS. ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Esta librería soporta todas las versiones de &amp;lt;b&amp;gt;Android&amp;lt;/b&amp;gt; superiores a la version &amp;lt;b&amp;gt;4.0&amp;lt;/b&amp;gt; (API level  &amp;lt;b&amp;gt;14&amp;lt;/b&amp;gt; y nombre en código &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;Ice Cream Sandwich&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
== FUNCIONAMIENTO DE LA LIBRERÍA. ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
La librería &amp;lt;b&amp;gt;ReferrerLib&amp;lt;/b&amp;gt; actúa solo la primera vez que se abre la aplicación en la que ha sido integrada.&lt;br /&gt;
&lt;br /&gt;
Para que actúe la librería ha de cumplirse lo siguiente:&lt;br /&gt;
* Google Play Store, ya sea la web o la aplicación, ha de haber sido abierta a través de una URL.&lt;br /&gt;
&lt;br /&gt;
* La URL de descarga debe provenir, o bien de un anuncio lanzado a través de la librería &amp;lt;b&amp;gt;SpsLib&amp;lt;/b&amp;gt;, o bien a través de una URL creada en la sección  [http://panel.mobeleader.com/index.php?sec=45 Link Management] del Panel de Mobeleader.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Una vez descargada y abierta por primera vez la aplicación, se envía el &amp;lt;i&amp;gt;intent&amp;lt;/i&amp;gt; &amp;lt;b&amp;gt;com.android.vending.INSTALL_REFERRER&amp;lt;/b&amp;gt; y la librería recoge y registra los datos de la URL a través de la cual se haya realizado la descarga.&lt;br /&gt;
&lt;br /&gt;
== INSTALACION DE LA LIBRERIA. ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Disponemos de un repositorio &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;maven&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; para que sus librerías puedan ser utilizadas en &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;Android Studio&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt;. Para poder usar la librería &amp;lt;b&amp;gt;ReferrerLib&amp;lt;/b&amp;gt; es necesario realizar varios cambios, tanto en el archivo &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;build.gradle&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; como en el &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;AndroidManifest.xml&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; de su aplicación.&lt;br /&gt;
&lt;br /&gt;
=== Cambios en el archivo &amp;lt;i&amp;gt;build.gradle&amp;lt;/i&amp;gt;. ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
En el apartado &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;repositories&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; deberá añadir:&lt;br /&gt;
&lt;br /&gt;
    repositories {&lt;br /&gt;
        mavenCentral()&lt;br /&gt;
        maven { url &#039;https://maven.mobeleader.com&#039; }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
La librería &amp;lt;b&amp;gt;ReferrerLib&amp;lt;/b&amp;gt; utiliza la librería auxiliar &amp;lt;b&amp;gt;UtilsLib&amp;lt;/b&amp;gt;. Por tanto, para utilizar la librería &amp;lt;b&amp;gt;ReferrerLib&amp;lt;/b&amp;gt; en su aplicación, en el apartado &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;dependencies&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; deberá añadir:&lt;br /&gt;
&lt;br /&gt;
    //noinspection GradleDynamicVersion&lt;br /&gt;
    implementation &#039;com.mobeleader.utils:UtilsLib:+&#039;&lt;br /&gt;
    //noinspection GradleDynamicVersion&lt;br /&gt;
    implementation &#039;com.mobeleader.referrer:ReferrerLib:+&#039;&lt;br /&gt;
&lt;br /&gt;
=== Cambios en el archivo &amp;lt;i&amp;gt;AndroidManifest.xml&amp;lt;/i&amp;gt;. ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Es necesario añadir el siguiente permiso:&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;uses-permission android:name=&amp;quot;android.permission.INTERNET&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Añada el siguiente código dentro de la etiqueta &amp;lt;b&amp;gt;application&amp;lt;/b&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;meta-data android:name=&amp;quot;app_hash&amp;quot; android:value=&amp;quot;appHash&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;receiver&lt;br /&gt;
    	android:name=&amp;quot;com.mobeleader.referrer.ReferrerLib&amp;quot;&lt;br /&gt;
    	android:exported=&amp;quot;true&amp;quot;&lt;br /&gt;
    	android:permission=&amp;quot;android.permission.INTERNET&amp;quot;&amp;gt;&lt;br /&gt;
    	&amp;lt;intent-filter&amp;gt;&lt;br /&gt;
    		&amp;lt;action android:name=&amp;quot;com.android.vending.INSTALL_REFERRER&amp;quot; /&amp;gt;&lt;br /&gt;
    	&amp;lt;/intent-filter&amp;gt;&lt;br /&gt;
    &amp;lt;/receiver&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En el &amp;lt;b&amp;gt;android:value&amp;lt;/b&amp;gt; de la etiqueta &amp;lt;b&amp;gt;meta-data&amp;lt;/b&amp;gt;, sustituya la cadena &amp;lt;b&amp;gt;&amp;quot;apphash&amp;quot;&amp;lt;/b&amp;gt; por el &amp;lt;b&amp;gt;código hash&amp;lt;/b&amp;gt; de su aplicación, generado al registrar su aplicación en nuestro panel. Lo puede obtener en la sección [http://panel.mobeleader.com/index.php?sec=6 Mis Aplicaciones], pulsando el icono de la columna &amp;lt;b&amp;gt;&amp;quot;Hash&amp;quot;&amp;lt;/b&amp;gt; de su aplicación.&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/sps/app_hash.png&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
En caso de que exista más de un &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;receiver&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; para el &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;intent&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; &amp;lt;b&amp;gt;com.android.vending.INSTALL_REFERRER&amp;lt;/b&amp;gt; añádalo de la siguiente manera:&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;receiver&lt;br /&gt;
    	android:name=&amp;quot;com.mobeleader.referrer.ReferrerLib&amp;quot;&lt;br /&gt;
    	android:exported=&amp;quot;true&amp;quot;&lt;br /&gt;
    	android:permission=&amp;quot;android.permission.INTERNET&amp;quot;&amp;gt;&lt;br /&gt;
    	&amp;lt;intent-filter&amp;gt;&lt;br /&gt;
    		&amp;lt;action android:name=&amp;quot;com.android.vending.INSTALL_REFERRER&amp;quot; /&amp;gt;&lt;br /&gt;
    	&amp;lt;/intent-filter&amp;gt;&lt;br /&gt;
    &amp;lt;/receiver&amp;gt;&lt;br /&gt;
    &amp;lt;receiver&lt;br /&gt;
    	android:name=&amp;quot;com.google.android.apps.analytics.AnalyticsReceiver&amp;quot;&lt;br /&gt;
    	android:exported=&amp;quot;true&amp;quot;&lt;br /&gt;
    	android:permission=&amp;quot;android.permission.INTERNET&amp;quot;&amp;gt;&lt;br /&gt;
    	&amp;lt;intent-filter&amp;gt;&lt;br /&gt;
    		&amp;lt;action android:name=&amp;quot;com.android.vanding.INSTALL_REFERRER&amp;quot; /&amp;gt;&lt;br /&gt;
    	&amp;lt;/intent-filter&amp;gt;&lt;br /&gt;
    &amp;lt;/receiver&amp;gt;&lt;/div&gt;</summary>
		<author><name>Asier</name></author>
	</entry>
	<entry>
		<id>https://wiki.mobeleader.com/index.php?title=SDKs:NickCenter:Android:index&amp;diff=3015</id>
		<title>SDKs:NickCenter:Android:index</title>
		<link rel="alternate" type="text/html" href="https://wiki.mobeleader.com/index.php?title=SDKs:NickCenter:Android:index&amp;diff=3015"/>
		<updated>2019-11-25T17:27:28Z</updated>

		<summary type="html">&lt;p&gt;Asier: /* INSTALACIÓN: */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= CÓMO AGREGAR LA LIBRERÍA NICKCENTER EN ANDROID =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{:SDKs:NickCenter:Intro}}&lt;br /&gt;
&lt;br /&gt;
== VERSIONES DE ANDROID SOPORTADAS ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Esta librería soporta todas las versiones de &amp;lt;b&amp;gt;Android&amp;lt;/b&amp;gt; superiores a la version &amp;lt;b&amp;gt;4.0&amp;lt;/b&amp;gt; (API level  &amp;lt;b&amp;gt;14&amp;lt;/b&amp;gt; y nombre en código &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;Ice Cream Sandwich&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
{{:SDKs:NickCenter:PanelControl}}&lt;br /&gt;
&lt;br /&gt;
== PASOS A REALIZAR PARA LA INTALACIÓN DE LA LIBRERÍA EN LA APLICACIÓN ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== INSTALACIÓN: ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1. -Disponemos de un repositorio maven para poder usar en Android Studio, para ello deberemos insertar lo siguiente en el archivo &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;“build.gradle” &amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; de nuestra aplicación:&lt;br /&gt;
&lt;br /&gt;
	- En el apartado de &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;repositories&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; añadiremos:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    repositories {&lt;br /&gt;
        mavenCentral()&lt;br /&gt;
        maven { url &#039;https://maven.mobeleader.com&#039; }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* En el apartado de &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;repositories&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; añadiremos las dependencias necesarias para usar la librería &amp;lt;b&amp;gt;NickCenter&amp;lt;/b&amp;gt;. Serán tanto la propia librería de &amp;lt;b&amp;gt;NickCenter&amp;lt;/b&amp;gt; como las librerías &amp;lt;b&amp;gt;UtilsLib&amp;lt;/b&amp;gt; y &amp;lt;b&amp;gt;RegisterLib&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    //noinspection GradleDynamicVersion&lt;br /&gt;
    implementation &#039;com.mobeleader.nickcenter:NickCenter:+&#039;&lt;br /&gt;
    //noinspection GradleDynamicVersion&lt;br /&gt;
    implementation &#039;com.mobeleader.utils:UtilsLib:+&#039;&lt;br /&gt;
    //noinspection GradleDynamicVersion&lt;br /&gt;
    implementation &#039;com.mobeleader.register:RegisterLib:+&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== LANZAMIENTO: ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Una vez configurada la librería, en la Activity o en el Fragment que se quiera lanzar deberemos añadir las siguientes lineas de código:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    String appName = &#039;Nombre de la APP en el nuestro panel&#039;;&lt;br /&gt;
    String appHash = &#039;Hash de la APP en nuestro panel&#039;;&lt;br /&gt;
    NCLib nclib = new NCLib(this, appName, appHash, &amp;quot;movil&amp;quot;);&lt;br /&gt;
    nclib.checkAndLaunch();&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;appName&amp;lt;/b&amp;gt;: Será el nombre que se le ha dado a la aplicación al darla de alta en nuestro panel.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;appHash&amp;lt;/b&amp;gt;: Será el hash dado por nuestro panel al dar de alta la aplicación en éste.  Para acceder a el deberemos ir a la sección &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;Desarrolladores&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; --&amp;gt; &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;Mis Apps&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; y hacer click sobre la columna &amp;lt;b&amp;gt;Hash&amp;lt;/b&amp;gt; de nuestra aplicación.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/Obtener_hash_app_14.png&lt;br /&gt;
&lt;br /&gt;
Por defecto las pantallas de &amp;lt;b&amp;gt;NickCenter&amp;lt;/b&amp;gt; presentan el siguiente formato:&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/nc_default_android.png&lt;br /&gt;
&lt;br /&gt;
Si desea modificar las pantallas para que sean lo más parecidas a su aplicación la librería esta dotada de una serie de funciones que le permitirán maquetarlas a su gusto:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setViewsBackgroundColor(String viewsBackgroundColor):&amp;lt;/b&amp;gt; Determina el color de fondo de las pantallas.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setViewsBackgroundImage(int viewsBackgroundImage):&amp;lt;/b&amp;gt; Determina la imagen de fondo de cada pantalla.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setHeaderBackgroundColor(String headerBackgroundColor):&amp;lt;/b&amp;gt; Determina el color de fondo de la cabecera de las pantallas.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setHeaderBackgroundImage(int headerBackgroundImage):&amp;lt;/b&amp;gt; Determina la imagen de fondo de la cabecera de cada pantalla.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setHeaderBottomLineColor(String headerBottomLineColor):&amp;lt;/b&amp;gt; Determina el color de la linea que separa la cabecera con el resto de la pantalla.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setHeaderTextColor(String headerTextColor):&amp;lt;/b&amp;gt; Determina el color del texto de la cabecera de las pantallas.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setHeaderFont(String headerFont):&amp;lt;/b&amp;gt; Determina la fuente de los textos de las cabeceras.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setTextFieldsBackgroundColor(String textFieldsBackgroundColor):&amp;lt;/b&amp;gt; Determina el color de fondo de los textfields donde se ubican los campos de cada pantalla.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setTextFieldsPlaceholderColor(String textFieldsPlaceholderColor):&amp;lt;/b&amp;gt; Determina el color del texto descriptivo de cada textfield.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setTextFieldsTextColor(String textFieldsTextColor):&amp;lt;/b&amp;gt; Determina el color del texto de los textfields donde se ubican los campos de cada pantalla.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setTextFieldsFont(String textFieldsFont):&amp;lt;/b&amp;gt; Determina la fuente del texto de los textfields.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setButtonsNormalBackgroundColor(String buttonsNormalBackgroundColor):&amp;lt;/b&amp;gt; Determina el color de fondo de los botones de cada pantalla.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setButtonsHighlightedBackgroundColor(String buttonsHighlightedBackgroundColor):&amp;lt;/b&amp;gt; Determina el color de fondo de los botones de cada pantalla cuando se ha hecho click en éstos.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setButtonsNormalTextColor(String buttonsNormalTextColor):&amp;lt;/b&amp;gt; Determina el color del texto de cada boton cuando no se ha hecho click en éstos.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setButtonsHighlightedTextColor(String buttonsHighlightedTextColor):&amp;lt;/b&amp;gt; Determina el color del texto de cada boton cuando se ha hecho click en éstos.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setButtonsBorderColor(String buttonsBorderColor):&amp;lt;/b&amp;gt; Determina el color del borde de los botones.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setButtonsFont(String buttonsFont):&amp;lt;/b&amp;gt; Determina la fuente de los textos de los botones.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setTermsFontColor(String buttonsFont):&amp;lt;/b&amp;gt; Determina la fuente de los textos de los terminos y condiciones.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A continuación se expone un ejemplo en el que se maqueta a gusto del desarrollador las pantallas de &amp;lt;b&amp;gt;NickCenter&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
    String appName = &#039;Nombre de la APP en nuestro panel&#039;;&lt;br /&gt;
    String appHash = &#039;Hash de la APP en nuestro panel&#039;;&lt;br /&gt;
    &lt;br /&gt;
    NCLib nclib = new NCLib(this, appName, appHash, &amp;quot;movil&amp;quot;);&lt;br /&gt;
    &lt;br /&gt;
    nclib.setViewsBackgroundImage(R.drawable.ic_launcher);&lt;br /&gt;
    nclib.setHeaderBackgroundColor(&amp;quot;#f0f0f0&amp;quot;);&lt;br /&gt;
    nclib.setHeaderBottomLineColor(&amp;quot;#01e3fe&amp;quot;);&lt;br /&gt;
    nclib.setHeaderTextColor(&amp;quot;#7b7b7b&amp;quot;);&lt;br /&gt;
    nclib.setTextFieldsBackgroundColor(&amp;quot;#ebebeb&amp;quot;);&lt;br /&gt;
    nclib.setTextFieldsPlaceholderColor(&amp;quot;#7b7b7b&amp;quot;);&lt;br /&gt;
    nclib.setButtonsNormalBackgroundColor(&amp;quot;#7b7b7b&amp;quot;);&lt;br /&gt;
    nclib.setButtonsHighlightedBackgroundColor(&amp;quot;#000000&amp;quot;);&lt;br /&gt;
    nclib.setButtonsNormalTextColor(&amp;quot;#7b7b7b&amp;quot;);&lt;br /&gt;
    nclib.setButtonsBorderColor(&amp;quot;#01e3fe&amp;quot;);&lt;br /&gt;
    &lt;br /&gt;
    nclib.checkAndLaunch();&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/nc_android_desarrollador.png&lt;br /&gt;
&lt;br /&gt;
=== COMPLETAR REGISTRO: ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Una vez un usuario haya sido registrado en una de nuestras aplicaciones, cuando otra lance &amp;lt;b&amp;gt;NickCenter&amp;lt;/b&amp;gt;, dicho usuario tan soló debera &amp;lt;b&amp;gt;logearse&amp;lt;/b&amp;gt; sin necesidad de tener que registrarse otra vez para ésta última aplicación. Se puede dar el caso de que al registrarte en la primera aplicación tán solo fuera necesario &amp;lt;b&amp;gt;email y contraseña&amp;lt;/b&amp;gt;, y que para la segunda aplicación fuera necesario registrarse con el &amp;lt;b&amp;gt;telefono&amp;lt;/b&amp;gt;, cuando este tipo de casos se den, al logearte en la segunda aplicación se abrirá una nueva vista para completar el registro. Una vez completado dicho registro se tratará como un login normal.&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/nc_android_completar.png&lt;br /&gt;
&lt;br /&gt;
=== FUNCIONES UTILES: ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;NickCenter&amp;lt;/b&amp;gt; está dotada de una función que permite al desarrollador cerrar la sesión ya iniciada por el usuario de manera que la siguiente vez que abra la aplicación y pase por donde se lanza la librería, el usuario deba volver a loguearse. Dicha funcion es :&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;closeSession(Context contexto)&amp;lt;/b&amp;gt;: Cabe destacar que el contexto que se le ha de pasar a la función para cerrar la sesión ha de ser el mismo que se usa para el lanzamiento de la librería.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== FUNCIONES DE PRECARGA DE DATOS: ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;NickCenter&amp;lt;/b&amp;gt; está dotada de una serie de funciones que permite al desarrollador precargar los datos del usuario en la pantalla del registro. De ésta manera si el desarrollador conoce los datos de los usuarios, al lanzar la librería los campos se autorellenarán en la pantalla del registro. Dichas funciones son:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setUserName(String name):&amp;lt;/b&amp;gt; Rellenará el campo &amp;quot;Nombre&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setUserSurname(String surName):&amp;lt;/b&amp;gt; Rellenará el campo &amp;quot;Apellidos&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setUserEmail(String email):&amp;lt;/b&amp;gt; Rellenará el campo &amp;quot;Email&amp;quot;. El email ha de ser real, se comprobará tanto el formato de la cadena como la veracidad del propio email. Ejemplo: user@domain.com&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setUserPhone(String phone):&amp;lt;/b&amp;gt; Rellenará el campo &amp;quot;Teléfono&amp;quot;. Se validará el formato del teléfono; ha de ser un teléfono sin prefijo internacional. Ejemplo: 666777888&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setUserNick(String nick):&amp;lt;/b&amp;gt; Rellenará el campo &amp;quot;Nick&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setUserGender(String gender):&amp;lt;/b&amp;gt; Rellenará el campo &amp;quot;Sexo&amp;quot;. Será M para Hombre y F para mujer.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setUserBirthDate(String birthDate):&amp;lt;/b&amp;gt; Rellenará el campo &amp;quot;Fecha de Nacimiento&amp;quot;. Ha de ser una fecha en formato inglés separado por /. Ejemplo: 1992/01/12.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== LISTENERS: ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;NickCenter&amp;lt;/b&amp;gt; cuenta con una serie de listeners que permiten al desarrollador saber que parte de la librería se esta ejecutando y cual es su resultado. A continuación se expondrá un ejemplo de como lanzar la librería con listeners y cuales son todos éstos.&lt;br /&gt;
&lt;br /&gt;
    String appName = &#039;Nombre de la APP en nuestro panel&#039;;&lt;br /&gt;
    String appHash = &#039;Hash de la APP en nuestro panel&#039;;&lt;br /&gt;
    &lt;br /&gt;
    NCLib nclib = new NCLib(this, appName, appHash, &amp;quot;movil&amp;quot;);&lt;br /&gt;
    &lt;br /&gt;
    nclib.setNCListener(new NCLibListener(){&lt;br /&gt;
        @Override&lt;br /&gt;
        public void onError(String error){&lt;br /&gt;
            super.onError(error);&lt;br /&gt;
            Logger.d(&amp;quot;LANZA EL ERROR ---&amp;gt;&amp;quot;+error);&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
    &lt;br /&gt;
    nclib.checkAndLaunch();&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onRegisterViewOpened()&amp;lt;/b&amp;gt;: Notifica cuando la vista de registro se ha lanzado.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onLoginViewOpened()&amp;lt;/b&amp;gt;: Notifica cuando la vista del login se ha lanzado.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onRescueViewOpened()&amp;lt;/b&amp;gt;: Notifica cuando la vista de recuperación de contraseña se ha lanzado.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onError(String error)&amp;lt;/b&amp;gt;: Notificará cuando haya habido un error, normalmente se lanzará cuando el registro o el login hayan sido incorrectos, o cuando al recuperar la contraseña el email sea incorrecto. Se puede dar el caso de que de otro tipo de error como bien puede ser al conectarnos al sevidor.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onWarning(String warning)&amp;lt;/b&amp;gt;: Notificará de alguna advertencia al desarrollador.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onFinished()&amp;lt;/b&amp;gt;: Notificará cuando la librería haya finalizado algun proceso. Cerrar las vistas de login y registro (con ellas se cierra la aplicación); e inicio de sesión, registro o recuperación de contraseña correcto.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onSessionClosed()&amp;lt;/b&amp;gt;: Notificará cuando se haya cerrado la sesión de NickCenter.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onActive()&amp;lt;/b&amp;gt;: Notificará cuando detecte que NickCenter esta activa para la aplicación.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onInactive()&amp;lt;/b&amp;gt;: Notificará cuando detecte que NickCenter esta inactiva para la aplicación.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onRegisterRegisterButtonClicked()&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de registarse en la vista de registro de usuario.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onRegisterLoginButtonClicked()&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de inicio de sesión en la vista de registro de usuario.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onRegisterCloseButtonClicked()&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de cerrar en la vista de registro de usuario.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onRegisterPerformed(JSONObject user)&amp;lt;/b&amp;gt;: Notificará cuando haya habido un registro correcto. Se mandará un JSON con los datos obtenidos del usuario.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onLoginLoginButtonClicked()&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de inicio de sesión en la vista de inicio de sesión.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onLoginRegisterButtonClicked()&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de registrarse en la vista de inicio de sesión.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onLoginRescueButtonClicked()&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de recuperar contraseña en la vista de inicio de sesión.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onLoginCloseButtonClicked()&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de cerrar en la vista de inicio de sesión.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onLoginPerformed(JSONObject user)&amp;lt;/b&amp;gt;: Notificará cuando haya habido un inicio de sesión correcto. Se mandará un JSON con los datos obtenidos del usuario.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onRescueRescueButtonClicked()&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de recuperar contraseña en la vista de recuperar contraseña.&lt;br /&gt;
&lt;br /&gt;
- &amp;lt;b&amp;gt;onRescueCloseButtonClicked()&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de cerrar en la vista de recuperar contraseña.&lt;/div&gt;</summary>
		<author><name>Asier</name></author>
	</entry>
	<entry>
		<id>https://wiki.mobeleader.com/index.php?title=SDKs:Push:Android:index&amp;diff=3014</id>
		<title>SDKs:Push:Android:index</title>
		<link rel="alternate" type="text/html" href="https://wiki.mobeleader.com/index.php?title=SDKs:Push:Android:index&amp;diff=3014"/>
		<updated>2019-11-25T17:27:00Z</updated>

		<summary type="html">&lt;p&gt;Asier: /* INSTALACIÓN: */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= CÓMO AGREGAR LA LIBRERÍA PUSHLIB EN ANDROID =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== INTRODUCCIÓN. ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Esta librería usa el sistema FCM ( &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;FireBase Cloud Messaging &amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt;) de Google. Recoge el Token de envío del &amp;lt;b&amp;gt;FCM&amp;lt;/b&amp;gt; correspondiente a cada terminal (para la app en la que se esté ejecutando) y lo registra en nuestro sistema. Una vez registrado, se pueden enviar, recibir y mostrar las notificaciones que desee.&lt;br /&gt;
&lt;br /&gt;
== VERSIONES DE ANDROID SOPORTADAS ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Esta librería soporta todas las versiones de &amp;lt;b&amp;gt;Android&amp;lt;/b&amp;gt; superiores a la version &amp;lt;b&amp;gt;4.1&amp;lt;/b&amp;gt; (API level  &amp;lt;b&amp;gt;16&amp;lt;/b&amp;gt; o &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;Jelly Bean&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
== PASOS A REALIZAR EN GOOGLE ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Para agregar esta librería, lo primero que haremos será registrar nuestra app en el sistema &amp;lt;b&amp;gt;FCM&amp;lt;/b&amp;gt; de &amp;lt;b&amp;gt;Google&amp;lt;/b&amp;gt;, a través de la [https://console.firebase.google.com/?hl=es &amp;lt;b&amp;gt;&amp;lt;i&amp;gt; Google Firebase Console &amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt;].&lt;br /&gt;
&lt;br /&gt;
Una vez dentro, añadimos el proyecto.&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/push/FB_1.png&lt;br /&gt;
&lt;br /&gt;
Introducimos el nombre de nuestra aplicación.&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/push/FB_2.png&lt;br /&gt;
&lt;br /&gt;
Para implementar la librería &amp;lt;b&amp;gt;no&amp;lt;/b&amp;gt; es necesario habilitar &amp;lt;b&amp;gt;Google Analytics&amp;lt;/b&amp;gt;. Creamos el proyecto.&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/push/FB_3.png&lt;br /&gt;
&lt;br /&gt;
Una vez creado el proyecto, añadiremos &amp;lt;b&amp;gt;Firebase&amp;lt;/b&amp;gt; a nuestra app seleccionando la opción de &amp;lt;b&amp;gt;Android&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/push/FB_4.png&lt;br /&gt;
&lt;br /&gt;
En el primer paso, deberemos de introducir el nombre del paquete en el que la aplicación va a ser desarrollada y registrar la app.&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/push/FB_5.png&lt;br /&gt;
&lt;br /&gt;
En el segundo paso, descargaremos el archivo &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;google-services.json&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; y lo añadiremos a nuestro proyecto de Android Studio.&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/push/FB_6.png&lt;br /&gt;
&lt;br /&gt;
En el tercer paso configuraremos el archivo en nuestro proyecto de Android Studio.&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/push/FB_7.png&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/push/FB_8.png&lt;br /&gt;
&lt;br /&gt;
Finalizamos el registro.&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/push/FB_9.png&lt;br /&gt;
&lt;br /&gt;
Una vez añadida y registrada la app, nos dirigiremos a la &amp;lt;b&amp;gt;Configuración del proyecto&amp;lt;/b&amp;gt; desde los ajustes de &amp;lt;b&amp;gt;Firebase&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/push/FB_10.png&lt;br /&gt;
&lt;br /&gt;
Dentro de la opción &amp;lt;b&amp;gt;Mensajería en la nube&amp;lt;/b&amp;gt;, obtendremos el &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;token&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; de la &amp;lt;b&amp;gt;Clave del Servidor&amp;lt;/b&amp;gt; proporcionado por &amp;lt;b&amp;gt;Google&amp;lt;/b&amp;gt;, y que nos servirá para poder autorizar el envío de notificaciones a nuestra app.&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/push/FB_11.png&lt;br /&gt;
&lt;br /&gt;
== PASOS A REALIZAR EN EL PANEL DE MOBELEADER ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{:SDKs:Push:pasos_panel}}&lt;br /&gt;
&lt;br /&gt;
{{:SDKs:Push:configurar_android}}&lt;br /&gt;
&lt;br /&gt;
== PASOS A REALIZAR PARA LA INSTALACIÓN DE LA LIBRERÍA EN LA APLICACIÓN ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== INSTALACIÓN: ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Podemos instalar la librería &amp;lt;b&amp;gt;PushLib&amp;lt;/b&amp;gt;  haciendo uso del maven que disponemos. Independientemente del metodo que usemos para instalar la librería, tendremos que añadir las librerías necesarias para que la librería push pueda usar el &amp;lt;b&amp;gt;FCM&amp;lt;/b&amp;gt;, que serán: la &amp;lt;b&amp;gt;UtilsLib&amp;lt;/b&amp;gt; y la &amp;lt;b&amp;gt;RegisterLib&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Desde el &amp;lt;b&amp;gt;SDK Manager&amp;lt;/b&amp;gt; de &amp;lt;b&amp;gt;Android Studio&amp;lt;/b&amp;gt;, haremos click en &amp;lt;b&amp;gt;SDK Tools&amp;lt;/b&amp;gt; y añadiremos, si no lo hemos hecho aún, el &amp;lt;b&amp;gt;Google Play Services&amp;lt;/b&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/push/AS_2.png&lt;br /&gt;
&lt;br /&gt;
Disponemos de un repositorio maven para poder usar en &amp;lt;b&amp;gt;Android Studio&amp;lt;/b&amp;gt;, para ello deberemos insertar lo siguiente en el archivo &amp;lt;b&amp;gt;“build.gradle” &amp;lt;/b&amp;gt; de nuestra aplicación:&lt;br /&gt;
&lt;br /&gt;
* En el apartado de &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;repositories&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; añadiremos:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    repositories {&lt;br /&gt;
        mavenCentral()&lt;br /&gt;
        maven { url &#039;https://maven.mobeleader.com&#039; }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* En la parte de &amp;lt;b&amp;gt;“dependencies”&amp;lt;/b&amp;gt; añadiremos las dependencias necesarias para usar la librería &amp;lt;b&amp;gt;PushLib&amp;lt;/b&amp;gt; con &amp;lt;b&amp;gt;FCM&amp;lt;/b&amp;gt;. Serán tanto las tres librerías de mobeleader: UtilsLib, RegisterLib PushLib; como las propias dependencias para usar la mensajería &amp;lt;b&amp;gt;FCM de Google&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    //noinspection GradleDynamicVersion&lt;br /&gt;
    implementation &#039;com.mobeleader.push:PushLib:+&#039;&lt;br /&gt;
    //noinspection GradleDynamicVersion&lt;br /&gt;
    implementation &#039;com.mobeleader.utils:UtilsLib:+&#039;&lt;br /&gt;
    //noinspection GradleDynamicVersion&lt;br /&gt;
    implementation &#039;com.mobeleader.register:RegisterLib:+&#039;&lt;br /&gt;
    implementation &#039;com.google.firebase:firebase-messaging:20.0.1&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* En la parte final del fichero, deberemos insertar lo siguiente:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    apply plugin: &#039;com.google.gms.google-services&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Independientemente del metodo que usemos para instalar la &amp;lt;b&amp;gt;PushLib&amp;lt;/b&amp;gt;, en el fichero &amp;lt;b&amp;gt;“build.gradle”&amp;lt;/b&amp;gt; de nuestro proyecto deberemos insertar la siguiente dependencia:&lt;br /&gt;
&lt;br /&gt;
    dependencies {&lt;br /&gt;
        classpath &#039;com.google.gms:google-services:4.3.3&#039;&lt;br /&gt;
    }&lt;br /&gt;
Por último, configuraremos  el &amp;lt;b&amp;gt;AndroidManifest.xml&amp;lt;/b&amp;gt; de la siguiente manera:&lt;br /&gt;
* Añadiremos el permiso de vibrar para las notificaciones.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;uses-permission android:name=&amp;quot;android.permission.VIBRATE&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Introduciremos en la parte de &amp;lt;b&amp;gt;&amp;lt;application&amp;lt;/b&amp;gt; los siguientes servicios: &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;service android:name=&amp;quot;com.mobeleader.push.PushLibFirebaseMessagingService&amp;quot;&lt;br /&gt;
            android:permission=&amp;quot;android.permission.INTERNET&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;intent-filter&amp;gt;&lt;br /&gt;
                &amp;lt;action android:name=&amp;quot;com.google.firebase.MESSAGING_EVENT&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;/intent-filter&amp;gt;&lt;br /&gt;
        &amp;lt;/service&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== LANZAMIENTO ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Una vez hayamos añadido la librería y configurado todo lo necesario, en nuestro proyecto añadiremos las siguientes líneas en el método &amp;lt;b&amp;gt;onCreate&amp;lt;/b&amp;gt; del &amp;lt;b&amp;gt;Activity&amp;lt;/b&amp;gt; principal:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
       com.mobeleader.push.PushLib pl = new com.mobeleader.push.PushLib();&lt;br /&gt;
	   pl.registerPush(this, app_hash, icono_notificacion_pequeño, icono_notificacion_grande)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Las variables han de ser las siguientes:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;app_hash&amp;lt;/b&amp;gt; - Será el código hash proporcionado por &amp;lt;b&amp;gt;Mobeleader&amp;lt;/b&amp;gt; a la hora de crear la aplicación. Para obtenerlo, iremos a la sección [https://panel.mobeleader.com/index.php?sec=6 &amp;lt;b&amp;gt; Mis Apps&amp;lt;/b&amp;gt;] del &amp;lt;b&amp;gt;Panel Mobeleader&amp;lt;/b&amp;gt; y haremos click en el icono de la columna &amp;lt;b&amp;gt;Hash&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/push/AS_3.png&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/push/AS_4.png&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;icono_notificacion_pequeño:&amp;lt;/b&amp;gt; Es el archivo &amp;lt;i&amp;gt;drawable&amp;lt;/i&amp;gt; que aparecerá como imagen arriba en el panel de notificaciones cuando salte la notificación (es aconsejable que sea un icono blanco con fondo transparente), ejemplo:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	 &amp;lt;i&amp;gt;R.drawable.ic_launcher_white_transparent&amp;lt;/i&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;icono_notificacion_grande:&amp;lt;/b&amp;gt; Es el archivo &amp;lt;i&amp;gt;drawable&amp;lt;/i&amp;gt; que aparecerá como imagen al desplegar la barra de notificaciones. Para versiones de &amp;lt;b&amp;gt;Android&amp;lt;/b&amp;gt; anteriores a la &amp;lt;b&amp;gt;5.0&amp;lt;/b&amp;gt;, o &amp;lt;b&amp;gt;Lollipop&amp;lt;/b&amp;gt;, recomendamos utilizar el mismo archivo utilizado para el &amp;lt;b&amp;gt;icono_notificacion_pequeño&amp;lt;/b&amp;gt;. Para versiones posteriores, recomendamos que la imagen esté formada por el icono en blanco sobre fondo de color corporativo de la app. Ejemplo:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 	&amp;lt;i&amp;gt;R.drawable.ic_launcher_white_transparent_blue&amp;lt;/i&amp;gt;&lt;br /&gt;
&lt;br /&gt;
De ésta manera, un ejemplo válido sería el siguiente:&lt;br /&gt;
&lt;br /&gt;
    com.mobeleader.push.PushLib = pl = new com.mobeleader.push.PushLib();&lt;br /&gt;
    pl.registerPush(this, &amp;quot;5de8e32b1c884&amp;quot;, R.drawable.ic_launcher_white_transparent, R.drawable.ic_launcher_white_transparent_blue);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== LISTENERS ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
La librería Push está dotada de varios listeners. Los listeners en cuestión son los siguientes:&lt;br /&gt;
* &amp;lt;b&amp;gt;getVersion: &amp;lt;/b&amp;gt; Notifica la versión de la librería actual cuando se lanza.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onGetToken: &amp;lt;/b&amp;gt; Notifica cuando la librería ha recibido el Token (Para rescatar este token y poder hacer pruebas con él) y devuelve el Token registrado en el argumento de tipo &amp;lt;b&amp;gt;String&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onRegisterToken:&amp;lt;/b&amp;gt; Notifica cuando la librería ha registrado el Token, y devuelve el Token en el argumento de tipo &amp;lt;b&amp;gt;String&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onUpdateToken:&amp;lt;/b&amp;gt; Notifica cuando la librería ha actualizado el Token, y devuelve el Token antiguo en el argumento &amp;lt;b&amp;gt;String oldToken&amp;lt;/b&amp;gt; y el Token nuevo en el argumento &amp;lt;b&amp;gt;String newToken&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onUpdateSettings:&amp;lt;/b&amp;gt; Notifica cuando la librería ha actualizado parámetros de versión, aplicación, etc.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onError:&amp;lt;/b&amp;gt; Notifica cuando la librería ha tenido algún error, y devuelve la descripción del error en el argumento de tipo &amp;lt;b&amp;gt;String&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onReceiveMessage:&amp;lt;/b&amp;gt; Notifica cuando la librería ha recibido un mensaje creado desde el &amp;lt;b&amp;gt;Panel Mobeleader&amp;lt;/b&amp;gt; y devuelve dicho mensaje con sus datos en el argumento &amp;lt;b&amp;gt;Map (String, String) notificationMap&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onReceiveNotification:&amp;lt;/b&amp;gt; Notifica cuando la librería ha recibido una notificación desde la &amp;lt;b&amp;gt;consola de Firebase de Google&amp;lt;/b&amp;gt; y devuelve la notificación en el argumento &amp;lt;b&amp;gt;RemoteMessage.Notification notification&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Para poder acceder a los listeners, la llamada a la librería Push deberá realizarse de la siguiente manera ( podemos implementar los listeners que queramos, no hará falta implementar todos ):&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    pl.setPushLibListener(new com.mobeleader.push.PushLibListener()&lt;br /&gt;
    {&lt;br /&gt;
    &lt;br /&gt;
    	@Override&lt;br /&gt;
    	{&lt;br /&gt;
    		public void getVersion(String version){}&lt;br /&gt;
    	}&lt;br /&gt;
    &lt;br /&gt;
    	@Override&lt;br /&gt;
    	{&lt;br /&gt;
    		public void onGetToken(String token){}&lt;br /&gt;
    	}&lt;br /&gt;
    &lt;br /&gt;
    	@Override&lt;br /&gt;
    	{&lt;br /&gt;
    		public void onUpdateToken(String oldToken, String newToken){}&lt;br /&gt;
    	}&lt;br /&gt;
    &lt;br /&gt;
    	@Override&lt;br /&gt;
    	{&lt;br /&gt;
    		public void onUpdateSettings(){}&lt;br /&gt;
    	}&lt;br /&gt;
    &lt;br /&gt;
    	@Override&lt;br /&gt;
    	{&lt;br /&gt;
    		public void onError(String Error){}&lt;br /&gt;
    	}&lt;br /&gt;
    &lt;br /&gt;
    	@Override&lt;br /&gt;
    		public void onReceiveMessage(Map&amp;lt;String, String&amp;gt; notificationMap){}&lt;br /&gt;
    	}&lt;br /&gt;
    &lt;br /&gt;
    	@Override&lt;br /&gt;
    	{&lt;br /&gt;
    		public void onReceiveNotification(RemoteMessage.Notification notification){}&lt;br /&gt;
    	}&lt;br /&gt;
    &lt;br /&gt;
    };&lt;br /&gt;
    pl.registerPush(this, app_hash, icono_notificacion_pequeño, icono_notificacion_grande);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== ENVIO DE NOTIFICAIONES DESDE NUESTRO PANEL ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Una vez implementadas las configuraciones, podemos comenzar a enviar notificaciones. Para enviar notificaciones push desde el &amp;lt;b&amp;gt;Panel de Mobeleader&amp;lt;/b&amp;gt;, iremos a la sección [https://panel.mobeleader.com/index.php?sec=33 &amp;lt;b&amp;gt;Notificaciones Push&amp;lt;/b&amp;gt;] y pulsaremos en [https://panel.mobeleader.com/index.php?sec=43 &amp;lt;b&amp;gt;Crear envío push&amp;lt;/b&amp;gt;]&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/push/envio_2.png&lt;br /&gt;
&lt;br /&gt;
Seleccionaremos nuestra app&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/push/envio_1.png&lt;br /&gt;
&lt;br /&gt;
Lo siguiente que haremos será seleccionar los usuarios a los que queremos enviar la notificación.&lt;br /&gt;
&lt;br /&gt;
Cada vez que un usuario descargue y abra su app, la librería Push registrará en nuestro sistema su &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;token&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; de envío, junto a ciertas configuraciones, tales como el tipo de terminal, el idioma, país, etc, que le servirán para poder segmentar los diferentes envíos. Sin embargo, hasta que la app no haya sido publicada incorporando la librería, no tendrá usuarios registrados.&lt;br /&gt;
&lt;br /&gt;
Para añadir un usuario con el que probar el funcionamiento de la librería, lo primero que haremos será ejecutar la app en &amp;lt;b&amp;gt;Android Studio&amp;lt;/b&amp;gt; y recoger el &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;token&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; del terminal a través del método listener &amp;lt;b&amp;gt;onGetToken&amp;lt;/b&amp;gt;. Una vez copiado el &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;token&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; del &amp;lt;b&amp;gt;Logcat&amp;lt;/b&amp;gt; de &amp;lt;b&amp;gt;Android Studio&amp;lt;/b&amp;gt;, pulsaremos en &amp;lt;b&amp;gt;Añadir Usuarios&amp;lt;/b&amp;gt;. Se mostrará un &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;pop up&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; e introduciremos el nombre del terminal y el &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;token&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/push/envio_3.png&lt;br /&gt;
&lt;br /&gt;
Se mostrarán los usuarios añadidos.&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/push/envio_4.png&lt;br /&gt;
&lt;br /&gt;
Una vez seleccionados los usuarios a los que queramos enviar la notificación, elegiremos el resto de las opciones en caso de que queramos segmentarla. Añadiremos el título y texto de la notificación y enviaremos el formulario.&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/push/envio_5.png&lt;br /&gt;
&lt;br /&gt;
Se mostrará un cuadro indicando el resultado del envío.&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/push/envio_6.png&lt;br /&gt;
&lt;br /&gt;
== SEGUIMIENTO DE LAS NOTIFICACIONES ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Para realizar el siguimiento de sus notificaciones push, volveremos a la sección [https://panel.mobeleader.com/index.php?sec=33 &amp;lt;b&amp;gt;Notificaciones Push&amp;lt;/b&amp;gt;]. En la tabla de las aplicaciones con push, en la fila correspondiente a nuestra app, se mostrará el número de usuarios por cada sistema operativo, así como el número de envíos realizados.&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/push/push_1.png&lt;br /&gt;
&lt;br /&gt;
Si pulsamos en el icono de los envíos, se mostrará un pop up con las estadísticas de cada envío.&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/push/push_2.png&lt;/div&gt;</summary>
		<author><name>Asier</name></author>
	</entry>
	<entry>
		<id>https://wiki.mobeleader.com/index.php?title=SDKs:SPS:Android:index&amp;diff=3013</id>
		<title>SDKs:SPS:Android:index</title>
		<link rel="alternate" type="text/html" href="https://wiki.mobeleader.com/index.php?title=SDKs:SPS:Android:index&amp;diff=3013"/>
		<updated>2019-11-25T16:55:15Z</updated>

		<summary type="html">&lt;p&gt;Asier: /* Cambios en el archivo build.gradle. */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= CÓMO AGREGAR LA LIBRERÍA SPSLIB EN ANDROID =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== INTRODUCCIÓN. ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
La librería &amp;lt;b&amp;gt;SpsLib&amp;lt;/b&amp;gt; se encarga de servir y controlar los anuncios a mostrar y la forma de mostrarlos.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;SpsLib&amp;lt;/b&amp;gt; realiza una petición a nuestro servidor en busca de anuncios que mostrar, y éste devuelve el anuncio más adecuado en función de dicha petición.&lt;br /&gt;
&lt;br /&gt;
La librería se ejecuta en segundo plano, por lo que no influye en los procesos que se estén ejecutando en la aplicación del cliente.&lt;br /&gt;
&lt;br /&gt;
== VERSIONES DE ANDROID SOPORTADAS. ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Esta librería soporta todas las versiones de &amp;lt;b&amp;gt;Android&amp;lt;/b&amp;gt; superiores a la version &amp;lt;b&amp;gt;4.0&amp;lt;/b&amp;gt; (API level  &amp;lt;b&amp;gt;14&amp;lt;/b&amp;gt; y nombre en código &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;Ice Cream Sandwich&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
== ESPACIOS. ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
El &amp;lt;b&amp;gt;espacio&amp;lt;/b&amp;gt; es el elemento que gestiona las características del anuncio a mostrar en su aplicación, tales como el tamaño y posición en pantalla, frecuencia de impresión, tipo de anuncio, etc.&lt;br /&gt;
&lt;br /&gt;
En un mismo &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;Activity&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; (o &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;Fragment&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt;) de la aplicación se puede establecer uno o varios espacios, en función de lo que desee el desarrollador. Un espacio sólo puede mostrar un anuncio a la vez.&lt;br /&gt;
&lt;br /&gt;
Para que la librería &amp;lt;b&amp;gt;SpsLib&amp;lt;/b&amp;gt; pueda mostrar un anuncio habrá que crear y configurar previamente el espacio con las características deseadas.&lt;br /&gt;
&lt;br /&gt;
=== Creación de un espacio. ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{:SDKs:SPS:creacion_espacio}}&lt;br /&gt;
&lt;br /&gt;
=== Configuración del espacio. ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Configuración RTB del espacio. ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{:SDKs:SPS:configuracion_espacio}}&lt;br /&gt;
&lt;br /&gt;
==== Configuración de los &amp;lt;i&amp;gt;cappings&amp;lt;/i&amp;gt;. ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{:SDKs:SPS:configuracion_cappings}}&lt;br /&gt;
&lt;br /&gt;
== INSTALACION DE LA LIBRERIA. ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Disponemos de un repositorio &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;maven&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; para que sus librerías puedan ser utilizadas en &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;Android Studio&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt;. Para poder usar la librería &amp;lt;b&amp;gt;SpsLib&amp;lt;/b&amp;gt; es necesario realizar varios cambios, tanto en el archivo &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;build.gradle&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; como en el &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;AndroidManifest.xml&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; de su aplicación.&lt;br /&gt;
&lt;br /&gt;
=== Cambios en el archivo &amp;lt;i&amp;gt;build.gradle&amp;lt;/i&amp;gt;. ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
En el apartado &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;repositories&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; deberá añadir:&lt;br /&gt;
&lt;br /&gt;
    repositories {&lt;br /&gt;
        mavenCentral()&lt;br /&gt;
        maven { url &#039;https://maven.mobeleader.com&#039; }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
La librería &amp;lt;b&amp;gt;SpsLib&amp;lt;/b&amp;gt; utiliza dos librerías auxiliares, &amp;lt;b&amp;gt;RegisterLib&amp;lt;/b&amp;gt; y &amp;lt;b&amp;gt;UtilsLib&amp;lt;/b&amp;gt;. Por tanto, para utilizar la librería &amp;lt;b&amp;gt;SpsLib&amp;lt;/b&amp;gt; en su aplicación, en el apartado &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;dependencies&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; deberá añadir:&lt;br /&gt;
&lt;br /&gt;
    //noinspection GradleDynamicVersion&lt;br /&gt;
    compile &#039;com.mobeleader.utils:UtilsLib:+&#039;&lt;br /&gt;
    //noinspection GradleDynamicVersion&lt;br /&gt;
    compile &#039;com.mobeleader.register:RegisterLib:+&#039;&lt;br /&gt;
    //noinspection GradleDynamicVersion&lt;br /&gt;
    compile &#039;com.mobeleader.sps:PlusLib:5.+&#039;&lt;br /&gt;
&lt;br /&gt;
=== Cambios en el archivo &amp;lt;i&amp;gt;AndroidManifest.xml&amp;lt;/i&amp;gt;. ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Es necesario añadir el siguiente permiso:&lt;br /&gt;
&lt;br /&gt;
     &amp;lt;uses-permission android:name=&amp;quot;android.permission.INTERNET&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Se recomienda añadir los siguientes permisos para obtener el mayor rendimiento de la librería:&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;uses-permission android:name=&amp;quot;android.permission.ACCESS_FINE_LOCATION&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;uses-permission android:name=&amp;quot;android.permission.ACCESS_WIFI_STATE&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;uses-permission android:name=&amp;quot;android.permission.ACCESS_NETWORK_STATE&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;uses-permission android:name=&amp;quot;android.permission.READ_PROFILE&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;uses-permission android:name=&amp;quot;android.permission.READ_PHONE_STATE&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;uses-permission android:name=&amp;quot;android.permission.READ_CONTACTS&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;uses-permission android:name=&amp;quot;android.permission.READ_CALENDAR&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;uses-permission android:name=&amp;quot;android.permission.WRITE_CALENDAR&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;uses-permission android:name=&amp;quot;android.permission.WRITE_EXTERNAL_STORAGE&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;uses-permission android:name=&amp;quot;android.permission.GET_ACCOUNTS&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;uses-permission android:name=&amp;quot;com.android.launcher.permission.INSTALL_SHORTCUT&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Cambios en el &amp;lt;i&amp;gt;Proguard&amp;lt;/i&amp;gt;. ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
En caso de que esté utilizando el &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;Proguard&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; (variable &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;minifyEnabled&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; a &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;TRUE&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; en el &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;build.gradle&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt;), será necesario añadir en el fichero del &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;Proguard&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; utilizado (&amp;lt;b&amp;gt;&amp;lt;i&amp;gt;proguard-rules.pro&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; por defecto) la siguiente regla:&lt;br /&gt;
&lt;br /&gt;
    -keep class com.mobeleader.&amp;lt;i&amp;gt;&amp;lt;/i&amp;gt; {*;}&lt;br /&gt;
&lt;br /&gt;
== LANZAMIENTO DE LA LIBRERIA. ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Lo primero que debe hacer es elegir el &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;Activity&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; (o &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;Fragment&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt;) en el que quiera mostrar la publicidad.  Recuerde que puede hacerlo en tantos &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;Activities&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; o &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;Fragments&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; como desee. Importe el paquete &amp;lt;b&amp;gt;com.mobeleader.sps&amp;lt;/b&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
    import com.mobeleader.sps.*;&lt;br /&gt;
&lt;br /&gt;
Una vez importado el paquete, se procederá al lanzamiento de la librería. La librería &amp;lt;b&amp;gt;SpsLib&amp;lt;/b&amp;gt; se puede lanzar principalmente de dos maneras: a través de una vista o directamente.&lt;br /&gt;
&lt;br /&gt;
=== Lanzamiento básico. ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Si lo que desea es mostrar el anuncio a través de un &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;banner&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt;, en una posición y con unas dimensiones determinadas, ha de utilizar la clase &amp;lt;b&amp;gt;SpsView&amp;lt;/b&amp;gt; en su &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;Activity&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; o &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;Fragment&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt;. &amp;lt;b&amp;gt;SpsView&amp;lt;/b&amp;gt; es el &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;layout&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; o vista en el que se mostrará el anuncio. Las características del &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;layout&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; se establecen mediante el archivo &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;XML&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Añada en el &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;XML&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; del &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;layout&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; del &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;Activity&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; o &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;Fragment&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; la vista &amp;lt;b&amp;gt;*SpsView&amp;lt;/b&amp;gt; (en el ejemplo se añade dentro de un &amp;lt;b&amp;gt;LinearLayout&amp;lt;/b&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;LinearLayout&lt;br /&gt;
    	android:layout_width=&amp;quot;match_parent&amp;quot;&lt;br /&gt;
    	android:layout_height=&amp;quot;wrap_content&amp;quot;&lt;br /&gt;
    	android:orientation=&amp;quot;vertical&amp;quot;&lt;br /&gt;
     	android:gravity=&amp;quot;center_horizontal&amp;quot;&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
    	&amp;lt;com.mobeleader.sps.SpsView&lt;br /&gt;
    		xmlns:sps=&amp;quot;http://schemas.android.com/apk/res-auto&amp;quot;&lt;br /&gt;
    		android:id=&amp;quot;@+id/spsView&amp;quot;&lt;br /&gt;
    		android:layout_width=&amp;quot;wrap_content&amp;quot;&lt;br /&gt;
    		android:layout_height=&amp;quot;wrap_content&amp;quot;&lt;br /&gt;
    		sps:spsAppHash=&amp;quot;appHash&amp;quot;&lt;br /&gt;
    		sps:spsAppSpaceHash=&amp;quot;spaceHash&amp;quot;&lt;br /&gt;
    		sps:spsLoadSps=&amp;quot;true&amp;quot;&lt;br /&gt;
    		sps:spsSize=&amp;quot;BANNER&amp;quot;/&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
    &amp;lt;/LinearLayout&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;sps:spsAppHash=“appHash”&amp;lt;/b&amp;gt; y &amp;lt;b&amp;gt;sps:spsAppSpaceHash=“spaceHash”&amp;lt;/b&amp;gt; son campos obligatorios.&lt;br /&gt;
&lt;br /&gt;
En el campo &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;appHash&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; ha de introducir el &amp;lt;b&amp;gt;código hash&amp;lt;/b&amp;gt; de su aplicación, generado al registrarla en nuestro panel. Lo puede obtener en la sección [http://panel.mobeleader.com/index.php?sec=6 Mis Aplicaciones], pulsando el icono de la columna &amp;lt;b&amp;gt;&amp;quot;Hash&amp;quot;&amp;lt;/b&amp;gt; de su aplicación.&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/sps/app_hash.png&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
En el campo &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;spaceHash&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; ha de introducir el &amp;lt;b&amp;gt;código hash&amp;lt;/b&amp;gt; del espacio que vaya a gestionar la publicidad, generado al crear dicho espacio en nuestro panel. Lo puede obtener en la sección [http://panel.mobeleader.com/index.php?sec=34 Mis Espacios], pulsando el icono de la columna &amp;lt;b&amp;gt;&amp;quot;Hash&amp;quot;&amp;lt;/b&amp;gt; de su espacio.&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/sps/space_hash.png&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;sps:spsSize=“BANNER&amp;quot;&amp;lt;/b&amp;gt; y &amp;lt;b&amp;gt;sps:spsLoadSps=“true&amp;quot;&amp;lt;/b&amp;gt; también son campos obligatorios.&lt;br /&gt;
&lt;br /&gt;
El campo &amp;lt;b&amp;gt;spsSize&amp;lt;/b&amp;gt; determina el tipo de &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;banner&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; a mostrar, esto es, las dimensiones que ocupará dentro de la pantalla. A continuación se muestra una lista con los tipos de &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;banner&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; que ofrecemos:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;&amp;quot;IMAGE_SMALL_BANNER&amp;quot;&amp;lt;/b&amp;gt; (120 x 20).&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;&amp;quot;IMAGE_SMALL_HIGH_BANNER&amp;quot;&amp;lt;/b&amp;gt; (120 x 30).&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;&amp;quot;IMAGE_MEDIUM_BANNER&amp;quot;&amp;lt;/b&amp;gt; (168 x 28).&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;&amp;quot;IMAGE_MEDIUM_HIGH_BANNER&amp;quot;&amp;lt;/b&amp;gt; (168 x 42).&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;&amp;quot;IMAGE_LARGE_BANNER&amp;quot;&amp;lt;/b&amp;gt; (216 x 36).&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;&amp;quot;IMAGE_LARGE_HIGH_BANNER&amp;quot;&amp;lt;/b&amp;gt; (216 x 54).&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;&amp;quot;HIGH_BANNER&amp;quot;&amp;lt;/b&amp;gt; (300 x 75).&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;&amp;quot;MOBILE_POP_UP&amp;quot;&amp;lt;/b&amp;gt; (300 x 250).&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;&amp;quot;TABLET_FILM_STRIP&amp;quot;&amp;lt;/b&amp;gt; (300 x 600).&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;&amp;quot;BANNER&amp;quot;&amp;lt;/b&amp;gt; (320 x 50).&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;&amp;quot;SQUARE_BANNER&amp;quot;&amp;lt;/b&amp;gt; (320 x 320).&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;&amp;quot;MOBILE_LARGE_BANNER&amp;quot;&amp;lt;/b&amp;gt; (320 x 300).&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;&amp;quot;MOBILE_LARGE_POP_UP&amp;quot;&amp;lt;/b&amp;gt; (320 x 350).&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;&amp;quot;TABLET_LARGE_BANNER&amp;quot;&amp;lt;/b&amp;gt; (320 x 480).&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;&amp;quot;TABLET_BANNER&amp;quot;&amp;lt;/b&amp;gt; (480 x 80).&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;&amp;quot;TABLET_POP_UP&amp;quot;&amp;lt;/b&amp;gt; (550 x 480).&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;&amp;quot;INTERSTITIAL&amp;quot;&amp;lt;/b&amp;gt; (pantalla completa).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;&amp;quot;BANNER&amp;quot;&amp;lt;/b&amp;gt; es el &amp;lt;b&amp;gt;spsSize&amp;lt;/b&amp;gt; por defecto.&lt;br /&gt;
&lt;br /&gt;
El campo &amp;lt;b&amp;gt;spsLoadSps&amp;lt;/b&amp;gt; determina si la librería se lanza automáticamente al cargar el &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;layout&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; &amp;lt;b&amp;gt;SpsView&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Si &amp;lt;b&amp;gt;spsLoadSps&amp;lt;/b&amp;gt; es &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;TRUE&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; la librería se lanzará automáticamente sin necesidad de instanciar la clase.&lt;br /&gt;
&lt;br /&gt;
Si &amp;lt;b&amp;gt;spsLoadSps&amp;lt;/b&amp;gt; es &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;FALSE&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; la librería podrá ser lanzada en el momento que se desee. Se hará de la siguiente forma dentro del &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;Activity&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; o &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;Fragment&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
    SpsView spsView = (SpsView) tmp_view.findViewById(R.id.spsView);&lt;br /&gt;
    spsView.loadSps();&lt;br /&gt;
&lt;br /&gt;
En el ejemplo se está haciendo la llamada a &amp;lt;b&amp;gt;SpsView&amp;lt;/b&amp;gt; dentro de un &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;Fragment&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt;. En caso de hacerlo dentro de un &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;Activity&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; se sustituirá &amp;lt;b&amp;gt;&amp;quot;tmp_view&amp;quot;&amp;lt;/b&amp;gt; por &amp;lt;b&amp;gt;&amp;quot;this&amp;quot;&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Lanzamiento modal. ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
El lanzamiento modal consiste en mostrar automáticamente un anuncio &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;interstitial&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; o &amp;lt;b&amp;gt;modal&amp;lt;/b&amp;gt; (pantalla completa) en el &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;Activity&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; o &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;Fragment&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; seleccionado.&lt;br /&gt;
&lt;br /&gt;
Si desea mostrar el anuncio directamente, en el &amp;lt;b&amp;gt;onCreate&amp;lt;/b&amp;gt; (si es un &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;Activity&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt;) o en el &amp;lt;b&amp;gt;onCreateView&amp;lt;/b&amp;gt; (si es un &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;Fragment&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt;) añada el siguiente código:&lt;br /&gt;
&lt;br /&gt;
    SpsLib sps = new SpsLib(context);	// La variable &amp;quot;context&amp;quot; es el Context del Activity. En caso de ser un Activity y no un Fragment: &amp;quot;this&amp;quot;.&lt;br /&gt;
    sps.setAppHash(&amp;quot;appHash&amp;quot;);	// Campo obligatorio -&amp;gt; Código hash de la app.&lt;br /&gt;
    sps.setAppSpaceHash(&amp;quot;spaceHash&amp;quot;);	// Campo obligatorio -&amp;gt; Código hash del espacio.&lt;br /&gt;
    sps.startSps();&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;setAppHash(“&amp;lt;i&amp;gt;appHash&amp;lt;/i&amp;gt;”)&amp;lt;/b&amp;gt; y &amp;lt;b&amp;gt;setSpaceHash(“&amp;lt;i&amp;gt;spaceHash&amp;lt;/i&amp;gt;”)&amp;lt;/b&amp;gt; son campos obligatorios, y funcionan tal como se explica en el lanzamiento básico.&lt;br /&gt;
&lt;br /&gt;
Si desea lanzar la librería en un momento determinado, lo que debe hacer es preparar la librería para su lanzamiento y ejecutarla en el momento que desee. A continuación se muestra un ejemplo utilizando el &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;listener&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; &amp;lt;b&amp;gt;onAdReadyToShow&amp;lt;/b&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
    SpsLib sps = new SpsLib(context);	// La variable &amp;quot;context&amp;quot; es el Context del Activity. En caso de ser un Activity y no un Fragment: &amp;quot;this&amp;quot;.&lt;br /&gt;
    sps.setAppHash(appHash);	// Campo obligatorio -&amp;gt; Código hash de la app.&lt;br /&gt;
    sps.setAppSpaceHash(&amp;quot;spaceHash&amp;quot;);	// Campo obligatorio -&amp;gt; Código hash del espacio.&lt;br /&gt;
    &lt;br /&gt;
    sps.setSpsListener(new SpsListener() {&lt;br /&gt;
    	public void onIsGoingToShowAd(boolean isGoingToShow) {&lt;br /&gt;
    		sps.loadSps();&lt;br /&gt;
    	}&lt;br /&gt;
    });&lt;br /&gt;
    sps.getReady();&lt;br /&gt;
&lt;br /&gt;
=== Listeners. ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
La librería &amp;lt;b&amp;gt;SpsLib&amp;lt;/b&amp;gt; está dotada de varios &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;listeners&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onActive&amp;lt;/b&amp;gt;: notifica si la aplicación tiene &amp;lt;b&amp;gt;activada&amp;lt;/b&amp;gt; la librería.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onInactive&amp;lt;/b&amp;gt;: notifica en caso de que la aplicación tenga &amp;lt;b&amp;gt;desactivada&amp;lt;/b&amp;gt; la librería.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onLibStart&amp;lt;/b&amp;gt;: notifica cuando la librería ha empezado a comprobar los anuncios.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onIsGoingToShowAd&amp;lt;/b&amp;gt;: notifica cuando la librería ha cotejado si debe mostrar anuncio o no. En caso de que vaya a mostrar anuncio devuelve &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;&amp;quot;true&amp;quot;&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; en el argumento, &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;&amp;quot;false&amp;quot;&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; en caso contrario.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onAdNotShow&amp;lt;/b&amp;gt;: notifica cuando la librería no va a mostrar ningún anuncio. Si el motivo por el cual no devuleve un anuncio es un error de la librería, el listener devolvera un objeto &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;JSON&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; con los errores producidos.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onAdShow&amp;lt;/b&amp;gt;: notifica cuando la librería va a mostrar un anuncio.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onAdReadyToShow&amp;lt;/b&amp;gt;: notifica cuando la librería ya tiene elegido y preparado el anuncio a mostrar. Devuelve el tipo de anuncio que se va a mostrar, que podrá ser &amp;lt;b&amp;gt;&amp;quot;INTERSTITIAL&amp;quot;&amp;lt;/b&amp;gt; o el tipo de &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;banner&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; (ej: &amp;lt;b&amp;gt;&amp;quot;HIGH_BANNER&amp;quot;&amp;lt;/b&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onPresentScreenAd&amp;lt;/b&amp;gt;: notifica cuando el anuncio está en pantalla.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onActionShow&amp;lt;/b&amp;gt;: notifica cuando el anuncio ha realizado la acción de visualizado.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onActionUrlOpen&amp;lt;/b&amp;gt;: notifica cuando el anuncio ha realizado la acción de abrir una URL. Devuelve como &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;string&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; la URL abierta en el argumento .&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onActionCloseButton&amp;lt;/b&amp;gt;: notifica cuando el anuncio ha realizado la acción de pulsar sobre el &amp;lt;b&amp;gt;&amp;quot;botón cerrar&amp;quot;&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onAdClose&amp;lt;/b&amp;gt;: notifica cuando el anuncio se ha cerrado.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onLibClose&amp;lt;/b&amp;gt;: notifica cuando la librería se ha cerrado.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onError&amp;lt;/b&amp;gt;: notifica cuando la librería ha tenido algún error. Devuelve un &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;string&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; con la descripción del error producido.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Para acceder a los &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;listeners&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt;, la llamada a la librería &amp;lt;b&amp;gt;SpsLib&amp;lt;/b&amp;gt; deberá realizarse de la siguiente forma (se pueden implementar tantos listeners como se quiera, no es necesario implementarlos todos):&lt;br /&gt;
&lt;br /&gt;
    SpsLib sps = new SpsLib(this);&lt;br /&gt;
    SpsListener spsListener = new SpsListener()&lt;br /&gt;
    {&lt;br /&gt;
    &lt;br /&gt;
    	@Override&lt;br /&gt;
    	public void onActive()&lt;br /&gt;
    	{&lt;br /&gt;
    		// TODO complete listener&lt;br /&gt;
    	}&lt;br /&gt;
    &lt;br /&gt;
    	@Override&lt;br /&gt;
    	public void onInactive()&lt;br /&gt;
    	{&lt;br /&gt;
    		// TODO complete listener&lt;br /&gt;
    	}&lt;br /&gt;
    &lt;br /&gt;
    	@Override&lt;br /&gt;
    	public void onLibStart()&lt;br /&gt;
    	{&lt;br /&gt;
    		// TODO complete listener&lt;br /&gt;
    	}&lt;br /&gt;
    &lt;br /&gt;
    	@Override&lt;br /&gt;
    	public void onIsGoingToShowAd(boolean isGoingToShow)&lt;br /&gt;
    	{&lt;br /&gt;
    		// TODO complete listener&lt;br /&gt;
    	}&lt;br /&gt;
    &lt;br /&gt;
    	@Override&lt;br /&gt;
    	public void onAdNotShow()&lt;br /&gt;
    	{&lt;br /&gt;
    		// TODO complete listener&lt;br /&gt;
    	}&lt;br /&gt;
    &lt;br /&gt;
    	@Override&lt;br /&gt;
    	public void onAdNotShow(JSONObject jsonObject)&lt;br /&gt;
    	{&lt;br /&gt;
    		// TODO complete listener&lt;br /&gt;
    	}&lt;br /&gt;
    &lt;br /&gt;
    	@Override&lt;br /&gt;
    	public void onAdShow()&lt;br /&gt;
    	{&lt;br /&gt;
    		// TODO complete listener&lt;br /&gt;
    	}&lt;br /&gt;
    &lt;br /&gt;
    	@Override&lt;br /&gt;
    	public void onPresentScreenAd()&lt;br /&gt;
    	{&lt;br /&gt;
    		// TODO complete listener&lt;br /&gt;
    	}&lt;br /&gt;
    &lt;br /&gt;
    	@Override&lt;br /&gt;
    	public void onActionShow()&lt;br /&gt;
    	{&lt;br /&gt;
    		// TODO complete listener&lt;br /&gt;
    	}&lt;br /&gt;
    &lt;br /&gt;
    	@Override&lt;br /&gt;
    	public void onActionCloseButton()&lt;br /&gt;
    	{&lt;br /&gt;
    		// TODO complete listener&lt;br /&gt;
    	}&lt;br /&gt;
    &lt;br /&gt;
    	@Override&lt;br /&gt;
    	public void onAdClose()&lt;br /&gt;
    	{&lt;br /&gt;
    		// TODO complete listener&lt;br /&gt;
    	}&lt;br /&gt;
    &lt;br /&gt;
    	@Override&lt;br /&gt;
    	public void onLibClose()&lt;br /&gt;
    	{&lt;br /&gt;
    		// TODO complete listener&lt;br /&gt;
    	}&lt;br /&gt;
    &lt;br /&gt;
    	@Override&lt;br /&gt;
    	public void onActionUrlOpen(String arg0)&lt;br /&gt;
    	{&lt;br /&gt;
    		// TODO complete listener&lt;br /&gt;
    	}&lt;br /&gt;
    &lt;br /&gt;
    	@Override&lt;br /&gt;
    	public void onAdReadyToShow(String bannerType)&lt;br /&gt;
    	{&lt;br /&gt;
    		// TODO complete listener&lt;br /&gt;
    	}&lt;br /&gt;
    &lt;br /&gt;
    	@Override&lt;br /&gt;
    	public void onError(String arg0)&lt;br /&gt;
    	{&lt;br /&gt;
    		// TODO complete listener&lt;br /&gt;
    	}&lt;br /&gt;
    &lt;br /&gt;
    };&lt;br /&gt;
    sps.setAppHash(&amp;quot;appHash&amp;quot;);&lt;br /&gt;
    sps.setAppSpaceHash(&amp;quot;spaceHash&amp;quot;);&lt;br /&gt;
    sps.startSps();&lt;br /&gt;
&lt;br /&gt;
La clase &amp;lt;b&amp;gt;SpsView&amp;lt;/b&amp;gt; incorpora así mismo el método &amp;lt;b&amp;gt;setSpsListener&amp;lt;/b&amp;gt;.&lt;/div&gt;</summary>
		<author><name>Asier</name></author>
	</entry>
	<entry>
		<id>https://wiki.mobeleader.com/index.php?title=SDKs:NickCenter:Cordova:index&amp;diff=2317</id>
		<title>SDKs:NickCenter:Cordova:index</title>
		<link rel="alternate" type="text/html" href="https://wiki.mobeleader.com/index.php?title=SDKs:NickCenter:Cordova:index&amp;diff=2317"/>
		<updated>2018-10-15T17:18:32Z</updated>

		<summary type="html">&lt;p&gt;Asier: /* CallBacks: */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= CÓMO AGREGAR EL PLUGIN NICKCENTER EN CORDOVA =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{:SDKs:NickCenter:Intro}}&lt;br /&gt;
&lt;br /&gt;
== VERSIONES SOPORTADAS ==&lt;br /&gt;
&lt;br /&gt;
Este Plugin soporta tanto Android como iOS. &lt;br /&gt;
&lt;br /&gt;
Para iOS soporta las versiones superiores a las &amp;lt;b&amp;gt;10.0&amp;lt;/b&amp;gt;, en caso de que detecte una versión inferior no se lanzará.&lt;br /&gt;
&lt;br /&gt;
Para Android soporta todas las versiones superiores a la &amp;lt;b&amp;gt;4.0&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{:SDKs:NickCenter:PanelControl}}&lt;br /&gt;
&lt;br /&gt;
== PASOS A REALIZAR PARA LA INTALACIÓN DEL PLUGIN ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== INSTALACIÓN: ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Para instalar el Plugin, si queremos que funcione en iOS, primero tendremos que instalar el plugin cordova-plugin-cocoapod-support, de la siguiente manera:&lt;br /&gt;
      cordova plugin add cordova-plugin-cocoapod-support&lt;br /&gt;
y después instalar el plugin de Nickcenter de esta manera (si solo lo vamos a usar para android con este plugin es suficiente):&lt;br /&gt;
      cordova plugin add cordova-plugin-nickcenter&lt;br /&gt;
&lt;br /&gt;
Una vez ejecutados los dos comandos ya tendremos el plugin instalado.&lt;br /&gt;
&lt;br /&gt;
=== LANZAMIENTO: ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Una vez configurada la instalación, lanzaremos en el momento donde queramos el código, por ejemplo:&lt;br /&gt;
&lt;br /&gt;
       cordova.exec(successNickCenterCallback, errorNickCenterCallback,  &amp;quot;nickcenter&amp;quot;,  &amp;quot;launchNickCenter&amp;quot;, [&amp;quot;54e46801egh95&amp;quot;]);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Los Argumentos enviados serán los siguientes:&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 1:&amp;lt;/b&amp;gt; Es el AppHash de la aplicación, el cual se puede obtener en el panel, como muestra la siguiente pantalla.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/Obtener_hash_app_14.png&lt;br /&gt;
&lt;br /&gt;
Por defecto las pantallas de &amp;lt;b&amp;gt;NickCenter&amp;lt;/b&amp;gt; presentan el siguiente formato:&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/nc_ios_default.jpeg&lt;br /&gt;
&lt;br /&gt;
Si desea modificar las pantallas para que sean lo más parecidas a su aplicación &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;NickCenter&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; deberá añadir más argumentos, en el siguiente orden (Estos Argumentos son completamente Opcionales) (Todos los colores deben ir en hexadecimal):&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 2:&amp;lt;/b&amp;gt; Determina el color de fondo de las pantallas. Ejemplo: &amp;quot;#ffffff&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 3:&amp;lt;/b&amp;gt; Determina el color de fondo de la cabecera de las pantallas. Ejemplo: &amp;quot;#f0f0f0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 4:&amp;lt;/b&amp;gt; Determina el color de la linea que separa la cabecera con el resto de la pantalla. Ejemplo: &amp;quot;#01e3fe&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 5:&amp;lt;/b&amp;gt; Determina el color del texto de la cabecera de las pantallas. Ejemplo: &amp;quot;#7b7b7b&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 6:&amp;lt;/b&amp;gt; Determina el color de fondo de los textfields donde se ubican los campos de cada pantalla. Ejemplo: &amp;quot;#ebebeb&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 7:&amp;lt;/b&amp;gt; Determina el color del texto descriptivo de cada textfield. Ejemplo: &amp;quot;#7b7b7b&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 8:&amp;lt;/b&amp;gt; Determina el color del texto de los textfields donde se ubican los campos de cada pantalla. Ejemplo: &amp;quot;#7b7b7b&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 9:&amp;lt;/b&amp;gt; Determina el color de fondo de los botones de cada pantalla. Ejemplo: &amp;quot;#7b7b7b&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 10:&amp;lt;/b&amp;gt; Determina el color de fondo de los botones de cada pantalla cuando se ha hecho click en éstos. Ejemplo: &amp;quot;#000000&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 11:&amp;lt;/b&amp;gt; Determina el color del texto de cada boton cuando no se ha hecho click en éstos. Ejemplo: &amp;quot;#01e3fe&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 12:&amp;lt;/b&amp;gt; Determina el color del texto de cada botón cuando se ha hecho click en éstos. Ejemplo: &amp;quot;#01e3fe&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 13:&amp;lt;/b&amp;gt; Determina el color del borde de los botones. Ejemplo: &amp;quot;#01e3fe&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 14:&amp;lt;/b&amp;gt; Determina el color de la fuente de los textos de los terminos y condiciones. Ejemplo: &amp;quot;#000000&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 15: (Solo para iOS)&amp;lt;/b&amp;gt; Determina el color de los botones activos en los términos y condiciones. Ejemplo: &amp;quot;#01e3fe&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 16: (Solo para iOS)&amp;lt;/b&amp;gt; Determina el color de los botones inactivos en los términos y condiciones. Ejemplo: &amp;quot;#f0f0f0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A continuación se expone un ejemplo en el que se maqueta a gusto del desarrollador las pantallas de &amp;lt;b&amp;gt;NickCenter&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
     cordova.exec(successNickCenterCallback, errorNickCenterCallback,  &amp;quot;nickcenter&amp;quot;,  &amp;quot;launchNickCenter&amp;quot;, [&amp;quot;54e46801eda63&amp;quot;, &amp;quot;#ffffff&amp;quot;, &amp;quot;#f0f0f0&amp;quot;, &amp;quot;#01e3fe&amp;quot;, &amp;quot;#7b7b7b&amp;quot;, &amp;quot;#ebebeb&amp;quot;, &amp;quot;#7b7b7b&amp;quot;, &amp;quot;#7b7b7b&amp;quot;, &amp;quot;#7b7b7b&amp;quot;, &amp;quot;#000000&amp;quot;, &amp;quot;#01e3fe&amp;quot;, &amp;quot;#01e3fe&amp;quot;, &amp;quot;#01e3fe&amp;quot;, &amp;quot;#000000&amp;quot;, &amp;quot;#01e3fe&amp;quot;, &amp;quot;#f0f0f0&amp;quot;]);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/nc_cordova_colores.png&lt;br /&gt;
&lt;br /&gt;
=== COMPLETAR REGISTRO: ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Una vez un usuario haya sido registrado en una de nuestras aplicaciones, cuando otra lance NickCenter, dicho usuario tan soló debera &amp;lt;b&amp;gt;logearse&amp;lt;/b&amp;gt; sin necesidad de tener que registrarse otra vez para ésta última aplicación. Se puede dar el caso de que al registrarte en la primera aplicación tán solo fuera necesario &amp;lt;b&amp;gt;email y contraseña&amp;lt;/b&amp;gt;, y que para la segunda aplicación fuera necesario registrarse con el &amp;lt;b&amp;gt;telefono&amp;lt;/b&amp;gt;, cuando este tipo de casos se den, al logearte en la segunda aplicación se abrirá una nueva vista para completar el registro. Una vez completado dicho registro se tratará como un login normal.&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/nc_ios_completar.jpeg&lt;br /&gt;
&lt;br /&gt;
=== FUNCIONES UTILES: ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;NickCenter&amp;lt;/b&amp;gt; está dotada de una función que permite al desarrollador cerrar la sesión ya iniciada por el usuario de manera que la siguiente vez que abra la aplicación y pase por donde se lanza la librería, el usuario deba volver a loguearse. Dicha funcion es :&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;closeSession&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ejemplo:&lt;br /&gt;
    cordova.exec(successNickCenterCallback, errorNickCenterCallback,  &amp;quot;nickcenter&amp;quot;,  &amp;quot;closeNickCenterSession&amp;quot;, [&amp;quot;54e46801eda63&amp;quot;]);&lt;br /&gt;
&lt;br /&gt;
=== CallBacks: ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;NickCenter&amp;lt;/b&amp;gt; cuenta con una serie de callbacks los cuales se pueden recoger en en las funciones implementadas successNickCenterCallback y errorNickCenterCallback que permiten al desarrollador saber qué parte del plugin se esta ejecutando y cuál es su resultado. A continuación se expondrán éstos y para que sirven.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onRegisterViewOpened&amp;lt;/b&amp;gt;: Notifica cuando la vista de registro se ha lanzado.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onLoginViewOpened&amp;lt;/b&amp;gt;: Notifica cuando la vista del login se ha lanzado.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onRescueViewOpened&amp;lt;/b&amp;gt;: Notifica cuando la vista de recuperación de contraseña se ha lanzado.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onError: Cadena de Error&amp;lt;/b&amp;gt;: Notificará cuando haya habido un error, normalmente se lanzará cuando el registro o el login hayan sido incorrectos, o cuando al recuperar la contraseña el email sea incorrecto. Se puede dar el caso de que de otro tipo de error como bien puede ser al conectarnos al sevidor.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onWarning: Cadena de Warning&amp;lt;/b&amp;gt;: Notificará de alguna advertencia al desarrollador.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onFinished&amp;lt;/b&amp;gt;: Notificará cuando la librería haya finalizado algun proceso. Inicio de sesión, registro o recuperación de contraseña correcto.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onSessionClosed&amp;lt;/b&amp;gt;: Notificará cuando se haya cerrado la sesión de NickCenter.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onActive&amp;lt;/b&amp;gt;: Notificará cuando detecte que NickCenter esta activa para la aplicación.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onInactive&amp;lt;/b&amp;gt;: Notificará cuando detecte que NickCenter esta inactiva para la aplicación.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onRegisterRegisterButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de registrarse en la vista de registro de usuario.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onRegisterLoginButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de inicio de sesión en la vista de registro de usuario.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onRegisterCloseButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de cerrar en la vista de registro de usuario.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onRegisterPerformed: Json de Usuario&amp;lt;/b&amp;gt;: Notificará cuando haya habido un registro correcto. Se mandará la información recogida del usuario en formato Json.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onLoginPerformed: Json de Usuario&amp;lt;/b&amp;gt;: Notificará cuando haya habido un login correcto. Se mandará la información recogida del usuario en formato Json.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onLoginLoginButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de inicio de sesión en la vista de inicio de sesión.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onLoginRegisterButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de registrarse en la vista de inicio de sesión.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onLoginRescueButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de recuperar contraseña en la vista de inicio de sesión.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onLoginCloseButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de cerrar en la vista de inicio de sesión.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onRescueRescueButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de recuperar contraseña en la vista de recuperar contraseña.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onRescueCloseButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de cerrar en la vista de recuperar contraseña.&lt;/div&gt;</summary>
		<author><name>Asier</name></author>
	</entry>
	<entry>
		<id>https://wiki.mobeleader.com/index.php?title=SDKs:NickCenter:Cordova:index&amp;diff=2315</id>
		<title>SDKs:NickCenter:Cordova:index</title>
		<link rel="alternate" type="text/html" href="https://wiki.mobeleader.com/index.php?title=SDKs:NickCenter:Cordova:index&amp;diff=2315"/>
		<updated>2018-10-15T17:08:42Z</updated>

		<summary type="html">&lt;p&gt;Asier: /* LANZAMIENTO: */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= CÓMO AGREGAR EL PLUGIN NICKCENTER EN CORDOVA =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{:SDKs:NickCenter:Intro}}&lt;br /&gt;
&lt;br /&gt;
== VERSIONES SOPORTADAS ==&lt;br /&gt;
&lt;br /&gt;
Este Plugin soporta tanto Android como iOS. &lt;br /&gt;
&lt;br /&gt;
Para iOS soporta las versiones superiores a las &amp;lt;b&amp;gt;10.0&amp;lt;/b&amp;gt;, en caso de que detecte una versión inferior no se lanzará.&lt;br /&gt;
&lt;br /&gt;
Para Android soporta todas las versiones superiores a la &amp;lt;b&amp;gt;4.0&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{:SDKs:NickCenter:PanelControl}}&lt;br /&gt;
&lt;br /&gt;
== PASOS A REALIZAR PARA LA INTALACIÓN DEL PLUGIN ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== INSTALACIÓN: ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Para instalar el Plugin, si queremos que funcione en iOS, primero tendremos que instalar el plugin cordova-plugin-cocoapod-support, de la siguiente manera:&lt;br /&gt;
      cordova plugin add cordova-plugin-cocoapod-support&lt;br /&gt;
y después instalar el plugin de Nickcenter de esta manera (si solo lo vamos a usar para android con este plugin es suficiente):&lt;br /&gt;
      cordova plugin add cordova-plugin-nickcenter&lt;br /&gt;
&lt;br /&gt;
Una vez ejecutados los dos comandos ya tendremos el plugin instalado.&lt;br /&gt;
&lt;br /&gt;
=== LANZAMIENTO: ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Una vez configurada la instalación, lanzaremos en el momento donde queramos el código, por ejemplo:&lt;br /&gt;
&lt;br /&gt;
       cordova.exec(successNickCenterCallback, errorNickCenterCallback,  &amp;quot;nickcenter&amp;quot;,  &amp;quot;launchNickCenter&amp;quot;, [&amp;quot;54e46801egh95&amp;quot;]);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Los Argumentos enviados serán los siguientes:&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 1:&amp;lt;/b&amp;gt; Es el AppHash de la aplicación, el cual se puede obtener en el panel, como muestra la siguiente pantalla.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/Obtener_hash_app_14.png&lt;br /&gt;
&lt;br /&gt;
Por defecto las pantallas de &amp;lt;b&amp;gt;NickCenter&amp;lt;/b&amp;gt; presentan el siguiente formato:&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/nc_ios_default.jpeg&lt;br /&gt;
&lt;br /&gt;
Si desea modificar las pantallas para que sean lo más parecidas a su aplicación &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;NickCenter&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; deberá añadir más argumentos, en el siguiente orden (Estos Argumentos son completamente Opcionales) (Todos los colores deben ir en hexadecimal):&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 2:&amp;lt;/b&amp;gt; Determina el color de fondo de las pantallas. Ejemplo: &amp;quot;#ffffff&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 3:&amp;lt;/b&amp;gt; Determina el color de fondo de la cabecera de las pantallas. Ejemplo: &amp;quot;#f0f0f0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 4:&amp;lt;/b&amp;gt; Determina el color de la linea que separa la cabecera con el resto de la pantalla. Ejemplo: &amp;quot;#01e3fe&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 5:&amp;lt;/b&amp;gt; Determina el color del texto de la cabecera de las pantallas. Ejemplo: &amp;quot;#7b7b7b&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 6:&amp;lt;/b&amp;gt; Determina el color de fondo de los textfields donde se ubican los campos de cada pantalla. Ejemplo: &amp;quot;#ebebeb&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 7:&amp;lt;/b&amp;gt; Determina el color del texto descriptivo de cada textfield. Ejemplo: &amp;quot;#7b7b7b&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 8:&amp;lt;/b&amp;gt; Determina el color del texto de los textfields donde se ubican los campos de cada pantalla. Ejemplo: &amp;quot;#7b7b7b&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 9:&amp;lt;/b&amp;gt; Determina el color de fondo de los botones de cada pantalla. Ejemplo: &amp;quot;#7b7b7b&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 10:&amp;lt;/b&amp;gt; Determina el color de fondo de los botones de cada pantalla cuando se ha hecho click en éstos. Ejemplo: &amp;quot;#000000&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 11:&amp;lt;/b&amp;gt; Determina el color del texto de cada boton cuando no se ha hecho click en éstos. Ejemplo: &amp;quot;#01e3fe&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 12:&amp;lt;/b&amp;gt; Determina el color del texto de cada botón cuando se ha hecho click en éstos. Ejemplo: &amp;quot;#01e3fe&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 13:&amp;lt;/b&amp;gt; Determina el color del borde de los botones. Ejemplo: &amp;quot;#01e3fe&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 14:&amp;lt;/b&amp;gt; Determina el color de la fuente de los textos de los terminos y condiciones. Ejemplo: &amp;quot;#000000&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 15: (Solo para iOS)&amp;lt;/b&amp;gt; Determina el color de los botones activos en los términos y condiciones. Ejemplo: &amp;quot;#01e3fe&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 16: (Solo para iOS)&amp;lt;/b&amp;gt; Determina el color de los botones inactivos en los términos y condiciones. Ejemplo: &amp;quot;#f0f0f0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A continuación se expone un ejemplo en el que se maqueta a gusto del desarrollador las pantallas de &amp;lt;b&amp;gt;NickCenter&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
     cordova.exec(successNickCenterCallback, errorNickCenterCallback,  &amp;quot;nickcenter&amp;quot;,  &amp;quot;launchNickCenter&amp;quot;, [&amp;quot;54e46801eda63&amp;quot;, &amp;quot;#ffffff&amp;quot;, &amp;quot;#f0f0f0&amp;quot;, &amp;quot;#01e3fe&amp;quot;, &amp;quot;#7b7b7b&amp;quot;, &amp;quot;#ebebeb&amp;quot;, &amp;quot;#7b7b7b&amp;quot;, &amp;quot;#7b7b7b&amp;quot;, &amp;quot;#7b7b7b&amp;quot;, &amp;quot;#000000&amp;quot;, &amp;quot;#01e3fe&amp;quot;, &amp;quot;#01e3fe&amp;quot;, &amp;quot;#01e3fe&amp;quot;, &amp;quot;#000000&amp;quot;, &amp;quot;#01e3fe&amp;quot;, &amp;quot;#f0f0f0&amp;quot;]);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/nc_cordova_colores.png&lt;br /&gt;
&lt;br /&gt;
=== COMPLETAR REGISTRO: ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Una vez un usuario haya sido registrado en una de nuestras aplicaciones, cuando otra lance NickCenter, dicho usuario tan soló debera &amp;lt;b&amp;gt;logearse&amp;lt;/b&amp;gt; sin necesidad de tener que registrarse otra vez para ésta última aplicación. Se puede dar el caso de que al registrarte en la primera aplicación tán solo fuera necesario &amp;lt;b&amp;gt;email y contraseña&amp;lt;/b&amp;gt;, y que para la segunda aplicación fuera necesario registrarse con el &amp;lt;b&amp;gt;telefono&amp;lt;/b&amp;gt;, cuando este tipo de casos se den, al logearte en la segunda aplicación se abrirá una nueva vista para completar el registro. Una vez completado dicho registro se tratará como un login normal.&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/nc_ios_completar.jpeg&lt;br /&gt;
&lt;br /&gt;
=== FUNCIONES UTILES: ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;NickCenter&amp;lt;/b&amp;gt; está dotada de una función que permite al desarrollador cerrar la sesión ya iniciada por el usuario de manera que la siguiente vez que abra la aplicación y pase por donde se lanza la librería, el usuario deba volver a loguearse. Dicha funcion es :&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;closeSession&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ejemplo:&lt;br /&gt;
    cordova.exec(successNickCenterCallback, errorNickCenterCallback,  &amp;quot;nickcenter&amp;quot;,  &amp;quot;closeNickCenterSession&amp;quot;, [&amp;quot;54e46801eda63&amp;quot;]);&lt;br /&gt;
&lt;br /&gt;
=== CallBacks: ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;NickCenter&amp;lt;/b&amp;gt; cuenta con una serie de callbacks los cuales se pueden recoger en en las funciones implementadas successNickCenterCallback y errorNickCenterCallback que permiten al desarrollador saber qué parte del plugin se esta ejecutando y cuál es su resultado. A continuación se expondrán éstos y para que sirven.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onRegisterViewOpened&amp;lt;/b&amp;gt;: Notifica cuando la vista de registro se ha lanzado.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onLoginViewOpened&amp;lt;/b&amp;gt;: Notifica cuando la vista del login se ha lanzado.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onRescueViewOpened&amp;lt;/b&amp;gt;: Notifica cuando la vista de recuperación de contraseña se ha lanzado.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onError:(NSString *)error&amp;lt;/b&amp;gt;: Notificará cuando haya habido un error, normalmente se lanzará cuando el registro o el login hayan sido incorrectos, o cuando al recuperar la contraseña el email sea incorrecto. Se puede dar el caso de que de otro tipo de error como bien puede ser al conectarnos al sevidor.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onWarning:(NSString *)warning&amp;lt;/b&amp;gt;: Notificará de alguna advertencia al desarrollador.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onFinished&amp;lt;/b&amp;gt;: Notificará cuando la librería haya finalizado algun proceso. Inicio de sesión, registro o recuperación de contraseña correcto.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onSessionClosed&amp;lt;/b&amp;gt;: Notificará cuando se haya cerrado la sesión de NickCenter.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onActive&amp;lt;/b&amp;gt;: Notificará cuando detecte que NickCenter esta activa para la aplicación.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onInactive&amp;lt;/b&amp;gt;: Notificará cuando detecte que NickCenter esta inactiva para la aplicación.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onRegisterRegisterButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de registrarse en la vista de registro de usuario.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onRegisterLoginButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de inicio de sesión en la vista de registro de usuario.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onRegisterCloseButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de cerrar en la vista de registro de usuario.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onRegisterPerformed:(NCUser &amp;lt;i&amp;gt;) user dictionary:(NSMutableDictionary &amp;lt;/i&amp;gt;) userDictionary&amp;lt;/b&amp;gt;: Notificará cuando haya habido un registro correcto.Se mandará la información recogida del usuario tanto en formato NCUser como en formato NSMutableDictionary.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onLoginPerformed:(NCUser &amp;lt;i&amp;gt;) user dictionary:(NSMutableDictionary &amp;lt;/i&amp;gt;) userDictionary&amp;lt;/b&amp;gt;: Notificará cuando haya habido un login correcto. Se mandará la información recogida del usuario tanto en formato NCUser como en formato NSMutableDictionary.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onLoginLoginButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de inicio de sesión en la vista de inicio de sesión.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onLoginRegisterButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de registrarse en la vista de inicio de sesión.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onLoginRescueButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de recuperar contraseña en la vista de inicio de sesión.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onLoginCloseButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de cerrar en la vista de inicio de sesión.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onRescueRescueButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de recuperar contraseña en la vista de recuperar contraseña.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onRescueCloseButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de cerrar en la vista de recuperar contraseña.&lt;/div&gt;</summary>
		<author><name>Asier</name></author>
	</entry>
	<entry>
		<id>https://wiki.mobeleader.com/index.php?title=SDKs:NickCenter:Cordova:index&amp;diff=2314</id>
		<title>SDKs:NickCenter:Cordova:index</title>
		<link rel="alternate" type="text/html" href="https://wiki.mobeleader.com/index.php?title=SDKs:NickCenter:Cordova:index&amp;diff=2314"/>
		<updated>2018-10-15T17:08:25Z</updated>

		<summary type="html">&lt;p&gt;Asier: /* FUNCIONES UTILES: */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= CÓMO AGREGAR EL PLUGIN NICKCENTER EN CORDOVA =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{:SDKs:NickCenter:Intro}}&lt;br /&gt;
&lt;br /&gt;
== VERSIONES SOPORTADAS ==&lt;br /&gt;
&lt;br /&gt;
Este Plugin soporta tanto Android como iOS. &lt;br /&gt;
&lt;br /&gt;
Para iOS soporta las versiones superiores a las &amp;lt;b&amp;gt;10.0&amp;lt;/b&amp;gt;, en caso de que detecte una versión inferior no se lanzará.&lt;br /&gt;
&lt;br /&gt;
Para Android soporta todas las versiones superiores a la &amp;lt;b&amp;gt;4.0&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{:SDKs:NickCenter:PanelControl}}&lt;br /&gt;
&lt;br /&gt;
== PASOS A REALIZAR PARA LA INTALACIÓN DEL PLUGIN ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== INSTALACIÓN: ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Para instalar el Plugin, si queremos que funcione en iOS, primero tendremos que instalar el plugin cordova-plugin-cocoapod-support, de la siguiente manera:&lt;br /&gt;
      cordova plugin add cordova-plugin-cocoapod-support&lt;br /&gt;
y después instalar el plugin de Nickcenter de esta manera (si solo lo vamos a usar para android con este plugin es suficiente):&lt;br /&gt;
      cordova plugin add cordova-plugin-nickcenter&lt;br /&gt;
&lt;br /&gt;
Una vez ejecutados los dos comandos ya tendremos el plugin instalado.&lt;br /&gt;
&lt;br /&gt;
=== LANZAMIENTO: ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Una vez configurada la instalación, lanzaremos en el momento donde queramos el código, por ejemplo para iOS:&lt;br /&gt;
&lt;br /&gt;
       cordova.exec(successNickCenterCallback, errorNickCenterCallback,  &amp;quot;nickcenter&amp;quot;,  &amp;quot;launchNickCenter&amp;quot;, [&amp;quot;54e46801egh95&amp;quot;]);&lt;br /&gt;
&lt;br /&gt;
Y Para Android:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Los Argumentos enviados serán los siguientes:&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 1:&amp;lt;/b&amp;gt; Es el AppHash de la aplicación, el cual se puede obtener en el panel, como muestra la siguiente pantalla.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/Obtener_hash_app_14.png&lt;br /&gt;
&lt;br /&gt;
Por defecto las pantallas de &amp;lt;b&amp;gt;NickCenter&amp;lt;/b&amp;gt; presentan el siguiente formato:&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/nc_ios_default.jpeg&lt;br /&gt;
&lt;br /&gt;
Si desea modificar las pantallas para que sean lo más parecidas a su aplicación &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;NickCenter&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; deberá añadir más argumentos, en el siguiente orden (Estos Argumentos son completamente Opcionales) (Todos los colores deben ir en hexadecimal):&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 2:&amp;lt;/b&amp;gt; Determina el color de fondo de las pantallas. Ejemplo: &amp;quot;#ffffff&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 3:&amp;lt;/b&amp;gt; Determina el color de fondo de la cabecera de las pantallas. Ejemplo: &amp;quot;#f0f0f0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 4:&amp;lt;/b&amp;gt; Determina el color de la linea que separa la cabecera con el resto de la pantalla. Ejemplo: &amp;quot;#01e3fe&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 5:&amp;lt;/b&amp;gt; Determina el color del texto de la cabecera de las pantallas. Ejemplo: &amp;quot;#7b7b7b&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 6:&amp;lt;/b&amp;gt; Determina el color de fondo de los textfields donde se ubican los campos de cada pantalla. Ejemplo: &amp;quot;#ebebeb&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 7:&amp;lt;/b&amp;gt; Determina el color del texto descriptivo de cada textfield. Ejemplo: &amp;quot;#7b7b7b&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 8:&amp;lt;/b&amp;gt; Determina el color del texto de los textfields donde se ubican los campos de cada pantalla. Ejemplo: &amp;quot;#7b7b7b&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 9:&amp;lt;/b&amp;gt; Determina el color de fondo de los botones de cada pantalla. Ejemplo: &amp;quot;#7b7b7b&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 10:&amp;lt;/b&amp;gt; Determina el color de fondo de los botones de cada pantalla cuando se ha hecho click en éstos. Ejemplo: &amp;quot;#000000&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 11:&amp;lt;/b&amp;gt; Determina el color del texto de cada boton cuando no se ha hecho click en éstos. Ejemplo: &amp;quot;#01e3fe&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 12:&amp;lt;/b&amp;gt; Determina el color del texto de cada botón cuando se ha hecho click en éstos. Ejemplo: &amp;quot;#01e3fe&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 13:&amp;lt;/b&amp;gt; Determina el color del borde de los botones. Ejemplo: &amp;quot;#01e3fe&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 14:&amp;lt;/b&amp;gt; Determina el color de la fuente de los textos de los terminos y condiciones. Ejemplo: &amp;quot;#000000&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 15: (Solo para iOS)&amp;lt;/b&amp;gt; Determina el color de los botones activos en los términos y condiciones. Ejemplo: &amp;quot;#01e3fe&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 16: (Solo para iOS)&amp;lt;/b&amp;gt; Determina el color de los botones inactivos en los términos y condiciones. Ejemplo: &amp;quot;#f0f0f0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A continuación se expone un ejemplo en el que se maqueta a gusto del desarrollador las pantallas de &amp;lt;b&amp;gt;NickCenter&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
     cordova.exec(successNickCenterCallback, errorNickCenterCallback,  &amp;quot;nickcenter&amp;quot;,  &amp;quot;launchNickCenter&amp;quot;, [&amp;quot;54e46801eda63&amp;quot;, &amp;quot;#ffffff&amp;quot;, &amp;quot;#f0f0f0&amp;quot;, &amp;quot;#01e3fe&amp;quot;, &amp;quot;#7b7b7b&amp;quot;, &amp;quot;#ebebeb&amp;quot;, &amp;quot;#7b7b7b&amp;quot;, &amp;quot;#7b7b7b&amp;quot;, &amp;quot;#7b7b7b&amp;quot;, &amp;quot;#000000&amp;quot;, &amp;quot;#01e3fe&amp;quot;, &amp;quot;#01e3fe&amp;quot;, &amp;quot;#01e3fe&amp;quot;, &amp;quot;#000000&amp;quot;, &amp;quot;#01e3fe&amp;quot;, &amp;quot;#f0f0f0&amp;quot;]);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/nc_cordova_colores.png&lt;br /&gt;
&lt;br /&gt;
=== COMPLETAR REGISTRO: ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Una vez un usuario haya sido registrado en una de nuestras aplicaciones, cuando otra lance NickCenter, dicho usuario tan soló debera &amp;lt;b&amp;gt;logearse&amp;lt;/b&amp;gt; sin necesidad de tener que registrarse otra vez para ésta última aplicación. Se puede dar el caso de que al registrarte en la primera aplicación tán solo fuera necesario &amp;lt;b&amp;gt;email y contraseña&amp;lt;/b&amp;gt;, y que para la segunda aplicación fuera necesario registrarse con el &amp;lt;b&amp;gt;telefono&amp;lt;/b&amp;gt;, cuando este tipo de casos se den, al logearte en la segunda aplicación se abrirá una nueva vista para completar el registro. Una vez completado dicho registro se tratará como un login normal.&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/nc_ios_completar.jpeg&lt;br /&gt;
&lt;br /&gt;
=== FUNCIONES UTILES: ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;NickCenter&amp;lt;/b&amp;gt; está dotada de una función que permite al desarrollador cerrar la sesión ya iniciada por el usuario de manera que la siguiente vez que abra la aplicación y pase por donde se lanza la librería, el usuario deba volver a loguearse. Dicha funcion es :&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;closeSession&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ejemplo:&lt;br /&gt;
    cordova.exec(successNickCenterCallback, errorNickCenterCallback,  &amp;quot;nickcenter&amp;quot;,  &amp;quot;closeNickCenterSession&amp;quot;, [&amp;quot;54e46801eda63&amp;quot;]);&lt;br /&gt;
&lt;br /&gt;
=== CallBacks: ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;NickCenter&amp;lt;/b&amp;gt; cuenta con una serie de callbacks los cuales se pueden recoger en en las funciones implementadas successNickCenterCallback y errorNickCenterCallback que permiten al desarrollador saber qué parte del plugin se esta ejecutando y cuál es su resultado. A continuación se expondrán éstos y para que sirven.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onRegisterViewOpened&amp;lt;/b&amp;gt;: Notifica cuando la vista de registro se ha lanzado.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onLoginViewOpened&amp;lt;/b&amp;gt;: Notifica cuando la vista del login se ha lanzado.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onRescueViewOpened&amp;lt;/b&amp;gt;: Notifica cuando la vista de recuperación de contraseña se ha lanzado.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onError:(NSString *)error&amp;lt;/b&amp;gt;: Notificará cuando haya habido un error, normalmente se lanzará cuando el registro o el login hayan sido incorrectos, o cuando al recuperar la contraseña el email sea incorrecto. Se puede dar el caso de que de otro tipo de error como bien puede ser al conectarnos al sevidor.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onWarning:(NSString *)warning&amp;lt;/b&amp;gt;: Notificará de alguna advertencia al desarrollador.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onFinished&amp;lt;/b&amp;gt;: Notificará cuando la librería haya finalizado algun proceso. Inicio de sesión, registro o recuperación de contraseña correcto.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onSessionClosed&amp;lt;/b&amp;gt;: Notificará cuando se haya cerrado la sesión de NickCenter.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onActive&amp;lt;/b&amp;gt;: Notificará cuando detecte que NickCenter esta activa para la aplicación.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onInactive&amp;lt;/b&amp;gt;: Notificará cuando detecte que NickCenter esta inactiva para la aplicación.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onRegisterRegisterButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de registrarse en la vista de registro de usuario.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onRegisterLoginButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de inicio de sesión en la vista de registro de usuario.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onRegisterCloseButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de cerrar en la vista de registro de usuario.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onRegisterPerformed:(NCUser &amp;lt;i&amp;gt;) user dictionary:(NSMutableDictionary &amp;lt;/i&amp;gt;) userDictionary&amp;lt;/b&amp;gt;: Notificará cuando haya habido un registro correcto.Se mandará la información recogida del usuario tanto en formato NCUser como en formato NSMutableDictionary.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onLoginPerformed:(NCUser &amp;lt;i&amp;gt;) user dictionary:(NSMutableDictionary &amp;lt;/i&amp;gt;) userDictionary&amp;lt;/b&amp;gt;: Notificará cuando haya habido un login correcto. Se mandará la información recogida del usuario tanto en formato NCUser como en formato NSMutableDictionary.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onLoginLoginButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de inicio de sesión en la vista de inicio de sesión.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onLoginRegisterButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de registrarse en la vista de inicio de sesión.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onLoginRescueButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de recuperar contraseña en la vista de inicio de sesión.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onLoginCloseButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de cerrar en la vista de inicio de sesión.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onRescueRescueButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de recuperar contraseña en la vista de recuperar contraseña.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onRescueCloseButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de cerrar en la vista de recuperar contraseña.&lt;/div&gt;</summary>
		<author><name>Asier</name></author>
	</entry>
	<entry>
		<id>https://wiki.mobeleader.com/index.php?title=SDKs:NickCenter:Cordova:index&amp;diff=2313</id>
		<title>SDKs:NickCenter:Cordova:index</title>
		<link rel="alternate" type="text/html" href="https://wiki.mobeleader.com/index.php?title=SDKs:NickCenter:Cordova:index&amp;diff=2313"/>
		<updated>2018-10-15T17:04:20Z</updated>

		<summary type="html">&lt;p&gt;Asier: /* CallBacks: */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= CÓMO AGREGAR EL PLUGIN NICKCENTER EN CORDOVA =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{:SDKs:NickCenter:Intro}}&lt;br /&gt;
&lt;br /&gt;
== VERSIONES SOPORTADAS ==&lt;br /&gt;
&lt;br /&gt;
Este Plugin soporta tanto Android como iOS. &lt;br /&gt;
&lt;br /&gt;
Para iOS soporta las versiones superiores a las &amp;lt;b&amp;gt;10.0&amp;lt;/b&amp;gt;, en caso de que detecte una versión inferior no se lanzará.&lt;br /&gt;
&lt;br /&gt;
Para Android soporta todas las versiones superiores a la &amp;lt;b&amp;gt;4.0&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{:SDKs:NickCenter:PanelControl}}&lt;br /&gt;
&lt;br /&gt;
== PASOS A REALIZAR PARA LA INTALACIÓN DEL PLUGIN ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== INSTALACIÓN: ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Para instalar el Plugin, si queremos que funcione en iOS, primero tendremos que instalar el plugin cordova-plugin-cocoapod-support, de la siguiente manera:&lt;br /&gt;
      cordova plugin add cordova-plugin-cocoapod-support&lt;br /&gt;
y después instalar el plugin de Nickcenter de esta manera (si solo lo vamos a usar para android con este plugin es suficiente):&lt;br /&gt;
      cordova plugin add cordova-plugin-nickcenter&lt;br /&gt;
&lt;br /&gt;
Una vez ejecutados los dos comandos ya tendremos el plugin instalado.&lt;br /&gt;
&lt;br /&gt;
=== LANZAMIENTO: ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Una vez configurada la instalación, lanzaremos en el momento donde queramos el código, por ejemplo para iOS:&lt;br /&gt;
&lt;br /&gt;
       cordova.exec(successNickCenterCallback, errorNickCenterCallback,  &amp;quot;nickcenter&amp;quot;,  &amp;quot;launchNickCenter&amp;quot;, [&amp;quot;54e46801egh95&amp;quot;]);&lt;br /&gt;
&lt;br /&gt;
Y Para Android:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Los Argumentos enviados serán los siguientes:&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 1:&amp;lt;/b&amp;gt; Es el AppHash de la aplicación, el cual se puede obtener en el panel, como muestra la siguiente pantalla.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/Obtener_hash_app_14.png&lt;br /&gt;
&lt;br /&gt;
Por defecto las pantallas de &amp;lt;b&amp;gt;NickCenter&amp;lt;/b&amp;gt; presentan el siguiente formato:&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/nc_ios_default.jpeg&lt;br /&gt;
&lt;br /&gt;
Si desea modificar las pantallas para que sean lo más parecidas a su aplicación &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;NickCenter&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; deberá añadir más argumentos, en el siguiente orden (Estos Argumentos son completamente Opcionales) (Todos los colores deben ir en hexadecimal):&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 2:&amp;lt;/b&amp;gt; Determina el color de fondo de las pantallas. Ejemplo: &amp;quot;#ffffff&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 3:&amp;lt;/b&amp;gt; Determina el color de fondo de la cabecera de las pantallas. Ejemplo: &amp;quot;#f0f0f0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 4:&amp;lt;/b&amp;gt; Determina el color de la linea que separa la cabecera con el resto de la pantalla. Ejemplo: &amp;quot;#01e3fe&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 5:&amp;lt;/b&amp;gt; Determina el color del texto de la cabecera de las pantallas. Ejemplo: &amp;quot;#7b7b7b&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 6:&amp;lt;/b&amp;gt; Determina el color de fondo de los textfields donde se ubican los campos de cada pantalla. Ejemplo: &amp;quot;#ebebeb&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 7:&amp;lt;/b&amp;gt; Determina el color del texto descriptivo de cada textfield. Ejemplo: &amp;quot;#7b7b7b&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 8:&amp;lt;/b&amp;gt; Determina el color del texto de los textfields donde se ubican los campos de cada pantalla. Ejemplo: &amp;quot;#7b7b7b&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 9:&amp;lt;/b&amp;gt; Determina el color de fondo de los botones de cada pantalla. Ejemplo: &amp;quot;#7b7b7b&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 10:&amp;lt;/b&amp;gt; Determina el color de fondo de los botones de cada pantalla cuando se ha hecho click en éstos. Ejemplo: &amp;quot;#000000&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 11:&amp;lt;/b&amp;gt; Determina el color del texto de cada boton cuando no se ha hecho click en éstos. Ejemplo: &amp;quot;#01e3fe&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 12:&amp;lt;/b&amp;gt; Determina el color del texto de cada botón cuando se ha hecho click en éstos. Ejemplo: &amp;quot;#01e3fe&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 13:&amp;lt;/b&amp;gt; Determina el color del borde de los botones. Ejemplo: &amp;quot;#01e3fe&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 14:&amp;lt;/b&amp;gt; Determina el color de la fuente de los textos de los terminos y condiciones. Ejemplo: &amp;quot;#000000&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 15: (Solo para iOS)&amp;lt;/b&amp;gt; Determina el color de los botones activos en los términos y condiciones. Ejemplo: &amp;quot;#01e3fe&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 16: (Solo para iOS)&amp;lt;/b&amp;gt; Determina el color de los botones inactivos en los términos y condiciones. Ejemplo: &amp;quot;#f0f0f0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A continuación se expone un ejemplo en el que se maqueta a gusto del desarrollador las pantallas de &amp;lt;b&amp;gt;NickCenter&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
     cordova.exec(successNickCenterCallback, errorNickCenterCallback,  &amp;quot;nickcenter&amp;quot;,  &amp;quot;launchNickCenter&amp;quot;, [&amp;quot;54e46801eda63&amp;quot;, &amp;quot;#ffffff&amp;quot;, &amp;quot;#f0f0f0&amp;quot;, &amp;quot;#01e3fe&amp;quot;, &amp;quot;#7b7b7b&amp;quot;, &amp;quot;#ebebeb&amp;quot;, &amp;quot;#7b7b7b&amp;quot;, &amp;quot;#7b7b7b&amp;quot;, &amp;quot;#7b7b7b&amp;quot;, &amp;quot;#000000&amp;quot;, &amp;quot;#01e3fe&amp;quot;, &amp;quot;#01e3fe&amp;quot;, &amp;quot;#01e3fe&amp;quot;, &amp;quot;#000000&amp;quot;, &amp;quot;#01e3fe&amp;quot;, &amp;quot;#f0f0f0&amp;quot;]);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/nc_cordova_colores.png&lt;br /&gt;
&lt;br /&gt;
=== COMPLETAR REGISTRO: ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Una vez un usuario haya sido registrado en una de nuestras aplicaciones, cuando otra lance NickCenter, dicho usuario tan soló debera &amp;lt;b&amp;gt;logearse&amp;lt;/b&amp;gt; sin necesidad de tener que registrarse otra vez para ésta última aplicación. Se puede dar el caso de que al registrarte en la primera aplicación tán solo fuera necesario &amp;lt;b&amp;gt;email y contraseña&amp;lt;/b&amp;gt;, y que para la segunda aplicación fuera necesario registrarse con el &amp;lt;b&amp;gt;telefono&amp;lt;/b&amp;gt;, cuando este tipo de casos se den, al logearte en la segunda aplicación se abrirá una nueva vista para completar el registro. Una vez completado dicho registro se tratará como un login normal.&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/nc_ios_completar.jpeg&lt;br /&gt;
&lt;br /&gt;
=== FUNCIONES UTILES: ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;NickCenter&amp;lt;/b&amp;gt; está dotada de una función que permite al desarrollador cerrar la sesión ya iniciada por el usuario de manera que la siguiente vez que abra la aplicación y pase por donde se lanza la librería, el usuario deba volver a loguearse. Dicha funcion es :&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;closeSession&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ejemplo para iOS:&lt;br /&gt;
    cordova.exec(successNickCenterCallback, errorNickCenterCallback,  &amp;quot;nickcenter&amp;quot;,  &amp;quot;closeNickCenterSession&amp;quot;, [&amp;quot;54e46801eda63&amp;quot;]); &lt;br /&gt;
&lt;br /&gt;
Ejemplo para Android:&lt;br /&gt;
    FALTA ANDROID&lt;br /&gt;
&lt;br /&gt;
=== CallBacks: ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;NickCenter&amp;lt;/b&amp;gt; cuenta con una serie de callbacks los cuales se pueden recoger en en las funciones implementadas successNickCenterCallback y errorNickCenterCallback que permiten al desarrollador saber qué parte del plugin se esta ejecutando y cuál es su resultado. A continuación se expondrán éstos y para que sirven.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onRegisterViewOpened&amp;lt;/b&amp;gt;: Notifica cuando la vista de registro se ha lanzado.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onLoginViewOpened&amp;lt;/b&amp;gt;: Notifica cuando la vista del login se ha lanzado.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onRescueViewOpened&amp;lt;/b&amp;gt;: Notifica cuando la vista de recuperación de contraseña se ha lanzado.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onError:(NSString *)error&amp;lt;/b&amp;gt;: Notificará cuando haya habido un error, normalmente se lanzará cuando el registro o el login hayan sido incorrectos, o cuando al recuperar la contraseña el email sea incorrecto. Se puede dar el caso de que de otro tipo de error como bien puede ser al conectarnos al sevidor.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onWarning:(NSString *)warning&amp;lt;/b&amp;gt;: Notificará de alguna advertencia al desarrollador.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onFinished&amp;lt;/b&amp;gt;: Notificará cuando la librería haya finalizado algun proceso. Inicio de sesión, registro o recuperación de contraseña correcto.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onSessionClosed&amp;lt;/b&amp;gt;: Notificará cuando se haya cerrado la sesión de NickCenter.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onActive&amp;lt;/b&amp;gt;: Notificará cuando detecte que NickCenter esta activa para la aplicación.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onInactive&amp;lt;/b&amp;gt;: Notificará cuando detecte que NickCenter esta inactiva para la aplicación.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onRegisterRegisterButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de registrarse en la vista de registro de usuario.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onRegisterLoginButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de inicio de sesión en la vista de registro de usuario.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onRegisterCloseButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de cerrar en la vista de registro de usuario.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onRegisterPerformed:(NCUser &amp;lt;i&amp;gt;) user dictionary:(NSMutableDictionary &amp;lt;/i&amp;gt;) userDictionary&amp;lt;/b&amp;gt;: Notificará cuando haya habido un registro correcto.Se mandará la información recogida del usuario tanto en formato NCUser como en formato NSMutableDictionary.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onLoginPerformed:(NCUser &amp;lt;i&amp;gt;) user dictionary:(NSMutableDictionary &amp;lt;/i&amp;gt;) userDictionary&amp;lt;/b&amp;gt;: Notificará cuando haya habido un login correcto. Se mandará la información recogida del usuario tanto en formato NCUser como en formato NSMutableDictionary.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onLoginLoginButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de inicio de sesión en la vista de inicio de sesión.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onLoginRegisterButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de registrarse en la vista de inicio de sesión.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onLoginRescueButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de recuperar contraseña en la vista de inicio de sesión.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onLoginCloseButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de cerrar en la vista de inicio de sesión.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onRescueRescueButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de recuperar contraseña en la vista de recuperar contraseña.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onRescueCloseButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de cerrar en la vista de recuperar contraseña.&lt;/div&gt;</summary>
		<author><name>Asier</name></author>
	</entry>
	<entry>
		<id>https://wiki.mobeleader.com/index.php?title=SDKs:NickCenter:Cordova:index&amp;diff=2312</id>
		<title>SDKs:NickCenter:Cordova:index</title>
		<link rel="alternate" type="text/html" href="https://wiki.mobeleader.com/index.php?title=SDKs:NickCenter:Cordova:index&amp;diff=2312"/>
		<updated>2018-10-15T17:03:57Z</updated>

		<summary type="html">&lt;p&gt;Asier: /* CallBacks: */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= CÓMO AGREGAR EL PLUGIN NICKCENTER EN CORDOVA =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{:SDKs:NickCenter:Intro}}&lt;br /&gt;
&lt;br /&gt;
== VERSIONES SOPORTADAS ==&lt;br /&gt;
&lt;br /&gt;
Este Plugin soporta tanto Android como iOS. &lt;br /&gt;
&lt;br /&gt;
Para iOS soporta las versiones superiores a las &amp;lt;b&amp;gt;10.0&amp;lt;/b&amp;gt;, en caso de que detecte una versión inferior no se lanzará.&lt;br /&gt;
&lt;br /&gt;
Para Android soporta todas las versiones superiores a la &amp;lt;b&amp;gt;4.0&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{:SDKs:NickCenter:PanelControl}}&lt;br /&gt;
&lt;br /&gt;
== PASOS A REALIZAR PARA LA INTALACIÓN DEL PLUGIN ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== INSTALACIÓN: ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Para instalar el Plugin, si queremos que funcione en iOS, primero tendremos que instalar el plugin cordova-plugin-cocoapod-support, de la siguiente manera:&lt;br /&gt;
      cordova plugin add cordova-plugin-cocoapod-support&lt;br /&gt;
y después instalar el plugin de Nickcenter de esta manera (si solo lo vamos a usar para android con este plugin es suficiente):&lt;br /&gt;
      cordova plugin add cordova-plugin-nickcenter&lt;br /&gt;
&lt;br /&gt;
Una vez ejecutados los dos comandos ya tendremos el plugin instalado.&lt;br /&gt;
&lt;br /&gt;
=== LANZAMIENTO: ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Una vez configurada la instalación, lanzaremos en el momento donde queramos el código, por ejemplo para iOS:&lt;br /&gt;
&lt;br /&gt;
       cordova.exec(successNickCenterCallback, errorNickCenterCallback,  &amp;quot;nickcenter&amp;quot;,  &amp;quot;launchNickCenter&amp;quot;, [&amp;quot;54e46801egh95&amp;quot;]);&lt;br /&gt;
&lt;br /&gt;
Y Para Android:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Los Argumentos enviados serán los siguientes:&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 1:&amp;lt;/b&amp;gt; Es el AppHash de la aplicación, el cual se puede obtener en el panel, como muestra la siguiente pantalla.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/Obtener_hash_app_14.png&lt;br /&gt;
&lt;br /&gt;
Por defecto las pantallas de &amp;lt;b&amp;gt;NickCenter&amp;lt;/b&amp;gt; presentan el siguiente formato:&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/nc_ios_default.jpeg&lt;br /&gt;
&lt;br /&gt;
Si desea modificar las pantallas para que sean lo más parecidas a su aplicación &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;NickCenter&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; deberá añadir más argumentos, en el siguiente orden (Estos Argumentos son completamente Opcionales) (Todos los colores deben ir en hexadecimal):&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 2:&amp;lt;/b&amp;gt; Determina el color de fondo de las pantallas. Ejemplo: &amp;quot;#ffffff&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 3:&amp;lt;/b&amp;gt; Determina el color de fondo de la cabecera de las pantallas. Ejemplo: &amp;quot;#f0f0f0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 4:&amp;lt;/b&amp;gt; Determina el color de la linea que separa la cabecera con el resto de la pantalla. Ejemplo: &amp;quot;#01e3fe&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 5:&amp;lt;/b&amp;gt; Determina el color del texto de la cabecera de las pantallas. Ejemplo: &amp;quot;#7b7b7b&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 6:&amp;lt;/b&amp;gt; Determina el color de fondo de los textfields donde se ubican los campos de cada pantalla. Ejemplo: &amp;quot;#ebebeb&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 7:&amp;lt;/b&amp;gt; Determina el color del texto descriptivo de cada textfield. Ejemplo: &amp;quot;#7b7b7b&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 8:&amp;lt;/b&amp;gt; Determina el color del texto de los textfields donde se ubican los campos de cada pantalla. Ejemplo: &amp;quot;#7b7b7b&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 9:&amp;lt;/b&amp;gt; Determina el color de fondo de los botones de cada pantalla. Ejemplo: &amp;quot;#7b7b7b&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 10:&amp;lt;/b&amp;gt; Determina el color de fondo de los botones de cada pantalla cuando se ha hecho click en éstos. Ejemplo: &amp;quot;#000000&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 11:&amp;lt;/b&amp;gt; Determina el color del texto de cada boton cuando no se ha hecho click en éstos. Ejemplo: &amp;quot;#01e3fe&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 12:&amp;lt;/b&amp;gt; Determina el color del texto de cada botón cuando se ha hecho click en éstos. Ejemplo: &amp;quot;#01e3fe&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 13:&amp;lt;/b&amp;gt; Determina el color del borde de los botones. Ejemplo: &amp;quot;#01e3fe&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 14:&amp;lt;/b&amp;gt; Determina el color de la fuente de los textos de los terminos y condiciones. Ejemplo: &amp;quot;#000000&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 15: (Solo para iOS)&amp;lt;/b&amp;gt; Determina el color de los botones activos en los términos y condiciones. Ejemplo: &amp;quot;#01e3fe&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 16: (Solo para iOS)&amp;lt;/b&amp;gt; Determina el color de los botones inactivos en los términos y condiciones. Ejemplo: &amp;quot;#f0f0f0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A continuación se expone un ejemplo en el que se maqueta a gusto del desarrollador las pantallas de &amp;lt;b&amp;gt;NickCenter&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
     cordova.exec(successNickCenterCallback, errorNickCenterCallback,  &amp;quot;nickcenter&amp;quot;,  &amp;quot;launchNickCenter&amp;quot;, [&amp;quot;54e46801eda63&amp;quot;, &amp;quot;#ffffff&amp;quot;, &amp;quot;#f0f0f0&amp;quot;, &amp;quot;#01e3fe&amp;quot;, &amp;quot;#7b7b7b&amp;quot;, &amp;quot;#ebebeb&amp;quot;, &amp;quot;#7b7b7b&amp;quot;, &amp;quot;#7b7b7b&amp;quot;, &amp;quot;#7b7b7b&amp;quot;, &amp;quot;#000000&amp;quot;, &amp;quot;#01e3fe&amp;quot;, &amp;quot;#01e3fe&amp;quot;, &amp;quot;#01e3fe&amp;quot;, &amp;quot;#000000&amp;quot;, &amp;quot;#01e3fe&amp;quot;, &amp;quot;#f0f0f0&amp;quot;]);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/nc_cordova_colores.png&lt;br /&gt;
&lt;br /&gt;
=== COMPLETAR REGISTRO: ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Una vez un usuario haya sido registrado en una de nuestras aplicaciones, cuando otra lance NickCenter, dicho usuario tan soló debera &amp;lt;b&amp;gt;logearse&amp;lt;/b&amp;gt; sin necesidad de tener que registrarse otra vez para ésta última aplicación. Se puede dar el caso de que al registrarte en la primera aplicación tán solo fuera necesario &amp;lt;b&amp;gt;email y contraseña&amp;lt;/b&amp;gt;, y que para la segunda aplicación fuera necesario registrarse con el &amp;lt;b&amp;gt;telefono&amp;lt;/b&amp;gt;, cuando este tipo de casos se den, al logearte en la segunda aplicación se abrirá una nueva vista para completar el registro. Una vez completado dicho registro se tratará como un login normal.&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/nc_ios_completar.jpeg&lt;br /&gt;
&lt;br /&gt;
=== FUNCIONES UTILES: ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;NickCenter&amp;lt;/b&amp;gt; está dotada de una función que permite al desarrollador cerrar la sesión ya iniciada por el usuario de manera que la siguiente vez que abra la aplicación y pase por donde se lanza la librería, el usuario deba volver a loguearse. Dicha funcion es :&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;closeSession&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ejemplo para iOS:&lt;br /&gt;
    cordova.exec(successNickCenterCallback, errorNickCenterCallback,  &amp;quot;nickcenter&amp;quot;,  &amp;quot;closeNickCenterSession&amp;quot;, [&amp;quot;54e46801eda63&amp;quot;]); &lt;br /&gt;
&lt;br /&gt;
Ejemplo para Android:&lt;br /&gt;
    FALTA ANDROID&lt;br /&gt;
&lt;br /&gt;
=== CallBacks: ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;NickCenter&amp;lt;/b&amp;gt; cuenta con una serie de callbacks los cuales se pueden recoger en en las funciones implementadas successNickCenterCallback y errorNickCenterCallback que permiten al desarrollador saber qué parte del plugin se esta ejecutando y cuál es su resultado. A continuación se expondrán éstos y para que sirven.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onRegisterViewOpened&amp;lt;/b&amp;gt;: Notifica cuando la vista de registro se ha lanzado.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onLoginViewOpened&amp;lt;/b&amp;gt;: Notifica cuando la vista del login se ha lanzado.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onRescueViewOpened&amp;lt;/b&amp;gt;: Notifica cuando la vista de recuperación de contraseña se ha lanzado.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onError:(NSString *)error&amp;lt;/b&amp;gt;: Notificará cuando haya habido un error, normalmente se lanzará cuando el registro o el login hayan sido incorrectos, o cuando al recuperar la contraseña el email sea incorrecto. Se puede dar el caso de que de otro tipo de error como bien puede ser al conectarnos al sevidor.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onWarning:(NSString *)warning&amp;lt;/b&amp;gt;: Notificará de alguna advertencia al desarrollador.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onFinished&amp;lt;/b&amp;gt;: Notificará cuando la librería haya finalizado algun proceso. Inicio de sesión, registro o recuperación de contraseña correcto.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onSessionClosed&amp;lt;/b&amp;gt;: Notificará cuando se haya cerrado la sesión de NickCenter.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onActive&amp;lt;/b&amp;gt;: Notificará cuando detecte que NickCenter esta activa para la aplicación.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onInactive&amp;lt;/b&amp;gt;: Notificará cuando detecte que NickCenter esta inactiva para la aplicación.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onRegisterRegisterButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de registrarse en la vista de registro de usuario.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onRegisterLoginButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de inicio de sesión en la vista de registro de usuario.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onRegisterCloseButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de cerrar en la vista de registro de usuario.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onRegisterPerformed:(NCUser &amp;lt;i&amp;gt;) user dictionary:(NSMutableDictionary &amp;lt;/i&amp;gt;) userDictionary&amp;lt;/b&amp;gt;: Notificará cuando haya habido un registro correcto.Se mandará la información recogida del usuario tanto en formato NCUser como en formato NSMutableDictionary.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onLoginPerformed:(NCUser &amp;lt;i&amp;gt;) user dictionary:(NSMutableDictionary &amp;lt;/i&amp;gt;) userDictionary&amp;lt;/b&amp;gt;: Notificará cuando haya habido un registro o un login correcto. Se mandará la información recogida del usuario tanto en formato NCUser como en formato NSMutableDictionary.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onLoginLoginButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de inicio de sesión en la vista de inicio de sesión.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onLoginRegisterButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de registrarse en la vista de inicio de sesión.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onLoginRescueButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de recuperar contraseña en la vista de inicio de sesión.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onLoginCloseButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de cerrar en la vista de inicio de sesión.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onRescueRescueButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de recuperar contraseña en la vista de recuperar contraseña.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onRescueCloseButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de cerrar en la vista de recuperar contraseña.&lt;/div&gt;</summary>
		<author><name>Asier</name></author>
	</entry>
	<entry>
		<id>https://wiki.mobeleader.com/index.php?title=SDKs:NickCenter:Cordova:index&amp;diff=2311</id>
		<title>SDKs:NickCenter:Cordova:index</title>
		<link rel="alternate" type="text/html" href="https://wiki.mobeleader.com/index.php?title=SDKs:NickCenter:Cordova:index&amp;diff=2311"/>
		<updated>2018-10-15T17:02:52Z</updated>

		<summary type="html">&lt;p&gt;Asier: /* CallBacks: */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= CÓMO AGREGAR EL PLUGIN NICKCENTER EN CORDOVA =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{:SDKs:NickCenter:Intro}}&lt;br /&gt;
&lt;br /&gt;
== VERSIONES SOPORTADAS ==&lt;br /&gt;
&lt;br /&gt;
Este Plugin soporta tanto Android como iOS. &lt;br /&gt;
&lt;br /&gt;
Para iOS soporta las versiones superiores a las &amp;lt;b&amp;gt;10.0&amp;lt;/b&amp;gt;, en caso de que detecte una versión inferior no se lanzará.&lt;br /&gt;
&lt;br /&gt;
Para Android soporta todas las versiones superiores a la &amp;lt;b&amp;gt;4.0&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{:SDKs:NickCenter:PanelControl}}&lt;br /&gt;
&lt;br /&gt;
== PASOS A REALIZAR PARA LA INTALACIÓN DEL PLUGIN ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== INSTALACIÓN: ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Para instalar el Plugin, si queremos que funcione en iOS, primero tendremos que instalar el plugin cordova-plugin-cocoapod-support, de la siguiente manera:&lt;br /&gt;
      cordova plugin add cordova-plugin-cocoapod-support&lt;br /&gt;
y después instalar el plugin de Nickcenter de esta manera (si solo lo vamos a usar para android con este plugin es suficiente):&lt;br /&gt;
      cordova plugin add cordova-plugin-nickcenter&lt;br /&gt;
&lt;br /&gt;
Una vez ejecutados los dos comandos ya tendremos el plugin instalado.&lt;br /&gt;
&lt;br /&gt;
=== LANZAMIENTO: ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Una vez configurada la instalación, lanzaremos en el momento donde queramos el código, por ejemplo para iOS:&lt;br /&gt;
&lt;br /&gt;
       cordova.exec(successNickCenterCallback, errorNickCenterCallback,  &amp;quot;nickcenter&amp;quot;,  &amp;quot;launchNickCenter&amp;quot;, [&amp;quot;54e46801egh95&amp;quot;]);&lt;br /&gt;
&lt;br /&gt;
Y Para Android:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Los Argumentos enviados serán los siguientes:&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 1:&amp;lt;/b&amp;gt; Es el AppHash de la aplicación, el cual se puede obtener en el panel, como muestra la siguiente pantalla.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/Obtener_hash_app_14.png&lt;br /&gt;
&lt;br /&gt;
Por defecto las pantallas de &amp;lt;b&amp;gt;NickCenter&amp;lt;/b&amp;gt; presentan el siguiente formato:&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/nc_ios_default.jpeg&lt;br /&gt;
&lt;br /&gt;
Si desea modificar las pantallas para que sean lo más parecidas a su aplicación &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;NickCenter&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; deberá añadir más argumentos, en el siguiente orden (Estos Argumentos son completamente Opcionales) (Todos los colores deben ir en hexadecimal):&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 2:&amp;lt;/b&amp;gt; Determina el color de fondo de las pantallas. Ejemplo: &amp;quot;#ffffff&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 3:&amp;lt;/b&amp;gt; Determina el color de fondo de la cabecera de las pantallas. Ejemplo: &amp;quot;#f0f0f0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 4:&amp;lt;/b&amp;gt; Determina el color de la linea que separa la cabecera con el resto de la pantalla. Ejemplo: &amp;quot;#01e3fe&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 5:&amp;lt;/b&amp;gt; Determina el color del texto de la cabecera de las pantallas. Ejemplo: &amp;quot;#7b7b7b&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 6:&amp;lt;/b&amp;gt; Determina el color de fondo de los textfields donde se ubican los campos de cada pantalla. Ejemplo: &amp;quot;#ebebeb&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 7:&amp;lt;/b&amp;gt; Determina el color del texto descriptivo de cada textfield. Ejemplo: &amp;quot;#7b7b7b&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 8:&amp;lt;/b&amp;gt; Determina el color del texto de los textfields donde se ubican los campos de cada pantalla. Ejemplo: &amp;quot;#7b7b7b&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 9:&amp;lt;/b&amp;gt; Determina el color de fondo de los botones de cada pantalla. Ejemplo: &amp;quot;#7b7b7b&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 10:&amp;lt;/b&amp;gt; Determina el color de fondo de los botones de cada pantalla cuando se ha hecho click en éstos. Ejemplo: &amp;quot;#000000&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 11:&amp;lt;/b&amp;gt; Determina el color del texto de cada boton cuando no se ha hecho click en éstos. Ejemplo: &amp;quot;#01e3fe&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 12:&amp;lt;/b&amp;gt; Determina el color del texto de cada botón cuando se ha hecho click en éstos. Ejemplo: &amp;quot;#01e3fe&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 13:&amp;lt;/b&amp;gt; Determina el color del borde de los botones. Ejemplo: &amp;quot;#01e3fe&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 14:&amp;lt;/b&amp;gt; Determina el color de la fuente de los textos de los terminos y condiciones. Ejemplo: &amp;quot;#000000&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 15: (Solo para iOS)&amp;lt;/b&amp;gt; Determina el color de los botones activos en los términos y condiciones. Ejemplo: &amp;quot;#01e3fe&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 16: (Solo para iOS)&amp;lt;/b&amp;gt; Determina el color de los botones inactivos en los términos y condiciones. Ejemplo: &amp;quot;#f0f0f0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A continuación se expone un ejemplo en el que se maqueta a gusto del desarrollador las pantallas de &amp;lt;b&amp;gt;NickCenter&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
     cordova.exec(successNickCenterCallback, errorNickCenterCallback,  &amp;quot;nickcenter&amp;quot;,  &amp;quot;launchNickCenter&amp;quot;, [&amp;quot;54e46801eda63&amp;quot;, &amp;quot;#ffffff&amp;quot;, &amp;quot;#f0f0f0&amp;quot;, &amp;quot;#01e3fe&amp;quot;, &amp;quot;#7b7b7b&amp;quot;, &amp;quot;#ebebeb&amp;quot;, &amp;quot;#7b7b7b&amp;quot;, &amp;quot;#7b7b7b&amp;quot;, &amp;quot;#7b7b7b&amp;quot;, &amp;quot;#000000&amp;quot;, &amp;quot;#01e3fe&amp;quot;, &amp;quot;#01e3fe&amp;quot;, &amp;quot;#01e3fe&amp;quot;, &amp;quot;#000000&amp;quot;, &amp;quot;#01e3fe&amp;quot;, &amp;quot;#f0f0f0&amp;quot;]);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/nc_cordova_colores.png&lt;br /&gt;
&lt;br /&gt;
=== COMPLETAR REGISTRO: ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Una vez un usuario haya sido registrado en una de nuestras aplicaciones, cuando otra lance NickCenter, dicho usuario tan soló debera &amp;lt;b&amp;gt;logearse&amp;lt;/b&amp;gt; sin necesidad de tener que registrarse otra vez para ésta última aplicación. Se puede dar el caso de que al registrarte en la primera aplicación tán solo fuera necesario &amp;lt;b&amp;gt;email y contraseña&amp;lt;/b&amp;gt;, y que para la segunda aplicación fuera necesario registrarse con el &amp;lt;b&amp;gt;telefono&amp;lt;/b&amp;gt;, cuando este tipo de casos se den, al logearte en la segunda aplicación se abrirá una nueva vista para completar el registro. Una vez completado dicho registro se tratará como un login normal.&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/nc_ios_completar.jpeg&lt;br /&gt;
&lt;br /&gt;
=== FUNCIONES UTILES: ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;NickCenter&amp;lt;/b&amp;gt; está dotada de una función que permite al desarrollador cerrar la sesión ya iniciada por el usuario de manera que la siguiente vez que abra la aplicación y pase por donde se lanza la librería, el usuario deba volver a loguearse. Dicha funcion es :&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;closeSession&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ejemplo para iOS:&lt;br /&gt;
    cordova.exec(successNickCenterCallback, errorNickCenterCallback,  &amp;quot;nickcenter&amp;quot;,  &amp;quot;closeNickCenterSession&amp;quot;, [&amp;quot;54e46801eda63&amp;quot;]); &lt;br /&gt;
&lt;br /&gt;
Ejemplo para Android:&lt;br /&gt;
    FALTA ANDROID&lt;br /&gt;
&lt;br /&gt;
=== CallBacks: ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;NickCenter&amp;lt;/b&amp;gt; cuenta con una serie de callbacks los cuales se pueden recoger en en las funciones implementadas successNickCenterCallback y errorNickCenterCallback que permiten al desarrollador saber qué parte del plugin se esta ejecutando y cuál es su resultado. A continuación se expondrán éstos y para que sirven.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onRegisterViewOpened&amp;lt;/b&amp;gt;: Notifica cuando la vista de registro se ha lanzado.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onLoginViewOpened&amp;lt;/b&amp;gt;: Notifica cuando la vista del login se ha lanzado.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onRescueViewOpened&amp;lt;/b&amp;gt;: Notifica cuando la vista de recuperación de contraseña se ha lanzado.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onError:(NSString *)error&amp;lt;/b&amp;gt;: Notificará cuando haya habido un error, normalmente se lanzará cuando el registro o el login hayan sido incorrectos, o cuando al recuperar la contraseña el email sea incorrecto. Se puede dar el caso de que de otro tipo de error como bien puede ser al conectarnos al sevidor.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onWarning:(NSString *)warning&amp;lt;/b&amp;gt;: Notificará de alguna advertencia al desarrollador.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onFinished&amp;lt;/b&amp;gt;: Notificará cuando la librería haya finalizado algun proceso. Inicio de sesión, registro o recuperación de contraseña correcto.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onSessionClosed&amp;lt;/b&amp;gt;: Notificará cuando se haya cerrado la sesión de NickCenter.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onActive&amp;lt;/b&amp;gt;: Notificará cuando detecte que NickCenter esta activa para la aplicación.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onInactive&amp;lt;/b&amp;gt;: Notificará cuando detecte que NickCenter esta inactiva para la aplicación.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onRegisterRegisterButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de registrarse en la vista de registro de usuario.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onRegisterLoginButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de inicio de sesión en la vista de registro de usuario.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onRegisterCloseButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de cerrar en la vista de registro de usuario.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onRegisterPerformed:(NCUser \&amp;lt;i&amp;gt;) user dictionary:(NSMutableDictionary \&amp;lt;/i&amp;gt;) userDictionary&amp;lt;/b&amp;gt;:&amp;lt;/b&amp;gt;: Notificará cuando haya habido un registro correcto.Se mandará la información recogida del usuario tanto en formato NCUser como en formato NSMutableDictionary.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onLoginPerformed:(NCUser \&amp;lt;i&amp;gt;) user dictionary:(NSMutableDictionary \&amp;lt;/i&amp;gt;) userDictionary&amp;lt;/b&amp;gt;: Notificará cuando haya habido un registro o un login correcto. Se mandará la información recogida del usuario tanto en formato NCUser como en formato NSMutableDictionary.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onLoginLoginButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de inicio de sesión en la vista de inicio de sesión.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onLoginRegisterButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de registrarse en la vista de inicio de sesión.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onLoginRescueButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de recuperar contraseña en la vista de inicio de sesión.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onLoginCloseButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de cerrar en la vista de inicio de sesión.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onRescueRescueButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de recuperar contraseña en la vista de recuperar contraseña.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onRescueCloseButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de cerrar en la vista de recuperar contraseña.&lt;/div&gt;</summary>
		<author><name>Asier</name></author>
	</entry>
	<entry>
		<id>https://wiki.mobeleader.com/index.php?title=SDKs:NickCenter:Cordova:index&amp;diff=2310</id>
		<title>SDKs:NickCenter:Cordova:index</title>
		<link rel="alternate" type="text/html" href="https://wiki.mobeleader.com/index.php?title=SDKs:NickCenter:Cordova:index&amp;diff=2310"/>
		<updated>2018-10-15T17:02:27Z</updated>

		<summary type="html">&lt;p&gt;Asier: /* CallBacks: */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= CÓMO AGREGAR EL PLUGIN NICKCENTER EN CORDOVA =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{:SDKs:NickCenter:Intro}}&lt;br /&gt;
&lt;br /&gt;
== VERSIONES SOPORTADAS ==&lt;br /&gt;
&lt;br /&gt;
Este Plugin soporta tanto Android como iOS. &lt;br /&gt;
&lt;br /&gt;
Para iOS soporta las versiones superiores a las &amp;lt;b&amp;gt;10.0&amp;lt;/b&amp;gt;, en caso de que detecte una versión inferior no se lanzará.&lt;br /&gt;
&lt;br /&gt;
Para Android soporta todas las versiones superiores a la &amp;lt;b&amp;gt;4.0&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{:SDKs:NickCenter:PanelControl}}&lt;br /&gt;
&lt;br /&gt;
== PASOS A REALIZAR PARA LA INTALACIÓN DEL PLUGIN ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== INSTALACIÓN: ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Para instalar el Plugin, si queremos que funcione en iOS, primero tendremos que instalar el plugin cordova-plugin-cocoapod-support, de la siguiente manera:&lt;br /&gt;
      cordova plugin add cordova-plugin-cocoapod-support&lt;br /&gt;
y después instalar el plugin de Nickcenter de esta manera (si solo lo vamos a usar para android con este plugin es suficiente):&lt;br /&gt;
      cordova plugin add cordova-plugin-nickcenter&lt;br /&gt;
&lt;br /&gt;
Una vez ejecutados los dos comandos ya tendremos el plugin instalado.&lt;br /&gt;
&lt;br /&gt;
=== LANZAMIENTO: ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Una vez configurada la instalación, lanzaremos en el momento donde queramos el código, por ejemplo para iOS:&lt;br /&gt;
&lt;br /&gt;
       cordova.exec(successNickCenterCallback, errorNickCenterCallback,  &amp;quot;nickcenter&amp;quot;,  &amp;quot;launchNickCenter&amp;quot;, [&amp;quot;54e46801egh95&amp;quot;]);&lt;br /&gt;
&lt;br /&gt;
Y Para Android:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Los Argumentos enviados serán los siguientes:&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 1:&amp;lt;/b&amp;gt; Es el AppHash de la aplicación, el cual se puede obtener en el panel, como muestra la siguiente pantalla.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/Obtener_hash_app_14.png&lt;br /&gt;
&lt;br /&gt;
Por defecto las pantallas de &amp;lt;b&amp;gt;NickCenter&amp;lt;/b&amp;gt; presentan el siguiente formato:&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/nc_ios_default.jpeg&lt;br /&gt;
&lt;br /&gt;
Si desea modificar las pantallas para que sean lo más parecidas a su aplicación &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;NickCenter&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; deberá añadir más argumentos, en el siguiente orden (Estos Argumentos son completamente Opcionales) (Todos los colores deben ir en hexadecimal):&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 2:&amp;lt;/b&amp;gt; Determina el color de fondo de las pantallas. Ejemplo: &amp;quot;#ffffff&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 3:&amp;lt;/b&amp;gt; Determina el color de fondo de la cabecera de las pantallas. Ejemplo: &amp;quot;#f0f0f0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 4:&amp;lt;/b&amp;gt; Determina el color de la linea que separa la cabecera con el resto de la pantalla. Ejemplo: &amp;quot;#01e3fe&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 5:&amp;lt;/b&amp;gt; Determina el color del texto de la cabecera de las pantallas. Ejemplo: &amp;quot;#7b7b7b&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 6:&amp;lt;/b&amp;gt; Determina el color de fondo de los textfields donde se ubican los campos de cada pantalla. Ejemplo: &amp;quot;#ebebeb&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 7:&amp;lt;/b&amp;gt; Determina el color del texto descriptivo de cada textfield. Ejemplo: &amp;quot;#7b7b7b&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 8:&amp;lt;/b&amp;gt; Determina el color del texto de los textfields donde se ubican los campos de cada pantalla. Ejemplo: &amp;quot;#7b7b7b&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 9:&amp;lt;/b&amp;gt; Determina el color de fondo de los botones de cada pantalla. Ejemplo: &amp;quot;#7b7b7b&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 10:&amp;lt;/b&amp;gt; Determina el color de fondo de los botones de cada pantalla cuando se ha hecho click en éstos. Ejemplo: &amp;quot;#000000&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 11:&amp;lt;/b&amp;gt; Determina el color del texto de cada boton cuando no se ha hecho click en éstos. Ejemplo: &amp;quot;#01e3fe&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 12:&amp;lt;/b&amp;gt; Determina el color del texto de cada botón cuando se ha hecho click en éstos. Ejemplo: &amp;quot;#01e3fe&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 13:&amp;lt;/b&amp;gt; Determina el color del borde de los botones. Ejemplo: &amp;quot;#01e3fe&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 14:&amp;lt;/b&amp;gt; Determina el color de la fuente de los textos de los terminos y condiciones. Ejemplo: &amp;quot;#000000&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 15: (Solo para iOS)&amp;lt;/b&amp;gt; Determina el color de los botones activos en los términos y condiciones. Ejemplo: &amp;quot;#01e3fe&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 16: (Solo para iOS)&amp;lt;/b&amp;gt; Determina el color de los botones inactivos en los términos y condiciones. Ejemplo: &amp;quot;#f0f0f0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A continuación se expone un ejemplo en el que se maqueta a gusto del desarrollador las pantallas de &amp;lt;b&amp;gt;NickCenter&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
     cordova.exec(successNickCenterCallback, errorNickCenterCallback,  &amp;quot;nickcenter&amp;quot;,  &amp;quot;launchNickCenter&amp;quot;, [&amp;quot;54e46801eda63&amp;quot;, &amp;quot;#ffffff&amp;quot;, &amp;quot;#f0f0f0&amp;quot;, &amp;quot;#01e3fe&amp;quot;, &amp;quot;#7b7b7b&amp;quot;, &amp;quot;#ebebeb&amp;quot;, &amp;quot;#7b7b7b&amp;quot;, &amp;quot;#7b7b7b&amp;quot;, &amp;quot;#7b7b7b&amp;quot;, &amp;quot;#000000&amp;quot;, &amp;quot;#01e3fe&amp;quot;, &amp;quot;#01e3fe&amp;quot;, &amp;quot;#01e3fe&amp;quot;, &amp;quot;#000000&amp;quot;, &amp;quot;#01e3fe&amp;quot;, &amp;quot;#f0f0f0&amp;quot;]);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/nc_cordova_colores.png&lt;br /&gt;
&lt;br /&gt;
=== COMPLETAR REGISTRO: ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Una vez un usuario haya sido registrado en una de nuestras aplicaciones, cuando otra lance NickCenter, dicho usuario tan soló debera &amp;lt;b&amp;gt;logearse&amp;lt;/b&amp;gt; sin necesidad de tener que registrarse otra vez para ésta última aplicación. Se puede dar el caso de que al registrarte en la primera aplicación tán solo fuera necesario &amp;lt;b&amp;gt;email y contraseña&amp;lt;/b&amp;gt;, y que para la segunda aplicación fuera necesario registrarse con el &amp;lt;b&amp;gt;telefono&amp;lt;/b&amp;gt;, cuando este tipo de casos se den, al logearte en la segunda aplicación se abrirá una nueva vista para completar el registro. Una vez completado dicho registro se tratará como un login normal.&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/nc_ios_completar.jpeg&lt;br /&gt;
&lt;br /&gt;
=== FUNCIONES UTILES: ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;NickCenter&amp;lt;/b&amp;gt; está dotada de una función que permite al desarrollador cerrar la sesión ya iniciada por el usuario de manera que la siguiente vez que abra la aplicación y pase por donde se lanza la librería, el usuario deba volver a loguearse. Dicha funcion es :&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;closeSession&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ejemplo para iOS:&lt;br /&gt;
    cordova.exec(successNickCenterCallback, errorNickCenterCallback,  &amp;quot;nickcenter&amp;quot;,  &amp;quot;closeNickCenterSession&amp;quot;, [&amp;quot;54e46801eda63&amp;quot;]); &lt;br /&gt;
&lt;br /&gt;
Ejemplo para Android:&lt;br /&gt;
    FALTA ANDROID&lt;br /&gt;
&lt;br /&gt;
=== CallBacks: ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;NickCenter&amp;lt;/b&amp;gt; cuenta con una serie de callbacks los cuales se pueden recoger en en las funciones implementadas successNickCenterCallback y errorNickCenterCallback que permiten al desarrollador saber qué parte del plugin se esta ejecutando y cuál es su resultado. A continuación se expondrán éstos y para que sirven.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onRegisterViewOpened&amp;lt;/b&amp;gt;: Notifica cuando la vista de registro se ha lanzado.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onLoginViewOpened&amp;lt;/b&amp;gt;: Notifica cuando la vista del login se ha lanzado.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onRescueViewOpened&amp;lt;/b&amp;gt;: Notifica cuando la vista de recuperación de contraseña se ha lanzado.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onError:(NSString \*)error&amp;lt;/b&amp;gt;: Notificará cuando haya habido un error, normalmente se lanzará cuando el registro o el login hayan sido incorrectos, o cuando al recuperar la contraseña el email sea incorrecto. Se puede dar el caso de que de otro tipo de error como bien puede ser al conectarnos al sevidor.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onWarning:(NSString \*)warning&amp;lt;/b&amp;gt;: Notificará de alguna advertencia al desarrollador.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onFinished&amp;lt;/b&amp;gt;: Notificará cuando la librería haya finalizado algun proceso. Inicio de sesión, registro o recuperación de contraseña correcto.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onSessionClosed&amp;lt;/b&amp;gt;: Notificará cuando se haya cerrado la sesión de NickCenter.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onActive&amp;lt;/b&amp;gt;: Notificará cuando detecte que NickCenter esta activa para la aplicación.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onInactive&amp;lt;/b&amp;gt;: Notificará cuando detecte que NickCenter esta inactiva para la aplicación.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onRegisterRegisterButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de registrarse en la vista de registro de usuario.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onRegisterLoginButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de inicio de sesión en la vista de registro de usuario.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onRegisterCloseButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de cerrar en la vista de registro de usuario.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onRegisterPerformed:(NCUser \&amp;lt;i&amp;gt;) user dictionary:(NSMutableDictionary \&amp;lt;/i&amp;gt;) userDictionary&amp;lt;/b&amp;gt;:&amp;lt;/b&amp;gt;: Notificará cuando haya habido un registro correcto.Se mandará la información recogida del usuario tanto en formato NCUser como en formato NSMutableDictionary.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onLoginPerformed:(NCUser \&amp;lt;i&amp;gt;) user dictionary:(NSMutableDictionary \&amp;lt;/i&amp;gt;) userDictionary&amp;lt;/b&amp;gt;: Notificará cuando haya habido un registro o un login correcto. Se mandará la información recogida del usuario tanto en formato NCUser como en formato NSMutableDictionary.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onLoginLoginButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de inicio de sesión en la vista de inicio de sesión.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onLoginRegisterButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de registrarse en la vista de inicio de sesión.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onLoginRescueButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de recuperar contraseña en la vista de inicio de sesión.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onLoginCloseButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de cerrar en la vista de inicio de sesión.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onRescueRescueButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de recuperar contraseña en la vista de recuperar contraseña.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onRescueCloseButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de cerrar en la vista de recuperar contraseña.&lt;/div&gt;</summary>
		<author><name>Asier</name></author>
	</entry>
	<entry>
		<id>https://wiki.mobeleader.com/index.php?title=SDKs:NickCenter:Cordova:index&amp;diff=2309</id>
		<title>SDKs:NickCenter:Cordova:index</title>
		<link rel="alternate" type="text/html" href="https://wiki.mobeleader.com/index.php?title=SDKs:NickCenter:Cordova:index&amp;diff=2309"/>
		<updated>2018-10-15T17:02:11Z</updated>

		<summary type="html">&lt;p&gt;Asier: /* FUNCIONES UTILES: */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= CÓMO AGREGAR EL PLUGIN NICKCENTER EN CORDOVA =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{:SDKs:NickCenter:Intro}}&lt;br /&gt;
&lt;br /&gt;
== VERSIONES SOPORTADAS ==&lt;br /&gt;
&lt;br /&gt;
Este Plugin soporta tanto Android como iOS. &lt;br /&gt;
&lt;br /&gt;
Para iOS soporta las versiones superiores a las &amp;lt;b&amp;gt;10.0&amp;lt;/b&amp;gt;, en caso de que detecte una versión inferior no se lanzará.&lt;br /&gt;
&lt;br /&gt;
Para Android soporta todas las versiones superiores a la &amp;lt;b&amp;gt;4.0&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{:SDKs:NickCenter:PanelControl}}&lt;br /&gt;
&lt;br /&gt;
== PASOS A REALIZAR PARA LA INTALACIÓN DEL PLUGIN ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== INSTALACIÓN: ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Para instalar el Plugin, si queremos que funcione en iOS, primero tendremos que instalar el plugin cordova-plugin-cocoapod-support, de la siguiente manera:&lt;br /&gt;
      cordova plugin add cordova-plugin-cocoapod-support&lt;br /&gt;
y después instalar el plugin de Nickcenter de esta manera (si solo lo vamos a usar para android con este plugin es suficiente):&lt;br /&gt;
      cordova plugin add cordova-plugin-nickcenter&lt;br /&gt;
&lt;br /&gt;
Una vez ejecutados los dos comandos ya tendremos el plugin instalado.&lt;br /&gt;
&lt;br /&gt;
=== LANZAMIENTO: ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Una vez configurada la instalación, lanzaremos en el momento donde queramos el código, por ejemplo para iOS:&lt;br /&gt;
&lt;br /&gt;
       cordova.exec(successNickCenterCallback, errorNickCenterCallback,  &amp;quot;nickcenter&amp;quot;,  &amp;quot;launchNickCenter&amp;quot;, [&amp;quot;54e46801egh95&amp;quot;]);&lt;br /&gt;
&lt;br /&gt;
Y Para Android:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Los Argumentos enviados serán los siguientes:&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 1:&amp;lt;/b&amp;gt; Es el AppHash de la aplicación, el cual se puede obtener en el panel, como muestra la siguiente pantalla.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/Obtener_hash_app_14.png&lt;br /&gt;
&lt;br /&gt;
Por defecto las pantallas de &amp;lt;b&amp;gt;NickCenter&amp;lt;/b&amp;gt; presentan el siguiente formato:&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/nc_ios_default.jpeg&lt;br /&gt;
&lt;br /&gt;
Si desea modificar las pantallas para que sean lo más parecidas a su aplicación &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;NickCenter&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; deberá añadir más argumentos, en el siguiente orden (Estos Argumentos son completamente Opcionales) (Todos los colores deben ir en hexadecimal):&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 2:&amp;lt;/b&amp;gt; Determina el color de fondo de las pantallas. Ejemplo: &amp;quot;#ffffff&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 3:&amp;lt;/b&amp;gt; Determina el color de fondo de la cabecera de las pantallas. Ejemplo: &amp;quot;#f0f0f0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 4:&amp;lt;/b&amp;gt; Determina el color de la linea que separa la cabecera con el resto de la pantalla. Ejemplo: &amp;quot;#01e3fe&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 5:&amp;lt;/b&amp;gt; Determina el color del texto de la cabecera de las pantallas. Ejemplo: &amp;quot;#7b7b7b&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 6:&amp;lt;/b&amp;gt; Determina el color de fondo de los textfields donde se ubican los campos de cada pantalla. Ejemplo: &amp;quot;#ebebeb&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 7:&amp;lt;/b&amp;gt; Determina el color del texto descriptivo de cada textfield. Ejemplo: &amp;quot;#7b7b7b&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 8:&amp;lt;/b&amp;gt; Determina el color del texto de los textfields donde se ubican los campos de cada pantalla. Ejemplo: &amp;quot;#7b7b7b&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 9:&amp;lt;/b&amp;gt; Determina el color de fondo de los botones de cada pantalla. Ejemplo: &amp;quot;#7b7b7b&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 10:&amp;lt;/b&amp;gt; Determina el color de fondo de los botones de cada pantalla cuando se ha hecho click en éstos. Ejemplo: &amp;quot;#000000&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 11:&amp;lt;/b&amp;gt; Determina el color del texto de cada boton cuando no se ha hecho click en éstos. Ejemplo: &amp;quot;#01e3fe&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 12:&amp;lt;/b&amp;gt; Determina el color del texto de cada botón cuando se ha hecho click en éstos. Ejemplo: &amp;quot;#01e3fe&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 13:&amp;lt;/b&amp;gt; Determina el color del borde de los botones. Ejemplo: &amp;quot;#01e3fe&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 14:&amp;lt;/b&amp;gt; Determina el color de la fuente de los textos de los terminos y condiciones. Ejemplo: &amp;quot;#000000&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 15: (Solo para iOS)&amp;lt;/b&amp;gt; Determina el color de los botones activos en los términos y condiciones. Ejemplo: &amp;quot;#01e3fe&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 16: (Solo para iOS)&amp;lt;/b&amp;gt; Determina el color de los botones inactivos en los términos y condiciones. Ejemplo: &amp;quot;#f0f0f0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A continuación se expone un ejemplo en el que se maqueta a gusto del desarrollador las pantallas de &amp;lt;b&amp;gt;NickCenter&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
     cordova.exec(successNickCenterCallback, errorNickCenterCallback,  &amp;quot;nickcenter&amp;quot;,  &amp;quot;launchNickCenter&amp;quot;, [&amp;quot;54e46801eda63&amp;quot;, &amp;quot;#ffffff&amp;quot;, &amp;quot;#f0f0f0&amp;quot;, &amp;quot;#01e3fe&amp;quot;, &amp;quot;#7b7b7b&amp;quot;, &amp;quot;#ebebeb&amp;quot;, &amp;quot;#7b7b7b&amp;quot;, &amp;quot;#7b7b7b&amp;quot;, &amp;quot;#7b7b7b&amp;quot;, &amp;quot;#000000&amp;quot;, &amp;quot;#01e3fe&amp;quot;, &amp;quot;#01e3fe&amp;quot;, &amp;quot;#01e3fe&amp;quot;, &amp;quot;#000000&amp;quot;, &amp;quot;#01e3fe&amp;quot;, &amp;quot;#f0f0f0&amp;quot;]);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/nc_cordova_colores.png&lt;br /&gt;
&lt;br /&gt;
=== COMPLETAR REGISTRO: ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Una vez un usuario haya sido registrado en una de nuestras aplicaciones, cuando otra lance NickCenter, dicho usuario tan soló debera &amp;lt;b&amp;gt;logearse&amp;lt;/b&amp;gt; sin necesidad de tener que registrarse otra vez para ésta última aplicación. Se puede dar el caso de que al registrarte en la primera aplicación tán solo fuera necesario &amp;lt;b&amp;gt;email y contraseña&amp;lt;/b&amp;gt;, y que para la segunda aplicación fuera necesario registrarse con el &amp;lt;b&amp;gt;telefono&amp;lt;/b&amp;gt;, cuando este tipo de casos se den, al logearte en la segunda aplicación se abrirá una nueva vista para completar el registro. Una vez completado dicho registro se tratará como un login normal.&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/nc_ios_completar.jpeg&lt;br /&gt;
&lt;br /&gt;
=== FUNCIONES UTILES: ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;NickCenter&amp;lt;/b&amp;gt; está dotada de una función que permite al desarrollador cerrar la sesión ya iniciada por el usuario de manera que la siguiente vez que abra la aplicación y pase por donde se lanza la librería, el usuario deba volver a loguearse. Dicha funcion es :&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;closeSession&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ejemplo para iOS:&lt;br /&gt;
    cordova.exec(successNickCenterCallback, errorNickCenterCallback,  &amp;quot;nickcenter&amp;quot;,  &amp;quot;closeNickCenterSession&amp;quot;, [&amp;quot;54e46801eda63&amp;quot;]); &lt;br /&gt;
&lt;br /&gt;
Ejemplo para Android:&lt;br /&gt;
    FALTA ANDROID&lt;br /&gt;
&lt;br /&gt;
=== CallBacks: ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;NickCenter&amp;lt;/b&amp;gt; cuenta con una serie de callbacks los cuales se pueden recoger en en las funciones implementadas successNickCenterCallback y errorNickCenterCallback que permiten al desarrollador saber qué parte del plugin se esta ejecutando y cuál es su resultado. A continuación se expondrán éstos y para que sirven.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onRegisterViewOpened&amp;lt;/b&amp;gt;: Notifica cuando la vista de registro se ha lanzado.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onLoginViewOpened&amp;lt;/b&amp;gt;: Notifica cuando la vista del login se ha lanzado.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onRescueViewOpened&amp;lt;/b&amp;gt;: Notifica cuando la vista de recuperación de contraseña se ha lanzado.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onError:(NSString \*)error&amp;lt;/b&amp;gt;: Notificará cuando haya habido un error, normalmente se lanzará cuando el registro o el login hayan sido incorrectos, o cuando al recuperar la contraseña el email sea incorrecto. Se puede dar el caso de que de otro tipo de error como bien puede ser al conectarnos al sevidor.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onWarning:(NSString \*)warning&amp;lt;/b&amp;gt;: Notificará de alguna advertencia al desarrollador.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onFinished&amp;lt;/b&amp;gt;: Notificará cuando la librería haya finalizado algun proceso. Inicio de sesión, registro o recuperación de contraseña correcto.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onSessionClosed&amp;lt;/b&amp;gt;: Notificará cuando se haya cerrado la sesión de NickCenter.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onActive&amp;lt;/b&amp;gt;: Notificará cuando detecte que NickCenter esta activa para la aplicación.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onInactive&amp;lt;/b&amp;gt;: Notificará cuando detecte que NickCenter esta inactiva para la aplicación.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onRegisterRegisterButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de registrarse en la vista de registro de usuario.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onRegisterLoginButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de inicio de sesión en la vista de registro de usuario.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onRegisterCloseButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de cerrar en la vista de registro de usuario.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onRegisterPerformed:(NCUser \&amp;lt;i&amp;gt;) user dictionary:(NSMutableDictionary \&amp;lt;/i&amp;gt;) userDictionary&amp;lt;/b&amp;gt;:&amp;lt;/b&amp;gt;: Notificará cuando haya habido un registro correcto.Se mandará la información recogida del usuario tanto en formato NCUser como en formato NSMutableDictionary.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onLoginPerformed:(NCUser \&amp;lt;i&amp;gt;) user dictionary:(NSMutableDictionary \&amp;lt;/i&amp;gt;) userDictionary&amp;lt;/b&amp;gt;: Notificará cuando haya habido un registro o un login correcto. Se mandará la información recogida del usuario tanto en formato NCUser como en formato NSMutableDictionary.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onLoginLoginButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de inicio de sesión en la vista de inicio de sesión.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onLoginRegisterButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de registrarse en la vista de inicio de sesión.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onLoginRescueButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de recuperar contraseña en la vista de inicio de sesión.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onLoginCloseButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de cerrar en la vista de inicio de sesión.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onRescueRescueButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de recuperar contraseña en la vista de recuperar contraseña.&lt;br /&gt;
&lt;br /&gt;
- &amp;lt;b&amp;gt;onRescueCloseButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de cerrar en la vista de recuperar contraseña.&lt;/div&gt;</summary>
		<author><name>Asier</name></author>
	</entry>
	<entry>
		<id>https://wiki.mobeleader.com/index.php?title=SDKs:NickCenter:Cordova:index&amp;diff=2308</id>
		<title>SDKs:NickCenter:Cordova:index</title>
		<link rel="alternate" type="text/html" href="https://wiki.mobeleader.com/index.php?title=SDKs:NickCenter:Cordova:index&amp;diff=2308"/>
		<updated>2018-10-15T17:02:00Z</updated>

		<summary type="html">&lt;p&gt;Asier: /* FUNCIONES UTILES: */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= CÓMO AGREGAR EL PLUGIN NICKCENTER EN CORDOVA =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{:SDKs:NickCenter:Intro}}&lt;br /&gt;
&lt;br /&gt;
== VERSIONES SOPORTADAS ==&lt;br /&gt;
&lt;br /&gt;
Este Plugin soporta tanto Android como iOS. &lt;br /&gt;
&lt;br /&gt;
Para iOS soporta las versiones superiores a las &amp;lt;b&amp;gt;10.0&amp;lt;/b&amp;gt;, en caso de que detecte una versión inferior no se lanzará.&lt;br /&gt;
&lt;br /&gt;
Para Android soporta todas las versiones superiores a la &amp;lt;b&amp;gt;4.0&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{:SDKs:NickCenter:PanelControl}}&lt;br /&gt;
&lt;br /&gt;
== PASOS A REALIZAR PARA LA INTALACIÓN DEL PLUGIN ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== INSTALACIÓN: ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Para instalar el Plugin, si queremos que funcione en iOS, primero tendremos que instalar el plugin cordova-plugin-cocoapod-support, de la siguiente manera:&lt;br /&gt;
      cordova plugin add cordova-plugin-cocoapod-support&lt;br /&gt;
y después instalar el plugin de Nickcenter de esta manera (si solo lo vamos a usar para android con este plugin es suficiente):&lt;br /&gt;
      cordova plugin add cordova-plugin-nickcenter&lt;br /&gt;
&lt;br /&gt;
Una vez ejecutados los dos comandos ya tendremos el plugin instalado.&lt;br /&gt;
&lt;br /&gt;
=== LANZAMIENTO: ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Una vez configurada la instalación, lanzaremos en el momento donde queramos el código, por ejemplo para iOS:&lt;br /&gt;
&lt;br /&gt;
       cordova.exec(successNickCenterCallback, errorNickCenterCallback,  &amp;quot;nickcenter&amp;quot;,  &amp;quot;launchNickCenter&amp;quot;, [&amp;quot;54e46801egh95&amp;quot;]);&lt;br /&gt;
&lt;br /&gt;
Y Para Android:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Los Argumentos enviados serán los siguientes:&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 1:&amp;lt;/b&amp;gt; Es el AppHash de la aplicación, el cual se puede obtener en el panel, como muestra la siguiente pantalla.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/Obtener_hash_app_14.png&lt;br /&gt;
&lt;br /&gt;
Por defecto las pantallas de &amp;lt;b&amp;gt;NickCenter&amp;lt;/b&amp;gt; presentan el siguiente formato:&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/nc_ios_default.jpeg&lt;br /&gt;
&lt;br /&gt;
Si desea modificar las pantallas para que sean lo más parecidas a su aplicación &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;NickCenter&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; deberá añadir más argumentos, en el siguiente orden (Estos Argumentos son completamente Opcionales) (Todos los colores deben ir en hexadecimal):&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 2:&amp;lt;/b&amp;gt; Determina el color de fondo de las pantallas. Ejemplo: &amp;quot;#ffffff&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 3:&amp;lt;/b&amp;gt; Determina el color de fondo de la cabecera de las pantallas. Ejemplo: &amp;quot;#f0f0f0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 4:&amp;lt;/b&amp;gt; Determina el color de la linea que separa la cabecera con el resto de la pantalla. Ejemplo: &amp;quot;#01e3fe&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 5:&amp;lt;/b&amp;gt; Determina el color del texto de la cabecera de las pantallas. Ejemplo: &amp;quot;#7b7b7b&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 6:&amp;lt;/b&amp;gt; Determina el color de fondo de los textfields donde se ubican los campos de cada pantalla. Ejemplo: &amp;quot;#ebebeb&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 7:&amp;lt;/b&amp;gt; Determina el color del texto descriptivo de cada textfield. Ejemplo: &amp;quot;#7b7b7b&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 8:&amp;lt;/b&amp;gt; Determina el color del texto de los textfields donde se ubican los campos de cada pantalla. Ejemplo: &amp;quot;#7b7b7b&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 9:&amp;lt;/b&amp;gt; Determina el color de fondo de los botones de cada pantalla. Ejemplo: &amp;quot;#7b7b7b&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 10:&amp;lt;/b&amp;gt; Determina el color de fondo de los botones de cada pantalla cuando se ha hecho click en éstos. Ejemplo: &amp;quot;#000000&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 11:&amp;lt;/b&amp;gt; Determina el color del texto de cada boton cuando no se ha hecho click en éstos. Ejemplo: &amp;quot;#01e3fe&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 12:&amp;lt;/b&amp;gt; Determina el color del texto de cada botón cuando se ha hecho click en éstos. Ejemplo: &amp;quot;#01e3fe&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 13:&amp;lt;/b&amp;gt; Determina el color del borde de los botones. Ejemplo: &amp;quot;#01e3fe&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 14:&amp;lt;/b&amp;gt; Determina el color de la fuente de los textos de los terminos y condiciones. Ejemplo: &amp;quot;#000000&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 15: (Solo para iOS)&amp;lt;/b&amp;gt; Determina el color de los botones activos en los términos y condiciones. Ejemplo: &amp;quot;#01e3fe&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 16: (Solo para iOS)&amp;lt;/b&amp;gt; Determina el color de los botones inactivos en los términos y condiciones. Ejemplo: &amp;quot;#f0f0f0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A continuación se expone un ejemplo en el que se maqueta a gusto del desarrollador las pantallas de &amp;lt;b&amp;gt;NickCenter&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
     cordova.exec(successNickCenterCallback, errorNickCenterCallback,  &amp;quot;nickcenter&amp;quot;,  &amp;quot;launchNickCenter&amp;quot;, [&amp;quot;54e46801eda63&amp;quot;, &amp;quot;#ffffff&amp;quot;, &amp;quot;#f0f0f0&amp;quot;, &amp;quot;#01e3fe&amp;quot;, &amp;quot;#7b7b7b&amp;quot;, &amp;quot;#ebebeb&amp;quot;, &amp;quot;#7b7b7b&amp;quot;, &amp;quot;#7b7b7b&amp;quot;, &amp;quot;#7b7b7b&amp;quot;, &amp;quot;#000000&amp;quot;, &amp;quot;#01e3fe&amp;quot;, &amp;quot;#01e3fe&amp;quot;, &amp;quot;#01e3fe&amp;quot;, &amp;quot;#000000&amp;quot;, &amp;quot;#01e3fe&amp;quot;, &amp;quot;#f0f0f0&amp;quot;]);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/nc_cordova_colores.png&lt;br /&gt;
&lt;br /&gt;
=== COMPLETAR REGISTRO: ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Una vez un usuario haya sido registrado en una de nuestras aplicaciones, cuando otra lance NickCenter, dicho usuario tan soló debera &amp;lt;b&amp;gt;logearse&amp;lt;/b&amp;gt; sin necesidad de tener que registrarse otra vez para ésta última aplicación. Se puede dar el caso de que al registrarte en la primera aplicación tán solo fuera necesario &amp;lt;b&amp;gt;email y contraseña&amp;lt;/b&amp;gt;, y que para la segunda aplicación fuera necesario registrarse con el &amp;lt;b&amp;gt;telefono&amp;lt;/b&amp;gt;, cuando este tipo de casos se den, al logearte en la segunda aplicación se abrirá una nueva vista para completar el registro. Una vez completado dicho registro se tratará como un login normal.&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/nc_ios_completar.jpeg&lt;br /&gt;
&lt;br /&gt;
=== FUNCIONES UTILES: ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;NickCenter&amp;lt;/b&amp;gt; está dotada de una función que permite al desarrollador cerrar la sesión ya iniciada por el usuario de manera que la siguiente vez que abra la aplicación y pase por donde se lanza la librería, el usuario deba volver a loguearse. Dicha funcion es :&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;closeSession&amp;lt;/b&amp;gt;: &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ejemplo para iOS:&lt;br /&gt;
    cordova.exec(successNickCenterCallback, errorNickCenterCallback,  &amp;quot;nickcenter&amp;quot;,  &amp;quot;closeNickCenterSession&amp;quot;, [&amp;quot;54e46801eda63&amp;quot;]); &lt;br /&gt;
&lt;br /&gt;
Ejemplo para Android:&lt;br /&gt;
    FALTA ANDROID&lt;br /&gt;
&lt;br /&gt;
=== CallBacks: ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;NickCenter&amp;lt;/b&amp;gt; cuenta con una serie de callbacks los cuales se pueden recoger en en las funciones implementadas successNickCenterCallback y errorNickCenterCallback que permiten al desarrollador saber qué parte del plugin se esta ejecutando y cuál es su resultado. A continuación se expondrán éstos y para que sirven.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onRegisterViewOpened&amp;lt;/b&amp;gt;: Notifica cuando la vista de registro se ha lanzado.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onLoginViewOpened&amp;lt;/b&amp;gt;: Notifica cuando la vista del login se ha lanzado.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onRescueViewOpened&amp;lt;/b&amp;gt;: Notifica cuando la vista de recuperación de contraseña se ha lanzado.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onError:(NSString \*)error&amp;lt;/b&amp;gt;: Notificará cuando haya habido un error, normalmente se lanzará cuando el registro o el login hayan sido incorrectos, o cuando al recuperar la contraseña el email sea incorrecto. Se puede dar el caso de que de otro tipo de error como bien puede ser al conectarnos al sevidor.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onWarning:(NSString \*)warning&amp;lt;/b&amp;gt;: Notificará de alguna advertencia al desarrollador.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onFinished&amp;lt;/b&amp;gt;: Notificará cuando la librería haya finalizado algun proceso. Inicio de sesión, registro o recuperación de contraseña correcto.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onSessionClosed&amp;lt;/b&amp;gt;: Notificará cuando se haya cerrado la sesión de NickCenter.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onActive&amp;lt;/b&amp;gt;: Notificará cuando detecte que NickCenter esta activa para la aplicación.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onInactive&amp;lt;/b&amp;gt;: Notificará cuando detecte que NickCenter esta inactiva para la aplicación.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onRegisterRegisterButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de registrarse en la vista de registro de usuario.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onRegisterLoginButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de inicio de sesión en la vista de registro de usuario.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onRegisterCloseButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de cerrar en la vista de registro de usuario.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onRegisterPerformed:(NCUser \&amp;lt;i&amp;gt;) user dictionary:(NSMutableDictionary \&amp;lt;/i&amp;gt;) userDictionary&amp;lt;/b&amp;gt;:&amp;lt;/b&amp;gt;: Notificará cuando haya habido un registro correcto.Se mandará la información recogida del usuario tanto en formato NCUser como en formato NSMutableDictionary.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onLoginPerformed:(NCUser \&amp;lt;i&amp;gt;) user dictionary:(NSMutableDictionary \&amp;lt;/i&amp;gt;) userDictionary&amp;lt;/b&amp;gt;: Notificará cuando haya habido un registro o un login correcto. Se mandará la información recogida del usuario tanto en formato NCUser como en formato NSMutableDictionary.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onLoginLoginButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de inicio de sesión en la vista de inicio de sesión.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onLoginRegisterButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de registrarse en la vista de inicio de sesión.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onLoginRescueButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de recuperar contraseña en la vista de inicio de sesión.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onLoginCloseButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de cerrar en la vista de inicio de sesión.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onRescueRescueButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de recuperar contraseña en la vista de recuperar contraseña.&lt;br /&gt;
&lt;br /&gt;
- &amp;lt;b&amp;gt;onRescueCloseButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de cerrar en la vista de recuperar contraseña.&lt;/div&gt;</summary>
		<author><name>Asier</name></author>
	</entry>
	<entry>
		<id>https://wiki.mobeleader.com/index.php?title=SDKs:NickCenter:Cordova:index&amp;diff=2307</id>
		<title>SDKs:NickCenter:Cordova:index</title>
		<link rel="alternate" type="text/html" href="https://wiki.mobeleader.com/index.php?title=SDKs:NickCenter:Cordova:index&amp;diff=2307"/>
		<updated>2018-10-15T17:00:55Z</updated>

		<summary type="html">&lt;p&gt;Asier: /* CallBacks: */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= CÓMO AGREGAR EL PLUGIN NICKCENTER EN CORDOVA =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{:SDKs:NickCenter:Intro}}&lt;br /&gt;
&lt;br /&gt;
== VERSIONES SOPORTADAS ==&lt;br /&gt;
&lt;br /&gt;
Este Plugin soporta tanto Android como iOS. &lt;br /&gt;
&lt;br /&gt;
Para iOS soporta las versiones superiores a las &amp;lt;b&amp;gt;10.0&amp;lt;/b&amp;gt;, en caso de que detecte una versión inferior no se lanzará.&lt;br /&gt;
&lt;br /&gt;
Para Android soporta todas las versiones superiores a la &amp;lt;b&amp;gt;4.0&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{:SDKs:NickCenter:PanelControl}}&lt;br /&gt;
&lt;br /&gt;
== PASOS A REALIZAR PARA LA INTALACIÓN DEL PLUGIN ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== INSTALACIÓN: ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Para instalar el Plugin, si queremos que funcione en iOS, primero tendremos que instalar el plugin cordova-plugin-cocoapod-support, de la siguiente manera:&lt;br /&gt;
      cordova plugin add cordova-plugin-cocoapod-support&lt;br /&gt;
y después instalar el plugin de Nickcenter de esta manera (si solo lo vamos a usar para android con este plugin es suficiente):&lt;br /&gt;
      cordova plugin add cordova-plugin-nickcenter&lt;br /&gt;
&lt;br /&gt;
Una vez ejecutados los dos comandos ya tendremos el plugin instalado.&lt;br /&gt;
&lt;br /&gt;
=== LANZAMIENTO: ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Una vez configurada la instalación, lanzaremos en el momento donde queramos el código, por ejemplo para iOS:&lt;br /&gt;
&lt;br /&gt;
       cordova.exec(successNickCenterCallback, errorNickCenterCallback,  &amp;quot;nickcenter&amp;quot;,  &amp;quot;launchNickCenter&amp;quot;, [&amp;quot;54e46801egh95&amp;quot;]);&lt;br /&gt;
&lt;br /&gt;
Y Para Android:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Los Argumentos enviados serán los siguientes:&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 1:&amp;lt;/b&amp;gt; Es el AppHash de la aplicación, el cual se puede obtener en el panel, como muestra la siguiente pantalla.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/Obtener_hash_app_14.png&lt;br /&gt;
&lt;br /&gt;
Por defecto las pantallas de &amp;lt;b&amp;gt;NickCenter&amp;lt;/b&amp;gt; presentan el siguiente formato:&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/nc_ios_default.jpeg&lt;br /&gt;
&lt;br /&gt;
Si desea modificar las pantallas para que sean lo más parecidas a su aplicación &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;NickCenter&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; deberá añadir más argumentos, en el siguiente orden (Estos Argumentos son completamente Opcionales) (Todos los colores deben ir en hexadecimal):&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 2:&amp;lt;/b&amp;gt; Determina el color de fondo de las pantallas. Ejemplo: &amp;quot;#ffffff&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 3:&amp;lt;/b&amp;gt; Determina el color de fondo de la cabecera de las pantallas. Ejemplo: &amp;quot;#f0f0f0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 4:&amp;lt;/b&amp;gt; Determina el color de la linea que separa la cabecera con el resto de la pantalla. Ejemplo: &amp;quot;#01e3fe&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 5:&amp;lt;/b&amp;gt; Determina el color del texto de la cabecera de las pantallas. Ejemplo: &amp;quot;#7b7b7b&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 6:&amp;lt;/b&amp;gt; Determina el color de fondo de los textfields donde se ubican los campos de cada pantalla. Ejemplo: &amp;quot;#ebebeb&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 7:&amp;lt;/b&amp;gt; Determina el color del texto descriptivo de cada textfield. Ejemplo: &amp;quot;#7b7b7b&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 8:&amp;lt;/b&amp;gt; Determina el color del texto de los textfields donde se ubican los campos de cada pantalla. Ejemplo: &amp;quot;#7b7b7b&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 9:&amp;lt;/b&amp;gt; Determina el color de fondo de los botones de cada pantalla. Ejemplo: &amp;quot;#7b7b7b&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 10:&amp;lt;/b&amp;gt; Determina el color de fondo de los botones de cada pantalla cuando se ha hecho click en éstos. Ejemplo: &amp;quot;#000000&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 11:&amp;lt;/b&amp;gt; Determina el color del texto de cada boton cuando no se ha hecho click en éstos. Ejemplo: &amp;quot;#01e3fe&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 12:&amp;lt;/b&amp;gt; Determina el color del texto de cada botón cuando se ha hecho click en éstos. Ejemplo: &amp;quot;#01e3fe&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 13:&amp;lt;/b&amp;gt; Determina el color del borde de los botones. Ejemplo: &amp;quot;#01e3fe&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 14:&amp;lt;/b&amp;gt; Determina el color de la fuente de los textos de los terminos y condiciones. Ejemplo: &amp;quot;#000000&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 15: (Solo para iOS)&amp;lt;/b&amp;gt; Determina el color de los botones activos en los términos y condiciones. Ejemplo: &amp;quot;#01e3fe&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 16: (Solo para iOS)&amp;lt;/b&amp;gt; Determina el color de los botones inactivos en los términos y condiciones. Ejemplo: &amp;quot;#f0f0f0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A continuación se expone un ejemplo en el que se maqueta a gusto del desarrollador las pantallas de &amp;lt;b&amp;gt;NickCenter&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
     cordova.exec(successNickCenterCallback, errorNickCenterCallback,  &amp;quot;nickcenter&amp;quot;,  &amp;quot;launchNickCenter&amp;quot;, [&amp;quot;54e46801eda63&amp;quot;, &amp;quot;#ffffff&amp;quot;, &amp;quot;#f0f0f0&amp;quot;, &amp;quot;#01e3fe&amp;quot;, &amp;quot;#7b7b7b&amp;quot;, &amp;quot;#ebebeb&amp;quot;, &amp;quot;#7b7b7b&amp;quot;, &amp;quot;#7b7b7b&amp;quot;, &amp;quot;#7b7b7b&amp;quot;, &amp;quot;#000000&amp;quot;, &amp;quot;#01e3fe&amp;quot;, &amp;quot;#01e3fe&amp;quot;, &amp;quot;#01e3fe&amp;quot;, &amp;quot;#000000&amp;quot;, &amp;quot;#01e3fe&amp;quot;, &amp;quot;#f0f0f0&amp;quot;]);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/nc_cordova_colores.png&lt;br /&gt;
&lt;br /&gt;
=== COMPLETAR REGISTRO: ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Una vez un usuario haya sido registrado en una de nuestras aplicaciones, cuando otra lance NickCenter, dicho usuario tan soló debera &amp;lt;b&amp;gt;logearse&amp;lt;/b&amp;gt; sin necesidad de tener que registrarse otra vez para ésta última aplicación. Se puede dar el caso de que al registrarte en la primera aplicación tán solo fuera necesario &amp;lt;b&amp;gt;email y contraseña&amp;lt;/b&amp;gt;, y que para la segunda aplicación fuera necesario registrarse con el &amp;lt;b&amp;gt;telefono&amp;lt;/b&amp;gt;, cuando este tipo de casos se den, al logearte en la segunda aplicación se abrirá una nueva vista para completar el registro. Una vez completado dicho registro se tratará como un login normal.&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/nc_ios_completar.jpeg&lt;br /&gt;
&lt;br /&gt;
=== FUNCIONES UTILES: ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;NickCenter&amp;lt;/b&amp;gt; está dotada de una función que permite al desarrollador cerrar la sesión ya iniciada por el usuario de manera que la siguiente vez que abra la aplicación y pase por donde se lanza la librería, el usuario deba volver a loguearse. Dicha funcion es :&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;closeSession&amp;lt;/b&amp;gt;: ( cordova.exec(successNickCenterCallback, errorNickCenterCallback,  &amp;quot;nickcenter&amp;quot;,  &amp;quot;closeNickCenterSession&amp;quot;, [&amp;quot;54e46801eda63&amp;quot;]);  )&lt;br /&gt;
&lt;br /&gt;
=== CallBacks: ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;NickCenter&amp;lt;/b&amp;gt; cuenta con una serie de callbacks los cuales se pueden recoger en en las funciones implementadas successNickCenterCallback y errorNickCenterCallback que permiten al desarrollador saber qué parte del plugin se esta ejecutando y cuál es su resultado. A continuación se expondrán éstos y para que sirven.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onRegisterViewOpened&amp;lt;/b&amp;gt;: Notifica cuando la vista de registro se ha lanzado.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onLoginViewOpened&amp;lt;/b&amp;gt;: Notifica cuando la vista del login se ha lanzado.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onRescueViewOpened&amp;lt;/b&amp;gt;: Notifica cuando la vista de recuperación de contraseña se ha lanzado.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onError:(NSString \*)error&amp;lt;/b&amp;gt;: Notificará cuando haya habido un error, normalmente se lanzará cuando el registro o el login hayan sido incorrectos, o cuando al recuperar la contraseña el email sea incorrecto. Se puede dar el caso de que de otro tipo de error como bien puede ser al conectarnos al sevidor.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onWarning:(NSString \*)warning&amp;lt;/b&amp;gt;: Notificará de alguna advertencia al desarrollador.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onFinished&amp;lt;/b&amp;gt;: Notificará cuando la librería haya finalizado algun proceso. Inicio de sesión, registro o recuperación de contraseña correcto.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onSessionClosed&amp;lt;/b&amp;gt;: Notificará cuando se haya cerrado la sesión de NickCenter.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onActive&amp;lt;/b&amp;gt;: Notificará cuando detecte que NickCenter esta activa para la aplicación.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onInactive&amp;lt;/b&amp;gt;: Notificará cuando detecte que NickCenter esta inactiva para la aplicación.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onRegisterRegisterButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de registrarse en la vista de registro de usuario.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onRegisterLoginButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de inicio de sesión en la vista de registro de usuario.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onRegisterCloseButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de cerrar en la vista de registro de usuario.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onRegisterPerformed:(NCUser \&amp;lt;i&amp;gt;) user dictionary:(NSMutableDictionary \&amp;lt;/i&amp;gt;) userDictionary&amp;lt;/b&amp;gt;:&amp;lt;/b&amp;gt;: Notificará cuando haya habido un registro correcto.Se mandará la información recogida del usuario tanto en formato NCUser como en formato NSMutableDictionary.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onLoginPerformed:(NCUser \&amp;lt;i&amp;gt;) user dictionary:(NSMutableDictionary \&amp;lt;/i&amp;gt;) userDictionary&amp;lt;/b&amp;gt;: Notificará cuando haya habido un registro o un login correcto. Se mandará la información recogida del usuario tanto en formato NCUser como en formato NSMutableDictionary.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onLoginLoginButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de inicio de sesión en la vista de inicio de sesión.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onLoginRegisterButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de registrarse en la vista de inicio de sesión.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onLoginRescueButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de recuperar contraseña en la vista de inicio de sesión.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onLoginCloseButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de cerrar en la vista de inicio de sesión.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onRescueRescueButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de recuperar contraseña en la vista de recuperar contraseña.&lt;br /&gt;
&lt;br /&gt;
- &amp;lt;b&amp;gt;onRescueCloseButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de cerrar en la vista de recuperar contraseña.&lt;/div&gt;</summary>
		<author><name>Asier</name></author>
	</entry>
	<entry>
		<id>https://wiki.mobeleader.com/index.php?title=SDKs:NickCenter:Cordova:index&amp;diff=2305</id>
		<title>SDKs:NickCenter:Cordova:index</title>
		<link rel="alternate" type="text/html" href="https://wiki.mobeleader.com/index.php?title=SDKs:NickCenter:Cordova:index&amp;diff=2305"/>
		<updated>2018-10-15T16:28:34Z</updated>

		<summary type="html">&lt;p&gt;Asier: /* DELEGATES: */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= CÓMO AGREGAR EL PLUGIN NICKCENTER EN CORDOVA =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{:SDKs:NickCenter:Intro}}&lt;br /&gt;
&lt;br /&gt;
== VERSIONES SOPORTADAS ==&lt;br /&gt;
&lt;br /&gt;
Este Plugin soporta tanto Android como iOS. &lt;br /&gt;
&lt;br /&gt;
Para iOS soporta las versiones superiores a las &amp;lt;b&amp;gt;10.0&amp;lt;/b&amp;gt;, en caso de que detecte una versión inferior no se lanzará.&lt;br /&gt;
&lt;br /&gt;
Para Android soporta todas las versiones superiores a la &amp;lt;b&amp;gt;4.0&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{:SDKs:NickCenter:PanelControl}}&lt;br /&gt;
&lt;br /&gt;
== PASOS A REALIZAR PARA LA INTALACIÓN DEL PLUGIN ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== INSTALACIÓN: ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Para instalar el Plugin, si queremos que funcione en iOS, primero tendremos que instalar el plugin cordova-plugin-cocoapod-support, de la siguiente manera:&lt;br /&gt;
      cordova plugin add cordova-plugin-cocoapod-support&lt;br /&gt;
y después instalar el plugin de Nickcenter de esta manera (si solo lo vamos a usar para android con este plugin es suficiente):&lt;br /&gt;
      cordova plugin add cordova-plugin-nickcenter&lt;br /&gt;
&lt;br /&gt;
Una vez ejecutados los dos comandos ya tendremos el plugin instalado.&lt;br /&gt;
&lt;br /&gt;
=== LANZAMIENTO: ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Una vez configurada la instalación, lanzaremos en el momento donde queramos el código, por ejemplo para iOS:&lt;br /&gt;
&lt;br /&gt;
       cordova.exec(successNickCenterCallback, errorNickCenterCallback,  &amp;quot;nickcenter&amp;quot;,  &amp;quot;launchNickCenter&amp;quot;, [&amp;quot;54e46801egh95&amp;quot;]);&lt;br /&gt;
&lt;br /&gt;
Y Para Android:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Los Argumentos enviados serán los siguientes:&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 1:&amp;lt;/b&amp;gt; Es el AppHash de la aplicación, el cual se puede obtener en el panel, como muestra la siguiente pantalla.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/Obtener_hash_app_14.png&lt;br /&gt;
&lt;br /&gt;
Por defecto las pantallas de &amp;lt;b&amp;gt;NickCenter&amp;lt;/b&amp;gt; presentan el siguiente formato:&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/nc_ios_default.jpeg&lt;br /&gt;
&lt;br /&gt;
Si desea modificar las pantallas para que sean lo más parecidas a su aplicación &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;NickCenter&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; deberá añadir más argumentos, en el siguiente orden (Estos Argumentos son completamente Opcionales) (Todos los colores deben ir en hexadecimal):&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 2:&amp;lt;/b&amp;gt; Determina el color de fondo de las pantallas. Ejemplo: &amp;quot;#ffffff&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 3:&amp;lt;/b&amp;gt; Determina el color de fondo de la cabecera de las pantallas. Ejemplo: &amp;quot;#f0f0f0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 4:&amp;lt;/b&amp;gt; Determina el color de la linea que separa la cabecera con el resto de la pantalla. Ejemplo: &amp;quot;#01e3fe&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 5:&amp;lt;/b&amp;gt; Determina el color del texto de la cabecera de las pantallas. Ejemplo: &amp;quot;#7b7b7b&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 6:&amp;lt;/b&amp;gt; Determina el color de fondo de los textfields donde se ubican los campos de cada pantalla. Ejemplo: &amp;quot;#ebebeb&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 7:&amp;lt;/b&amp;gt; Determina el color del texto descriptivo de cada textfield. Ejemplo: &amp;quot;#7b7b7b&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 8:&amp;lt;/b&amp;gt; Determina el color del texto de los textfields donde se ubican los campos de cada pantalla. Ejemplo: &amp;quot;#7b7b7b&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 9:&amp;lt;/b&amp;gt; Determina el color de fondo de los botones de cada pantalla. Ejemplo: &amp;quot;#7b7b7b&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 10:&amp;lt;/b&amp;gt; Determina el color de fondo de los botones de cada pantalla cuando se ha hecho click en éstos. Ejemplo: &amp;quot;#000000&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 11:&amp;lt;/b&amp;gt; Determina el color del texto de cada boton cuando no se ha hecho click en éstos. Ejemplo: &amp;quot;#01e3fe&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 12:&amp;lt;/b&amp;gt; Determina el color del texto de cada botón cuando se ha hecho click en éstos. Ejemplo: &amp;quot;#01e3fe&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 13:&amp;lt;/b&amp;gt; Determina el color del borde de los botones. Ejemplo: &amp;quot;#01e3fe&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 14:&amp;lt;/b&amp;gt; Determina el color de la fuente de los textos de los terminos y condiciones. Ejemplo: &amp;quot;#000000&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 15: (Solo para iOS)&amp;lt;/b&amp;gt; Determina el color de los botones activos en los términos y condiciones. Ejemplo: &amp;quot;#01e3fe&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 16: (Solo para iOS)&amp;lt;/b&amp;gt; Determina el color de los botones inactivos en los términos y condiciones. Ejemplo: &amp;quot;#f0f0f0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A continuación se expone un ejemplo en el que se maqueta a gusto del desarrollador las pantallas de &amp;lt;b&amp;gt;NickCenter&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
     cordova.exec(successNickCenterCallback, errorNickCenterCallback,  &amp;quot;nickcenter&amp;quot;,  &amp;quot;launchNickCenter&amp;quot;, [&amp;quot;54e46801eda63&amp;quot;, &amp;quot;#ffffff&amp;quot;, &amp;quot;#f0f0f0&amp;quot;, &amp;quot;#01e3fe&amp;quot;, &amp;quot;#7b7b7b&amp;quot;, &amp;quot;#ebebeb&amp;quot;, &amp;quot;#7b7b7b&amp;quot;, &amp;quot;#7b7b7b&amp;quot;, &amp;quot;#7b7b7b&amp;quot;, &amp;quot;#000000&amp;quot;, &amp;quot;#01e3fe&amp;quot;, &amp;quot;#01e3fe&amp;quot;, &amp;quot;#01e3fe&amp;quot;, &amp;quot;#000000&amp;quot;, &amp;quot;#01e3fe&amp;quot;, &amp;quot;#f0f0f0&amp;quot;]);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/nc_cordova_colores.png&lt;br /&gt;
&lt;br /&gt;
=== COMPLETAR REGISTRO: ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Una vez un usuario haya sido registrado en una de nuestras aplicaciones, cuando otra lance NickCenter, dicho usuario tan soló debera &amp;lt;b&amp;gt;logearse&amp;lt;/b&amp;gt; sin necesidad de tener que registrarse otra vez para ésta última aplicación. Se puede dar el caso de que al registrarte en la primera aplicación tán solo fuera necesario &amp;lt;b&amp;gt;email y contraseña&amp;lt;/b&amp;gt;, y que para la segunda aplicación fuera necesario registrarse con el &amp;lt;b&amp;gt;telefono&amp;lt;/b&amp;gt;, cuando este tipo de casos se den, al logearte en la segunda aplicación se abrirá una nueva vista para completar el registro. Una vez completado dicho registro se tratará como un login normal.&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/nc_ios_completar.jpeg&lt;br /&gt;
&lt;br /&gt;
=== FUNCIONES UTILES: ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;NickCenter&amp;lt;/b&amp;gt; está dotada de una función que permite al desarrollador cerrar la sesión ya iniciada por el usuario de manera que la siguiente vez que abra la aplicación y pase por donde se lanza la librería, el usuario deba volver a loguearse. Dicha funcion es :&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;closeSession&amp;lt;/b&amp;gt;: ( cordova.exec(successNickCenterCallback, errorNickCenterCallback,  &amp;quot;nickcenter&amp;quot;,  &amp;quot;closeNickCenterSession&amp;quot;, [&amp;quot;54e46801eda63&amp;quot;]);  )&lt;br /&gt;
&lt;br /&gt;
=== CallBacks: ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;NickCenter&amp;lt;/b&amp;gt; cuenta con una serie de callbacks los cuales se pueden recoger en en las funciones implementadas successNickCenterCallback y errorNickCenterCallback que permiten al desarrollador saber qué parte del plugin se esta ejecutando y cuál es su resultado. A continuación se expondrán éstos y para que sirven.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;registerViewOpened&amp;lt;/b&amp;gt;: Notifica cuando la vista de registro se ha lanzado.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;loginViewOpened&amp;lt;/b&amp;gt;: Notifica cuando la vista del login se ha lanzado.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;rescueViewOpened&amp;lt;/b&amp;gt;: Notifica cuando la vista de recuperación de contraseña se ha lanzado.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onError:(NSString \*)error&amp;lt;/b&amp;gt;: Notificará cuando haya habido un error, normalmente se lanzará cuando el registro o el login hayan sido incorrectos, o cuando al recuperar la contraseña el email sea incorrecto. Se puede dar el caso de que de otro tipo de error como bien puede ser al conectarnos al sevidor.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onWarning:(NSString \*)warning&amp;lt;/b&amp;gt;: Notificará de alguna advertencia al desarrollador.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;finished&amp;lt;/b&amp;gt;: Notificará cuando la librería haya finalizado algun proceso. Inicio de sesión, registro o recuperación de contraseña correcto.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;sessionClosed&amp;lt;/b&amp;gt;: Notificará cuando se haya cerrado la sesión de NickCenter.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onActive&amp;lt;/b&amp;gt;: Notificará cuando detecte que NickCenter esta activa para la aplicación.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onInactive&amp;lt;/b&amp;gt;: Notificará cuando detecte que NickCenter esta inactiva para la aplicación.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;registerRegisterButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de registarse en la vista de registro de usuario.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;registerLoginButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de inicio de sesión en la vista de registro de usuario.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;registerCloseButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de cerrar en la vista de registro de usuario.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;loginPerformed:(NCUser \&amp;lt;i&amp;gt;) user dictionary:(NSMutableDictionary \&amp;lt;/i&amp;gt;) userDictionary&amp;lt;/b&amp;gt;: Notificará cuando haya habido un registro o un login correcto. Se mandará la información recogida del usuario tanto en formato NCUser como en formato NSMutableDictionary.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;loginLoginButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de inicio de sesión en la vista de inicio de sesión.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;loginRegisterButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de registrarse en la vista de inicio de sesión.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;loginRescueButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de recuperar contraseña en la vista de inicio de sesión.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;loginCloseButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de cerrar en la vista de inicio de sesión.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;rescueRescueButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de recuperar contraseña en la vista de recuperar contraseña.&lt;br /&gt;
&lt;br /&gt;
- &amp;lt;b&amp;gt;rescueCloseButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de cerrar en la vista de recuperar contraseña.&lt;/div&gt;</summary>
		<author><name>Asier</name></author>
	</entry>
	<entry>
		<id>https://wiki.mobeleader.com/index.php?title=SDKs:NickCenter:Cordova:index&amp;diff=2304</id>
		<title>SDKs:NickCenter:Cordova:index</title>
		<link rel="alternate" type="text/html" href="https://wiki.mobeleader.com/index.php?title=SDKs:NickCenter:Cordova:index&amp;diff=2304"/>
		<updated>2018-10-15T16:26:35Z</updated>

		<summary type="html">&lt;p&gt;Asier: /* FUNCIONES UTILES: */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= CÓMO AGREGAR EL PLUGIN NICKCENTER EN CORDOVA =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{:SDKs:NickCenter:Intro}}&lt;br /&gt;
&lt;br /&gt;
== VERSIONES SOPORTADAS ==&lt;br /&gt;
&lt;br /&gt;
Este Plugin soporta tanto Android como iOS. &lt;br /&gt;
&lt;br /&gt;
Para iOS soporta las versiones superiores a las &amp;lt;b&amp;gt;10.0&amp;lt;/b&amp;gt;, en caso de que detecte una versión inferior no se lanzará.&lt;br /&gt;
&lt;br /&gt;
Para Android soporta todas las versiones superiores a la &amp;lt;b&amp;gt;4.0&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{:SDKs:NickCenter:PanelControl}}&lt;br /&gt;
&lt;br /&gt;
== PASOS A REALIZAR PARA LA INTALACIÓN DEL PLUGIN ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== INSTALACIÓN: ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Para instalar el Plugin, si queremos que funcione en iOS, primero tendremos que instalar el plugin cordova-plugin-cocoapod-support, de la siguiente manera:&lt;br /&gt;
      cordova plugin add cordova-plugin-cocoapod-support&lt;br /&gt;
y después instalar el plugin de Nickcenter de esta manera (si solo lo vamos a usar para android con este plugin es suficiente):&lt;br /&gt;
      cordova plugin add cordova-plugin-nickcenter&lt;br /&gt;
&lt;br /&gt;
Una vez ejecutados los dos comandos ya tendremos el plugin instalado.&lt;br /&gt;
&lt;br /&gt;
=== LANZAMIENTO: ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Una vez configurada la instalación, lanzaremos en el momento donde queramos el código, por ejemplo para iOS:&lt;br /&gt;
&lt;br /&gt;
       cordova.exec(successNickCenterCallback, errorNickCenterCallback,  &amp;quot;nickcenter&amp;quot;,  &amp;quot;launchNickCenter&amp;quot;, [&amp;quot;54e46801egh95&amp;quot;]);&lt;br /&gt;
&lt;br /&gt;
Y Para Android:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Los Argumentos enviados serán los siguientes:&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 1:&amp;lt;/b&amp;gt; Es el AppHash de la aplicación, el cual se puede obtener en el panel, como muestra la siguiente pantalla.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/Obtener_hash_app_14.png&lt;br /&gt;
&lt;br /&gt;
Por defecto las pantallas de &amp;lt;b&amp;gt;NickCenter&amp;lt;/b&amp;gt; presentan el siguiente formato:&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/nc_ios_default.jpeg&lt;br /&gt;
&lt;br /&gt;
Si desea modificar las pantallas para que sean lo más parecidas a su aplicación &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;NickCenter&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; deberá añadir más argumentos, en el siguiente orden (Estos Argumentos son completamente Opcionales) (Todos los colores deben ir en hexadecimal):&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 2:&amp;lt;/b&amp;gt; Determina el color de fondo de las pantallas. Ejemplo: &amp;quot;#ffffff&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 3:&amp;lt;/b&amp;gt; Determina el color de fondo de la cabecera de las pantallas. Ejemplo: &amp;quot;#f0f0f0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 4:&amp;lt;/b&amp;gt; Determina el color de la linea que separa la cabecera con el resto de la pantalla. Ejemplo: &amp;quot;#01e3fe&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 5:&amp;lt;/b&amp;gt; Determina el color del texto de la cabecera de las pantallas. Ejemplo: &amp;quot;#7b7b7b&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 6:&amp;lt;/b&amp;gt; Determina el color de fondo de los textfields donde se ubican los campos de cada pantalla. Ejemplo: &amp;quot;#ebebeb&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 7:&amp;lt;/b&amp;gt; Determina el color del texto descriptivo de cada textfield. Ejemplo: &amp;quot;#7b7b7b&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 8:&amp;lt;/b&amp;gt; Determina el color del texto de los textfields donde se ubican los campos de cada pantalla. Ejemplo: &amp;quot;#7b7b7b&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 9:&amp;lt;/b&amp;gt; Determina el color de fondo de los botones de cada pantalla. Ejemplo: &amp;quot;#7b7b7b&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 10:&amp;lt;/b&amp;gt; Determina el color de fondo de los botones de cada pantalla cuando se ha hecho click en éstos. Ejemplo: &amp;quot;#000000&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 11:&amp;lt;/b&amp;gt; Determina el color del texto de cada boton cuando no se ha hecho click en éstos. Ejemplo: &amp;quot;#01e3fe&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 12:&amp;lt;/b&amp;gt; Determina el color del texto de cada botón cuando se ha hecho click en éstos. Ejemplo: &amp;quot;#01e3fe&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 13:&amp;lt;/b&amp;gt; Determina el color del borde de los botones. Ejemplo: &amp;quot;#01e3fe&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 14:&amp;lt;/b&amp;gt; Determina el color de la fuente de los textos de los terminos y condiciones. Ejemplo: &amp;quot;#000000&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 15: (Solo para iOS)&amp;lt;/b&amp;gt; Determina el color de los botones activos en los términos y condiciones. Ejemplo: &amp;quot;#01e3fe&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 16: (Solo para iOS)&amp;lt;/b&amp;gt; Determina el color de los botones inactivos en los términos y condiciones. Ejemplo: &amp;quot;#f0f0f0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A continuación se expone un ejemplo en el que se maqueta a gusto del desarrollador las pantallas de &amp;lt;b&amp;gt;NickCenter&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
     cordova.exec(successNickCenterCallback, errorNickCenterCallback,  &amp;quot;nickcenter&amp;quot;,  &amp;quot;launchNickCenter&amp;quot;, [&amp;quot;54e46801eda63&amp;quot;, &amp;quot;#ffffff&amp;quot;, &amp;quot;#f0f0f0&amp;quot;, &amp;quot;#01e3fe&amp;quot;, &amp;quot;#7b7b7b&amp;quot;, &amp;quot;#ebebeb&amp;quot;, &amp;quot;#7b7b7b&amp;quot;, &amp;quot;#7b7b7b&amp;quot;, &amp;quot;#7b7b7b&amp;quot;, &amp;quot;#000000&amp;quot;, &amp;quot;#01e3fe&amp;quot;, &amp;quot;#01e3fe&amp;quot;, &amp;quot;#01e3fe&amp;quot;, &amp;quot;#000000&amp;quot;, &amp;quot;#01e3fe&amp;quot;, &amp;quot;#f0f0f0&amp;quot;]);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/nc_cordova_colores.png&lt;br /&gt;
&lt;br /&gt;
=== COMPLETAR REGISTRO: ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Una vez un usuario haya sido registrado en una de nuestras aplicaciones, cuando otra lance NickCenter, dicho usuario tan soló debera &amp;lt;b&amp;gt;logearse&amp;lt;/b&amp;gt; sin necesidad de tener que registrarse otra vez para ésta última aplicación. Se puede dar el caso de que al registrarte en la primera aplicación tán solo fuera necesario &amp;lt;b&amp;gt;email y contraseña&amp;lt;/b&amp;gt;, y que para la segunda aplicación fuera necesario registrarse con el &amp;lt;b&amp;gt;telefono&amp;lt;/b&amp;gt;, cuando este tipo de casos se den, al logearte en la segunda aplicación se abrirá una nueva vista para completar el registro. Una vez completado dicho registro se tratará como un login normal.&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/nc_ios_completar.jpeg&lt;br /&gt;
&lt;br /&gt;
=== FUNCIONES UTILES: ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;NickCenter&amp;lt;/b&amp;gt; está dotada de una función que permite al desarrollador cerrar la sesión ya iniciada por el usuario de manera que la siguiente vez que abra la aplicación y pase por donde se lanza la librería, el usuario deba volver a loguearse. Dicha funcion es :&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;closeSession&amp;lt;/b&amp;gt;: ( cordova.exec(successNickCenterCallback, errorNickCenterCallback,  &amp;quot;nickcenter&amp;quot;,  &amp;quot;closeNickCenterSession&amp;quot;, [&amp;quot;54e46801eda63&amp;quot;]);  )&lt;br /&gt;
&lt;br /&gt;
=== DELEGATES: ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;NickCenter&amp;lt;/b&amp;gt; cuenta con una serie de delegates que permiten al desarrollador saber que parte del framework se esta ejecutando y cual es su resultado. A continuación se expondrán éstos y para que sirven.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;registerViewOpened&amp;lt;/b&amp;gt;: Notifica cuando la vista de registro se ha lanzado.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;loginViewOpened&amp;lt;/b&amp;gt;: Notifica cuando la vista del login se ha lanzado.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;rescueViewOpened&amp;lt;/b&amp;gt;: Notifica cuando la vista de recuperación de contraseña se ha lanzado.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onError:(NSString \*)error&amp;lt;/b&amp;gt;: Notificará cuando haya habido un error, normalmente se lanzará cuando el registro o el login hayan sido incorrectos, o cuando al recuperar la contraseña el email sea incorrecto. Se puede dar el caso de que de otro tipo de error como bien puede ser al conectarnos al sevidor.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onWarning:(NSString \*)warning&amp;lt;/b&amp;gt;: Notificará de alguna advertencia al desarrollador.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;finished&amp;lt;/b&amp;gt;: Notificará cuando la librería haya finalizado algun proceso. Inicio de sesión, registro o recuperación de contraseña correcto.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;sessionClosed&amp;lt;/b&amp;gt;: Notificará cuando se haya cerrado la sesión de NickCenter.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onActive&amp;lt;/b&amp;gt;: Notificará cuando detecte que NickCenter esta activa para la aplicación.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onInactive&amp;lt;/b&amp;gt;: Notificará cuando detecte que NickCenter esta inactiva para la aplicación.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;registerRegisterButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de registarse en la vista de registro de usuario.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;registerLoginButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de inicio de sesión en la vista de registro de usuario.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;registerCloseButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de cerrar en la vista de registro de usuario.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;loginPerformed:(NCUser \&amp;lt;i&amp;gt;) user dictionary:(NSMutableDictionary \&amp;lt;/i&amp;gt;) userDictionary&amp;lt;/b&amp;gt;: Notificará cuando haya habido un registro o un login correcto. Se mandará la información recogida del usuario tanto en formato NCUser como en formato NSMutableDictionary.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;loginLoginButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de inicio de sesión en la vista de inicio de sesión.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;loginRegisterButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de registrarse en la vista de inicio de sesión.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;loginRescueButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de recuperar contraseña en la vista de inicio de sesión.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;loginCloseButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de cerrar en la vista de inicio de sesión.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;rescueRescueButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de recuperar contraseña en la vista de recuperar contraseña.&lt;br /&gt;
&lt;br /&gt;
- &amp;lt;b&amp;gt;rescueCloseButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de cerrar en la vista de recuperar contraseña.&lt;/div&gt;</summary>
		<author><name>Asier</name></author>
	</entry>
	<entry>
		<id>https://wiki.mobeleader.com/index.php?title=SDKs:NickCenter:Cordova:index&amp;diff=2303</id>
		<title>SDKs:NickCenter:Cordova:index</title>
		<link rel="alternate" type="text/html" href="https://wiki.mobeleader.com/index.php?title=SDKs:NickCenter:Cordova:index&amp;diff=2303"/>
		<updated>2018-10-15T16:16:36Z</updated>

		<summary type="html">&lt;p&gt;Asier: /* LANZAMIENTO: */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= CÓMO AGREGAR EL PLUGIN NICKCENTER EN CORDOVA =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{:SDKs:NickCenter:Intro}}&lt;br /&gt;
&lt;br /&gt;
== VERSIONES SOPORTADAS ==&lt;br /&gt;
&lt;br /&gt;
Este Plugin soporta tanto Android como iOS. &lt;br /&gt;
&lt;br /&gt;
Para iOS soporta las versiones superiores a las &amp;lt;b&amp;gt;10.0&amp;lt;/b&amp;gt;, en caso de que detecte una versión inferior no se lanzará.&lt;br /&gt;
&lt;br /&gt;
Para Android soporta todas las versiones superiores a la &amp;lt;b&amp;gt;4.0&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{:SDKs:NickCenter:PanelControl}}&lt;br /&gt;
&lt;br /&gt;
== PASOS A REALIZAR PARA LA INTALACIÓN DEL PLUGIN ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== INSTALACIÓN: ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Para instalar el Plugin, si queremos que funcione en iOS, primero tendremos que instalar el plugin cordova-plugin-cocoapod-support, de la siguiente manera:&lt;br /&gt;
      cordova plugin add cordova-plugin-cocoapod-support&lt;br /&gt;
y después instalar el plugin de Nickcenter de esta manera (si solo lo vamos a usar para android con este plugin es suficiente):&lt;br /&gt;
      cordova plugin add cordova-plugin-nickcenter&lt;br /&gt;
&lt;br /&gt;
Una vez ejecutados los dos comandos ya tendremos el plugin instalado.&lt;br /&gt;
&lt;br /&gt;
=== LANZAMIENTO: ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Una vez configurada la instalación, lanzaremos en el momento donde queramos el código, por ejemplo para iOS:&lt;br /&gt;
&lt;br /&gt;
       cordova.exec(successNickCenterCallback, errorNickCenterCallback,  &amp;quot;nickcenter&amp;quot;,  &amp;quot;launchNickCenter&amp;quot;, [&amp;quot;54e46801egh95&amp;quot;]);&lt;br /&gt;
&lt;br /&gt;
Y Para Android:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Los Argumentos enviados serán los siguientes:&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 1:&amp;lt;/b&amp;gt; Es el AppHash de la aplicación, el cual se puede obtener en el panel, como muestra la siguiente pantalla.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/Obtener_hash_app_14.png&lt;br /&gt;
&lt;br /&gt;
Por defecto las pantallas de &amp;lt;b&amp;gt;NickCenter&amp;lt;/b&amp;gt; presentan el siguiente formato:&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/nc_ios_default.jpeg&lt;br /&gt;
&lt;br /&gt;
Si desea modificar las pantallas para que sean lo más parecidas a su aplicación &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;NickCenter&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; deberá añadir más argumentos, en el siguiente orden (Estos Argumentos son completamente Opcionales) (Todos los colores deben ir en hexadecimal):&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 2:&amp;lt;/b&amp;gt; Determina el color de fondo de las pantallas. Ejemplo: &amp;quot;#ffffff&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 3:&amp;lt;/b&amp;gt; Determina el color de fondo de la cabecera de las pantallas. Ejemplo: &amp;quot;#f0f0f0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 4:&amp;lt;/b&amp;gt; Determina el color de la linea que separa la cabecera con el resto de la pantalla. Ejemplo: &amp;quot;#01e3fe&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 5:&amp;lt;/b&amp;gt; Determina el color del texto de la cabecera de las pantallas. Ejemplo: &amp;quot;#7b7b7b&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 6:&amp;lt;/b&amp;gt; Determina el color de fondo de los textfields donde se ubican los campos de cada pantalla. Ejemplo: &amp;quot;#ebebeb&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 7:&amp;lt;/b&amp;gt; Determina el color del texto descriptivo de cada textfield. Ejemplo: &amp;quot;#7b7b7b&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 8:&amp;lt;/b&amp;gt; Determina el color del texto de los textfields donde se ubican los campos de cada pantalla. Ejemplo: &amp;quot;#7b7b7b&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 9:&amp;lt;/b&amp;gt; Determina el color de fondo de los botones de cada pantalla. Ejemplo: &amp;quot;#7b7b7b&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 10:&amp;lt;/b&amp;gt; Determina el color de fondo de los botones de cada pantalla cuando se ha hecho click en éstos. Ejemplo: &amp;quot;#000000&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 11:&amp;lt;/b&amp;gt; Determina el color del texto de cada boton cuando no se ha hecho click en éstos. Ejemplo: &amp;quot;#01e3fe&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 12:&amp;lt;/b&amp;gt; Determina el color del texto de cada botón cuando se ha hecho click en éstos. Ejemplo: &amp;quot;#01e3fe&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 13:&amp;lt;/b&amp;gt; Determina el color del borde de los botones. Ejemplo: &amp;quot;#01e3fe&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 14:&amp;lt;/b&amp;gt; Determina el color de la fuente de los textos de los terminos y condiciones. Ejemplo: &amp;quot;#000000&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 15: (Solo para iOS)&amp;lt;/b&amp;gt; Determina el color de los botones activos en los términos y condiciones. Ejemplo: &amp;quot;#01e3fe&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 16: (Solo para iOS)&amp;lt;/b&amp;gt; Determina el color de los botones inactivos en los términos y condiciones. Ejemplo: &amp;quot;#f0f0f0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A continuación se expone un ejemplo en el que se maqueta a gusto del desarrollador las pantallas de &amp;lt;b&amp;gt;NickCenter&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
     cordova.exec(successNickCenterCallback, errorNickCenterCallback,  &amp;quot;nickcenter&amp;quot;,  &amp;quot;launchNickCenter&amp;quot;, [&amp;quot;54e46801eda63&amp;quot;, &amp;quot;#ffffff&amp;quot;, &amp;quot;#f0f0f0&amp;quot;, &amp;quot;#01e3fe&amp;quot;, &amp;quot;#7b7b7b&amp;quot;, &amp;quot;#ebebeb&amp;quot;, &amp;quot;#7b7b7b&amp;quot;, &amp;quot;#7b7b7b&amp;quot;, &amp;quot;#7b7b7b&amp;quot;, &amp;quot;#000000&amp;quot;, &amp;quot;#01e3fe&amp;quot;, &amp;quot;#01e3fe&amp;quot;, &amp;quot;#01e3fe&amp;quot;, &amp;quot;#000000&amp;quot;, &amp;quot;#01e3fe&amp;quot;, &amp;quot;#f0f0f0&amp;quot;]);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/nc_cordova_colores.png&lt;br /&gt;
&lt;br /&gt;
=== COMPLETAR REGISTRO: ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Una vez un usuario haya sido registrado en una de nuestras aplicaciones, cuando otra lance NickCenter, dicho usuario tan soló debera &amp;lt;b&amp;gt;logearse&amp;lt;/b&amp;gt; sin necesidad de tener que registrarse otra vez para ésta última aplicación. Se puede dar el caso de que al registrarte en la primera aplicación tán solo fuera necesario &amp;lt;b&amp;gt;email y contraseña&amp;lt;/b&amp;gt;, y que para la segunda aplicación fuera necesario registrarse con el &amp;lt;b&amp;gt;telefono&amp;lt;/b&amp;gt;, cuando este tipo de casos se den, al logearte en la segunda aplicación se abrirá una nueva vista para completar el registro. Una vez completado dicho registro se tratará como un login normal.&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/nc_ios_completar.jpeg&lt;br /&gt;
&lt;br /&gt;
=== FUNCIONES UTILES: ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;NickCenter&amp;lt;/b&amp;gt; está dotada de una función que permite al desarrollador cerrar la sesión ya iniciada por el usuario de manera que la siguiente vez que abra la aplicación y pase por donde se lanza la librería, el usuario deba volver a loguearse. Dicha funcion es :&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;closeSession&amp;lt;/b&amp;gt;: ( [nickCenter closeSession]; )&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== DELEGATES: ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;NickCenter&amp;lt;/b&amp;gt; cuenta con una serie de delegates que permiten al desarrollador saber que parte del framework se esta ejecutando y cual es su resultado. A continuación se expondrán éstos y para que sirven.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;registerViewOpened&amp;lt;/b&amp;gt;: Notifica cuando la vista de registro se ha lanzado.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;loginViewOpened&amp;lt;/b&amp;gt;: Notifica cuando la vista del login se ha lanzado.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;rescueViewOpened&amp;lt;/b&amp;gt;: Notifica cuando la vista de recuperación de contraseña se ha lanzado.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onError:(NSString \*)error&amp;lt;/b&amp;gt;: Notificará cuando haya habido un error, normalmente se lanzará cuando el registro o el login hayan sido incorrectos, o cuando al recuperar la contraseña el email sea incorrecto. Se puede dar el caso de que de otro tipo de error como bien puede ser al conectarnos al sevidor.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onWarning:(NSString \*)warning&amp;lt;/b&amp;gt;: Notificará de alguna advertencia al desarrollador.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;finished&amp;lt;/b&amp;gt;: Notificará cuando la librería haya finalizado algun proceso. Inicio de sesión, registro o recuperación de contraseña correcto.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;sessionClosed&amp;lt;/b&amp;gt;: Notificará cuando se haya cerrado la sesión de NickCenter.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onActive&amp;lt;/b&amp;gt;: Notificará cuando detecte que NickCenter esta activa para la aplicación.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onInactive&amp;lt;/b&amp;gt;: Notificará cuando detecte que NickCenter esta inactiva para la aplicación.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;registerRegisterButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de registarse en la vista de registro de usuario.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;registerLoginButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de inicio de sesión en la vista de registro de usuario.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;registerCloseButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de cerrar en la vista de registro de usuario.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;loginPerformed:(NCUser \&amp;lt;i&amp;gt;) user dictionary:(NSMutableDictionary \&amp;lt;/i&amp;gt;) userDictionary&amp;lt;/b&amp;gt;: Notificará cuando haya habido un registro o un login correcto. Se mandará la información recogida del usuario tanto en formato NCUser como en formato NSMutableDictionary.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;loginLoginButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de inicio de sesión en la vista de inicio de sesión.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;loginRegisterButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de registrarse en la vista de inicio de sesión.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;loginRescueButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de recuperar contraseña en la vista de inicio de sesión.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;loginCloseButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de cerrar en la vista de inicio de sesión.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;rescueRescueButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de recuperar contraseña en la vista de recuperar contraseña.&lt;br /&gt;
&lt;br /&gt;
- &amp;lt;b&amp;gt;rescueCloseButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de cerrar en la vista de recuperar contraseña.&lt;/div&gt;</summary>
		<author><name>Asier</name></author>
	</entry>
	<entry>
		<id>https://wiki.mobeleader.com/index.php?title=SDKs:NickCenter:Cordova:index&amp;diff=2302</id>
		<title>SDKs:NickCenter:Cordova:index</title>
		<link rel="alternate" type="text/html" href="https://wiki.mobeleader.com/index.php?title=SDKs:NickCenter:Cordova:index&amp;diff=2302"/>
		<updated>2018-10-15T16:07:58Z</updated>

		<summary type="html">&lt;p&gt;Asier: /* LANZAMIENTO: */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= CÓMO AGREGAR EL PLUGIN NICKCENTER EN CORDOVA =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{:SDKs:NickCenter:Intro}}&lt;br /&gt;
&lt;br /&gt;
== VERSIONES SOPORTADAS ==&lt;br /&gt;
&lt;br /&gt;
Este Plugin soporta tanto Android como iOS. &lt;br /&gt;
&lt;br /&gt;
Para iOS soporta las versiones superiores a las &amp;lt;b&amp;gt;10.0&amp;lt;/b&amp;gt;, en caso de que detecte una versión inferior no se lanzará.&lt;br /&gt;
&lt;br /&gt;
Para Android soporta todas las versiones superiores a la &amp;lt;b&amp;gt;4.0&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{:SDKs:NickCenter:PanelControl}}&lt;br /&gt;
&lt;br /&gt;
== PASOS A REALIZAR PARA LA INTALACIÓN DEL PLUGIN ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== INSTALACIÓN: ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Para instalar el Plugin, si queremos que funcione en iOS, primero tendremos que instalar el plugin cordova-plugin-cocoapod-support, de la siguiente manera:&lt;br /&gt;
      cordova plugin add cordova-plugin-cocoapod-support&lt;br /&gt;
y después instalar el plugin de Nickcenter de esta manera (si solo lo vamos a usar para android con este plugin es suficiente):&lt;br /&gt;
      cordova plugin add cordova-plugin-nickcenter&lt;br /&gt;
&lt;br /&gt;
Una vez ejecutados los dos comandos ya tendremos el plugin instalado.&lt;br /&gt;
&lt;br /&gt;
=== LANZAMIENTO: ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Una vez configurada la instalación, lanzaremos en el momento donde queramos el código, por ejemplo para iOS:&lt;br /&gt;
&lt;br /&gt;
       cordova.exec(successNickCenterCallback, errorNickCenterCallback,  &amp;quot;nickcenter&amp;quot;,  &amp;quot;launchNickCenter&amp;quot;, [&amp;quot;54e46801egh95&amp;quot;]);&lt;br /&gt;
&lt;br /&gt;
Y Para Android:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Los Argumentos enviados serán los siguientes:&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 1:&amp;lt;/b&amp;gt; Es el AppHash de la aplicación, el cual se puede obtener en el panel, como muestra la siguiente pantalla.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/Obtener_hash_app_14.png&lt;br /&gt;
&lt;br /&gt;
Por defecto las pantallas de &amp;lt;b&amp;gt;NickCenter&amp;lt;/b&amp;gt; presentan el siguiente formato:&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/nc_ios_default.jpeg&lt;br /&gt;
&lt;br /&gt;
Si desea modificar las pantallas para que sean lo más parecidas a su aplicación &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;NickCenter&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; deberá añadir más argumentos, en el siguiente orden (Estos Argumentos son completamente Opcionales) (Todos los colores deben ir en hexadecimal):&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 2:&amp;lt;/b&amp;gt; Determina el color de fondo de las pantallas. Ejemplo: &amp;quot;#ffffff&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 3:&amp;lt;/b&amp;gt; Determina el color de fondo de la cabecera de las pantallas. Ejemplo: &amp;quot;#f0f0f0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 4:&amp;lt;/b&amp;gt; Determina el color de la linea que separa la cabecera con el resto de la pantalla. Ejemplo: &amp;quot;#01e3fe&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 5:&amp;lt;/b&amp;gt; Determina el color del texto de la cabecera de las pantallas. Ejemplo: &amp;quot;#7b7b7b&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 6:&amp;lt;/b&amp;gt; Determina el color de fondo de los textfields donde se ubican los campos de cada pantalla. Ejemplo: &amp;quot;#ebebeb&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 7:&amp;lt;/b&amp;gt; Determina el color del texto descriptivo de cada textfield. Ejemplo: &amp;quot;#7b7b7b&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 8:&amp;lt;/b&amp;gt; Determina el color del texto de los textfields donde se ubican los campos de cada pantalla. Ejemplo: &amp;quot;#7b7b7b&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 9:&amp;lt;/b&amp;gt; Determina el color de fondo de los botones de cada pantalla. Ejemplo: &amp;quot;#7b7b7b&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 10:&amp;lt;/b&amp;gt; Determina el color de fondo de los botones de cada pantalla cuando se ha hecho click en éstos. Ejemplo: &amp;quot;#000000&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 11:&amp;lt;/b&amp;gt; Determina el color del texto de cada boton cuando no se ha hecho click en éstos. Ejemplo: &amp;quot;#01e3fe&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 12:&amp;lt;/b&amp;gt; Determina el color del texto de cada botón cuando se ha hecho click en éstos. Ejemplo: &amp;quot;#01e3fe&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 13:&amp;lt;/b&amp;gt; Determina el color del borde de los botones. Ejemplo: &amp;quot;#01e3fe&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 14:&amp;lt;/b&amp;gt; Determina el color de la fuente de los textos de los terminos y condiciones. Ejemplo: &amp;quot;#01e3fe&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 15: (Solo para iOS)&amp;lt;/b&amp;gt; Determina el color de los botones activos en los términos y condiciones. Ejemplo: &amp;quot;#01e3fe&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 16: (Solo para iOS)&amp;lt;/b&amp;gt; Determina el color de los botones inactivos en los términos y condiciones. Ejemplo: &amp;quot;#f0f0f0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A continuación se expone un ejemplo en el que se maqueta a gusto del desarrollador las pantallas de &amp;lt;b&amp;gt;NickCenter&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
     cordova.exec(successNickCenterCallback, errorNickCenterCallback,  &amp;quot;nickcenter&amp;quot;,  &amp;quot;launchNickCenter&amp;quot;, [&amp;quot;54e46801eda63&amp;quot;, &amp;quot;#ffffff&amp;quot;, &amp;quot;#f0f0f0&amp;quot;, &amp;quot;#01e3fe&amp;quot;, &amp;quot;#7b7b7b&amp;quot;, &amp;quot;#ebebeb&amp;quot;, &amp;quot;#7b7b7b&amp;quot;, &amp;quot;#7b7b7b&amp;quot;, &amp;quot;#7b7b7b&amp;quot;, &amp;quot;#000000&amp;quot;, &amp;quot;#01e3fe&amp;quot;, &amp;quot;#01e3fe&amp;quot;, &amp;quot;#01e3fe&amp;quot;, &amp;quot;#01e3fe&amp;quot;, &amp;quot;#01e3fe&amp;quot;, &amp;quot;#f0f0f0&amp;quot;]);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/nc_ios_desarrollador.jpeg&lt;br /&gt;
&lt;br /&gt;
=== COMPLETAR REGISTRO: ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Una vez un usuario haya sido registrado en una de nuestras aplicaciones, cuando otra lance NickCenter, dicho usuario tan soló debera &amp;lt;b&amp;gt;logearse&amp;lt;/b&amp;gt; sin necesidad de tener que registrarse otra vez para ésta última aplicación. Se puede dar el caso de que al registrarte en la primera aplicación tán solo fuera necesario &amp;lt;b&amp;gt;email y contraseña&amp;lt;/b&amp;gt;, y que para la segunda aplicación fuera necesario registrarse con el &amp;lt;b&amp;gt;telefono&amp;lt;/b&amp;gt;, cuando este tipo de casos se den, al logearte en la segunda aplicación se abrirá una nueva vista para completar el registro. Una vez completado dicho registro se tratará como un login normal.&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/nc_ios_completar.jpeg&lt;br /&gt;
&lt;br /&gt;
=== FUNCIONES UTILES: ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;NickCenter&amp;lt;/b&amp;gt; está dotada de una función que permite al desarrollador cerrar la sesión ya iniciada por el usuario de manera que la siguiente vez que abra la aplicación y pase por donde se lanza la librería, el usuario deba volver a loguearse. Dicha funcion es :&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;closeSession&amp;lt;/b&amp;gt;: ( [nickCenter closeSession]; )&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== DELEGATES: ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;NickCenter&amp;lt;/b&amp;gt; cuenta con una serie de delegates que permiten al desarrollador saber que parte del framework se esta ejecutando y cual es su resultado. A continuación se expondrán éstos y para que sirven.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;registerViewOpened&amp;lt;/b&amp;gt;: Notifica cuando la vista de registro se ha lanzado.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;loginViewOpened&amp;lt;/b&amp;gt;: Notifica cuando la vista del login se ha lanzado.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;rescueViewOpened&amp;lt;/b&amp;gt;: Notifica cuando la vista de recuperación de contraseña se ha lanzado.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onError:(NSString \*)error&amp;lt;/b&amp;gt;: Notificará cuando haya habido un error, normalmente se lanzará cuando el registro o el login hayan sido incorrectos, o cuando al recuperar la contraseña el email sea incorrecto. Se puede dar el caso de que de otro tipo de error como bien puede ser al conectarnos al sevidor.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onWarning:(NSString \*)warning&amp;lt;/b&amp;gt;: Notificará de alguna advertencia al desarrollador.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;finished&amp;lt;/b&amp;gt;: Notificará cuando la librería haya finalizado algun proceso. Inicio de sesión, registro o recuperación de contraseña correcto.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;sessionClosed&amp;lt;/b&amp;gt;: Notificará cuando se haya cerrado la sesión de NickCenter.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onActive&amp;lt;/b&amp;gt;: Notificará cuando detecte que NickCenter esta activa para la aplicación.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onInactive&amp;lt;/b&amp;gt;: Notificará cuando detecte que NickCenter esta inactiva para la aplicación.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;registerRegisterButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de registarse en la vista de registro de usuario.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;registerLoginButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de inicio de sesión en la vista de registro de usuario.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;registerCloseButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de cerrar en la vista de registro de usuario.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;loginPerformed:(NCUser \&amp;lt;i&amp;gt;) user dictionary:(NSMutableDictionary \&amp;lt;/i&amp;gt;) userDictionary&amp;lt;/b&amp;gt;: Notificará cuando haya habido un registro o un login correcto. Se mandará la información recogida del usuario tanto en formato NCUser como en formato NSMutableDictionary.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;loginLoginButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de inicio de sesión en la vista de inicio de sesión.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;loginRegisterButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de registrarse en la vista de inicio de sesión.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;loginRescueButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de recuperar contraseña en la vista de inicio de sesión.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;loginCloseButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de cerrar en la vista de inicio de sesión.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;rescueRescueButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de recuperar contraseña en la vista de recuperar contraseña.&lt;br /&gt;
&lt;br /&gt;
- &amp;lt;b&amp;gt;rescueCloseButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de cerrar en la vista de recuperar contraseña.&lt;/div&gt;</summary>
		<author><name>Asier</name></author>
	</entry>
	<entry>
		<id>https://wiki.mobeleader.com/index.php?title=SDKs:NickCenter:Cordova:index&amp;diff=2301</id>
		<title>SDKs:NickCenter:Cordova:index</title>
		<link rel="alternate" type="text/html" href="https://wiki.mobeleader.com/index.php?title=SDKs:NickCenter:Cordova:index&amp;diff=2301"/>
		<updated>2018-10-15T15:43:20Z</updated>

		<summary type="html">&lt;p&gt;Asier: /* LANZAMIENTO: */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= CÓMO AGREGAR EL PLUGIN NICKCENTER EN CORDOVA =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{:SDKs:NickCenter:Intro}}&lt;br /&gt;
&lt;br /&gt;
== VERSIONES SOPORTADAS ==&lt;br /&gt;
&lt;br /&gt;
Este Plugin soporta tanto Android como iOS. &lt;br /&gt;
&lt;br /&gt;
Para iOS soporta las versiones superiores a las &amp;lt;b&amp;gt;10.0&amp;lt;/b&amp;gt;, en caso de que detecte una versión inferior no se lanzará.&lt;br /&gt;
&lt;br /&gt;
Para Android soporta todas las versiones superiores a la &amp;lt;b&amp;gt;4.0&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{:SDKs:NickCenter:PanelControl}}&lt;br /&gt;
&lt;br /&gt;
== PASOS A REALIZAR PARA LA INTALACIÓN DEL PLUGIN ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== INSTALACIÓN: ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Para instalar el Plugin, si queremos que funcione en iOS, primero tendremos que instalar el plugin cordova-plugin-cocoapod-support, de la siguiente manera:&lt;br /&gt;
      cordova plugin add cordova-plugin-cocoapod-support&lt;br /&gt;
y después instalar el plugin de Nickcenter de esta manera (si solo lo vamos a usar para android con este plugin es suficiente):&lt;br /&gt;
      cordova plugin add cordova-plugin-nickcenter&lt;br /&gt;
&lt;br /&gt;
Una vez ejecutados los dos comandos ya tendremos el plugin instalado.&lt;br /&gt;
&lt;br /&gt;
=== LANZAMIENTO: ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Una vez configurada la instalación, lanzaremos en el momento donde queramos el código, por ejemplo para iOS:&lt;br /&gt;
&lt;br /&gt;
       cordova.exec(successNickCenterCallback, errorNickCenterCallback,  &amp;quot;nickcenter&amp;quot;,  &amp;quot;launchNickCenter&amp;quot;, [&amp;quot;54e46801egh95&amp;quot;]);&lt;br /&gt;
&lt;br /&gt;
Y Para Android:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Los Argumentos enviados serán los siguientes:&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 1:&amp;lt;/b&amp;gt; Es el AppHash de la aplicación, el cual se puede obtener en el panel, como muestra la siguiente pantalla.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/Obtener_hash_app_14.png&lt;br /&gt;
&lt;br /&gt;
Por defecto las pantallas de &amp;lt;b&amp;gt;NickCenter&amp;lt;/b&amp;gt; presentan el siguiente formato:&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/nc_ios_default.jpeg&lt;br /&gt;
&lt;br /&gt;
Si desea modificar las pantallas para que sean lo más parecidas a su aplicación &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;NickCenter&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; deberá añadir más argumentos, en el siguiente orden (Estos Argumentos son completamente Opcionales) (Todos los colores deben ir en hexadecimal):&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 2:&amp;lt;/b&amp;gt; Determina el color de fondo de las pantallas. Ejemplo: &amp;quot;#f0f0f0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 3:&amp;lt;/b&amp;gt; Determina el color de fondo de la cabecera de las pantallas. Ejemplo: &amp;quot;#f0f0f0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 4:&amp;lt;/b&amp;gt; Determina el color de la linea que separa la cabecera con el resto de la pantalla. Ejemplo: &amp;quot;#f0f0f0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 5:&amp;lt;/b&amp;gt; Determina el color del texto de la cabecera de las pantallas. Ejemplo: &amp;quot;#f0f0f0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 6:&amp;lt;/b&amp;gt; Determina el color de fondo de los textfields donde se ubican los campos de cada pantalla. Ejemplo: &amp;quot;#f0f0f0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 7:&amp;lt;/b&amp;gt; Determina el color del texto descriptivo de cada textfield. Ejemplo: &amp;quot;#f0f0f0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 8:&amp;lt;/b&amp;gt; Determina el color del texto de los textfields donde se ubican los campos de cada pantalla. Ejemplo: &amp;quot;#f0f0f0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 9:&amp;lt;/b&amp;gt; Determina el color de fondo de los botones de cada pantalla. Ejemplo: &amp;quot;#f0f0f0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 10:&amp;lt;/b&amp;gt; Determina el color de fondo de los botones de cada pantalla cuando se ha hecho click en éstos. Ejemplo: &amp;quot;#f0f0f0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 11:&amp;lt;/b&amp;gt; Determina el color del texto de cada boton cuando no se ha hecho click en éstos. Ejemplo: &amp;quot;#f0f0f0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 12:&amp;lt;/b&amp;gt; Determina el color del texto de cada botón cuando se ha hecho click en éstos. Ejemplo: &amp;quot;#f0f0f0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 13:&amp;lt;/b&amp;gt; Determina el color del borde de los botones. Ejemplo: &amp;quot;#f0f0f0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 14:&amp;lt;/b&amp;gt; Determina el color de la fuente de los textos de los terminos y condiciones. Ejemplo: &amp;quot;#f0f0f0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 15: (Solo para iOS)&amp;lt;/b&amp;gt; Determina el color de los botones activos en los términos y condiciones. Ejemplo: &amp;quot;#f0f0f0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 16: (Solo para iOS)&amp;lt;/b&amp;gt; Determina el color de los botones inactivos en los términos y condiciones. Ejemplo: &amp;quot;#f0f0f0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
A continuación se expone un ejemplo en el que se maqueta a gusto del desarrollador las pantallas de &amp;lt;b&amp;gt;NickCenter&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
     cordova.exec(successNickCenterCallback, errorNickCenterCallback,  &amp;quot;nickcenter&amp;quot;,  &amp;quot;launchNickCenter&amp;quot;, [&amp;quot;54e46801egh95&amp;quot;, , &amp;quot;#f0f0f0&amp;quot;]);&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/nc_ios_desarrollador.jpeg&lt;br /&gt;
&lt;br /&gt;
=== COMPLETAR REGISTRO: ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Una vez un usuario haya sido registrado en una de nuestras aplicaciones, cuando otra lance NickCenter, dicho usuario tan soló debera &amp;lt;b&amp;gt;logearse&amp;lt;/b&amp;gt; sin necesidad de tener que registrarse otra vez para ésta última aplicación. Se puede dar el caso de que al registrarte en la primera aplicación tán solo fuera necesario &amp;lt;b&amp;gt;email y contraseña&amp;lt;/b&amp;gt;, y que para la segunda aplicación fuera necesario registrarse con el &amp;lt;b&amp;gt;telefono&amp;lt;/b&amp;gt;, cuando este tipo de casos se den, al logearte en la segunda aplicación se abrirá una nueva vista para completar el registro. Una vez completado dicho registro se tratará como un login normal.&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/nc_ios_completar.jpeg&lt;br /&gt;
&lt;br /&gt;
=== FUNCIONES UTILES: ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;NickCenter&amp;lt;/b&amp;gt; está dotada de una función que permite al desarrollador cerrar la sesión ya iniciada por el usuario de manera que la siguiente vez que abra la aplicación y pase por donde se lanza la librería, el usuario deba volver a loguearse. Dicha funcion es :&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;closeSession&amp;lt;/b&amp;gt;: ( [nickCenter closeSession]; )&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== DELEGATES: ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;NickCenter&amp;lt;/b&amp;gt; cuenta con una serie de delegates que permiten al desarrollador saber que parte del framework se esta ejecutando y cual es su resultado. A continuación se expondrán éstos y para que sirven.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;registerViewOpened&amp;lt;/b&amp;gt;: Notifica cuando la vista de registro se ha lanzado.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;loginViewOpened&amp;lt;/b&amp;gt;: Notifica cuando la vista del login se ha lanzado.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;rescueViewOpened&amp;lt;/b&amp;gt;: Notifica cuando la vista de recuperación de contraseña se ha lanzado.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onError:(NSString \*)error&amp;lt;/b&amp;gt;: Notificará cuando haya habido un error, normalmente se lanzará cuando el registro o el login hayan sido incorrectos, o cuando al recuperar la contraseña el email sea incorrecto. Se puede dar el caso de que de otro tipo de error como bien puede ser al conectarnos al sevidor.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onWarning:(NSString \*)warning&amp;lt;/b&amp;gt;: Notificará de alguna advertencia al desarrollador.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;finished&amp;lt;/b&amp;gt;: Notificará cuando la librería haya finalizado algun proceso. Inicio de sesión, registro o recuperación de contraseña correcto.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;sessionClosed&amp;lt;/b&amp;gt;: Notificará cuando se haya cerrado la sesión de NickCenter.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onActive&amp;lt;/b&amp;gt;: Notificará cuando detecte que NickCenter esta activa para la aplicación.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onInactive&amp;lt;/b&amp;gt;: Notificará cuando detecte que NickCenter esta inactiva para la aplicación.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;registerRegisterButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de registarse en la vista de registro de usuario.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;registerLoginButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de inicio de sesión en la vista de registro de usuario.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;registerCloseButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de cerrar en la vista de registro de usuario.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;loginPerformed:(NCUser \&amp;lt;i&amp;gt;) user dictionary:(NSMutableDictionary \&amp;lt;/i&amp;gt;) userDictionary&amp;lt;/b&amp;gt;: Notificará cuando haya habido un registro o un login correcto. Se mandará la información recogida del usuario tanto en formato NCUser como en formato NSMutableDictionary.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;loginLoginButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de inicio de sesión en la vista de inicio de sesión.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;loginRegisterButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de registrarse en la vista de inicio de sesión.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;loginRescueButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de recuperar contraseña en la vista de inicio de sesión.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;loginCloseButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de cerrar en la vista de inicio de sesión.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;rescueRescueButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de recuperar contraseña en la vista de recuperar contraseña.&lt;br /&gt;
&lt;br /&gt;
- &amp;lt;b&amp;gt;rescueCloseButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de cerrar en la vista de recuperar contraseña.&lt;/div&gt;</summary>
		<author><name>Asier</name></author>
	</entry>
	<entry>
		<id>https://wiki.mobeleader.com/index.php?title=SDKs:NickCenter:Cordova:index&amp;diff=2300</id>
		<title>SDKs:NickCenter:Cordova:index</title>
		<link rel="alternate" type="text/html" href="https://wiki.mobeleader.com/index.php?title=SDKs:NickCenter:Cordova:index&amp;diff=2300"/>
		<updated>2018-10-15T15:39:42Z</updated>

		<summary type="html">&lt;p&gt;Asier: /* LANZAMIENTO: */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= CÓMO AGREGAR EL PLUGIN NICKCENTER EN CORDOVA =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{:SDKs:NickCenter:Intro}}&lt;br /&gt;
&lt;br /&gt;
== VERSIONES SOPORTADAS ==&lt;br /&gt;
&lt;br /&gt;
Este Plugin soporta tanto Android como iOS. &lt;br /&gt;
&lt;br /&gt;
Para iOS soporta las versiones superiores a las &amp;lt;b&amp;gt;10.0&amp;lt;/b&amp;gt;, en caso de que detecte una versión inferior no se lanzará.&lt;br /&gt;
&lt;br /&gt;
Para Android soporta todas las versiones superiores a la &amp;lt;b&amp;gt;4.0&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{:SDKs:NickCenter:PanelControl}}&lt;br /&gt;
&lt;br /&gt;
== PASOS A REALIZAR PARA LA INTALACIÓN DEL PLUGIN ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== INSTALACIÓN: ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Para instalar el Plugin, si queremos que funcione en iOS, primero tendremos que instalar el plugin cordova-plugin-cocoapod-support, de la siguiente manera:&lt;br /&gt;
      cordova plugin add cordova-plugin-cocoapod-support&lt;br /&gt;
y después instalar el plugin de Nickcenter de esta manera (si solo lo vamos a usar para android con este plugin es suficiente):&lt;br /&gt;
      cordova plugin add cordova-plugin-nickcenter&lt;br /&gt;
&lt;br /&gt;
Una vez ejecutados los dos comandos ya tendremos el plugin instalado.&lt;br /&gt;
&lt;br /&gt;
=== LANZAMIENTO: ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Una vez configurada la instalación, lanzaremos en el momento donde queramos el código, por ejemplo para iOS:&lt;br /&gt;
&lt;br /&gt;
       cordova.exec(successNickCenterCallback, errorNickCenterCallback,  &amp;quot;nickcenter&amp;quot;,  &amp;quot;launchNickCenter&amp;quot;, [&amp;quot;54e46801egh95&amp;quot;]);&lt;br /&gt;
&lt;br /&gt;
Y Para Android:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Los Argumentos enviados serán los siguientes:&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 1:&amp;lt;/b&amp;gt; Es el AppHash de la aplicación, el cual se puede obtener en el panel, como muestra la siguiente pantalla.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/Obtener_hash_app_14.png&lt;br /&gt;
&lt;br /&gt;
Por defecto las pantallas de &amp;lt;b&amp;gt;NickCenter&amp;lt;/b&amp;gt; presentan el siguiente formato:&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/nc_ios_default.jpeg&lt;br /&gt;
&lt;br /&gt;
Si desea modificar las pantallas para que sean lo más parecidas a su aplicación &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;NickCenter&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; deberá añadir más argumentos, en el siguiente orden (Estos Argumentos son completamente Opcionales):&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 2:&amp;lt;/b&amp;gt; Determina el color de fondo de las pantallas. Este color deberá ponerse en hexadecimal. Ejemplo: &#039;#FF00FF&#039;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 3:&amp;lt;/b&amp;gt; Determina el color de fondo de la cabecera de las pantallas.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 4:&amp;lt;/b&amp;gt; Determina el color de la linea que separa la cabecera con el resto de la pantalla.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 5:&amp;lt;/b&amp;gt; Determina el color del texto de la cabecera de las pantallas.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 6:&amp;lt;/b&amp;gt; Determina el color de fondo de los textfields donde se ubican los campos de cada pantalla.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 7:&amp;lt;/b&amp;gt; Determina el color del texto descriptivo de cada textfield.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 8:&amp;lt;/b&amp;gt; Determina el color del texto de los textfields donde se ubican los campos de cada pantalla.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 9:&amp;lt;/b&amp;gt; Determina el color de fondo de los botones de cada pantalla.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 10:&amp;lt;/b&amp;gt; Determina el color de fondo de los botones de cada pantalla cuando se ha hecho click en éstos.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 11:&amp;lt;/b&amp;gt; Determina el color del texto de cada boton cuando no se ha hecho click en éstos.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 12:&amp;lt;/b&amp;gt; Determina el color del texto de cada boton cuando se ha hecho click en éstos.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 13:&amp;lt;/b&amp;gt; Determina el color del borde de los botones.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 14:&amp;lt;/b&amp;gt; Determina el color de la fuente de los textos de los terminos y condiciones.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 15:&amp;lt;/b&amp;gt; Determina el color de los botones activos en los terminos y condiciones.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 16:&amp;lt;/b&amp;gt; Determina el color de los botones inactivos en los terminos y condiciones.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A continuación se expone un ejemplo en el que se maqueta a gusto del desarrollador las pantallas de &amp;lt;b&amp;gt;NickCenter&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
    nickCenter = [[NickCenter alloc] init];&lt;br /&gt;
    [nickCenter setDelegate:self];&lt;br /&gt;
    [nickCenter setRootViewController:self];&lt;br /&gt;
    [nickCenter setAppHash:@&amp;quot;Hash de la APP en el Panel de Mobeleader&amp;quot;];&lt;br /&gt;
    [nickCenter setViewsBackgroundColor:[UIColor whiteColor]];&lt;br /&gt;
    [nickCenter setViewsBackgroundImage:[UIImage imageNamed:@&amp;quot;logo&amp;quot;]];&lt;br /&gt;
    [nickCenter setHeaderBackgroundColor:[UIColor orangeColor]];&lt;br /&gt;
    [nickCenter setHeaderBottomLineColor:[UIColor orangeColor]];&lt;br /&gt;
    [nickCenter setHeaderTextColor:[UIColor whiteColor]];&lt;br /&gt;
    [nickCenter setTextFieldsBackgroundColor:[UIColor colorWithRed:217.0/255 green:217.0/255 blue:217.0/255 alpha:1]];&lt;br /&gt;
    [nickCenter setTextFieldsPlaceholderColor:[UIColor grayColor]];&lt;br /&gt;
    [nickCenter setTextFieldsTextColor:[UIColor blackColor]];&lt;br /&gt;
    [nickCenter setButtonsNormalBackgroundColor:[UIColor orangeColor]];&lt;br /&gt;
    [nickCenter setButtonsHighlightedBackgroundColor:[UIColor orangeColor]];&lt;br /&gt;
    [nickCenter setButtonsNormalTextColor:[UIColor whiteColor]];&lt;br /&gt;
    [nickCenter setButtonsHighlightedTextColor:[UIColor colorWithRed:249.0/255 green:203.0/255 blue:156.0/255 alpha:1]];&lt;br /&gt;
    [nickCenter setTermsFontColor:[UIColor orangeColor]];&lt;br /&gt;
    [nickCenter checkAndLaunch];&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/nc_ios_desarrollador.jpeg&lt;br /&gt;
&lt;br /&gt;
=== COMPLETAR REGISTRO: ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Una vez un usuario haya sido registrado en una de nuestras aplicaciones, cuando otra lance NickCenter, dicho usuario tan soló debera &amp;lt;b&amp;gt;logearse&amp;lt;/b&amp;gt; sin necesidad de tener que registrarse otra vez para ésta última aplicación. Se puede dar el caso de que al registrarte en la primera aplicación tán solo fuera necesario &amp;lt;b&amp;gt;email y contraseña&amp;lt;/b&amp;gt;, y que para la segunda aplicación fuera necesario registrarse con el &amp;lt;b&amp;gt;telefono&amp;lt;/b&amp;gt;, cuando este tipo de casos se den, al logearte en la segunda aplicación se abrirá una nueva vista para completar el registro. Una vez completado dicho registro se tratará como un login normal.&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/nc_ios_completar.jpeg&lt;br /&gt;
&lt;br /&gt;
=== FUNCIONES UTILES: ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;NickCenter&amp;lt;/b&amp;gt; está dotada de una función que permite al desarrollador cerrar la sesión ya iniciada por el usuario de manera que la siguiente vez que abra la aplicación y pase por donde se lanza la librería, el usuario deba volver a loguearse. Dicha funcion es :&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;closeSession&amp;lt;/b&amp;gt;: ( [nickCenter closeSession]; )&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== DELEGATES: ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;NickCenter&amp;lt;/b&amp;gt; cuenta con una serie de delegates que permiten al desarrollador saber que parte del framework se esta ejecutando y cual es su resultado. A continuación se expondrán éstos y para que sirven.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;registerViewOpened&amp;lt;/b&amp;gt;: Notifica cuando la vista de registro se ha lanzado.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;loginViewOpened&amp;lt;/b&amp;gt;: Notifica cuando la vista del login se ha lanzado.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;rescueViewOpened&amp;lt;/b&amp;gt;: Notifica cuando la vista de recuperación de contraseña se ha lanzado.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onError:(NSString \*)error&amp;lt;/b&amp;gt;: Notificará cuando haya habido un error, normalmente se lanzará cuando el registro o el login hayan sido incorrectos, o cuando al recuperar la contraseña el email sea incorrecto. Se puede dar el caso de que de otro tipo de error como bien puede ser al conectarnos al sevidor.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onWarning:(NSString \*)warning&amp;lt;/b&amp;gt;: Notificará de alguna advertencia al desarrollador.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;finished&amp;lt;/b&amp;gt;: Notificará cuando la librería haya finalizado algun proceso. Inicio de sesión, registro o recuperación de contraseña correcto.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;sessionClosed&amp;lt;/b&amp;gt;: Notificará cuando se haya cerrado la sesión de NickCenter.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onActive&amp;lt;/b&amp;gt;: Notificará cuando detecte que NickCenter esta activa para la aplicación.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onInactive&amp;lt;/b&amp;gt;: Notificará cuando detecte que NickCenter esta inactiva para la aplicación.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;registerRegisterButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de registarse en la vista de registro de usuario.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;registerLoginButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de inicio de sesión en la vista de registro de usuario.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;registerCloseButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de cerrar en la vista de registro de usuario.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;loginPerformed:(NCUser \&amp;lt;i&amp;gt;) user dictionary:(NSMutableDictionary \&amp;lt;/i&amp;gt;) userDictionary&amp;lt;/b&amp;gt;: Notificará cuando haya habido un registro o un login correcto. Se mandará la información recogida del usuario tanto en formato NCUser como en formato NSMutableDictionary.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;loginLoginButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de inicio de sesión en la vista de inicio de sesión.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;loginRegisterButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de registrarse en la vista de inicio de sesión.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;loginRescueButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de recuperar contraseña en la vista de inicio de sesión.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;loginCloseButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de cerrar en la vista de inicio de sesión.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;rescueRescueButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de recuperar contraseña en la vista de recuperar contraseña.&lt;br /&gt;
&lt;br /&gt;
- &amp;lt;b&amp;gt;rescueCloseButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de cerrar en la vista de recuperar contraseña.&lt;/div&gt;</summary>
		<author><name>Asier</name></author>
	</entry>
	<entry>
		<id>https://wiki.mobeleader.com/index.php?title=SDKs:NickCenter:Cordova:index&amp;diff=2299</id>
		<title>SDKs:NickCenter:Cordova:index</title>
		<link rel="alternate" type="text/html" href="https://wiki.mobeleader.com/index.php?title=SDKs:NickCenter:Cordova:index&amp;diff=2299"/>
		<updated>2018-10-15T15:38:43Z</updated>

		<summary type="html">&lt;p&gt;Asier: /* LANZAMIENTO: */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= CÓMO AGREGAR EL PLUGIN NICKCENTER EN CORDOVA =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{:SDKs:NickCenter:Intro}}&lt;br /&gt;
&lt;br /&gt;
== VERSIONES SOPORTADAS ==&lt;br /&gt;
&lt;br /&gt;
Este Plugin soporta tanto Android como iOS. &lt;br /&gt;
&lt;br /&gt;
Para iOS soporta las versiones superiores a las &amp;lt;b&amp;gt;10.0&amp;lt;/b&amp;gt;, en caso de que detecte una versión inferior no se lanzará.&lt;br /&gt;
&lt;br /&gt;
Para Android soporta todas las versiones superiores a la &amp;lt;b&amp;gt;4.0&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{:SDKs:NickCenter:PanelControl}}&lt;br /&gt;
&lt;br /&gt;
== PASOS A REALIZAR PARA LA INTALACIÓN DEL PLUGIN ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== INSTALACIÓN: ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Para instalar el Plugin, si queremos que funcione en iOS, primero tendremos que instalar el plugin cordova-plugin-cocoapod-support, de la siguiente manera:&lt;br /&gt;
      cordova plugin add cordova-plugin-cocoapod-support&lt;br /&gt;
y después instalar el plugin de Nickcenter de esta manera (si solo lo vamos a usar para android con este plugin es suficiente):&lt;br /&gt;
      cordova plugin add cordova-plugin-nickcenter&lt;br /&gt;
&lt;br /&gt;
Una vez ejecutados los dos comandos ya tendremos el plugin instalado.&lt;br /&gt;
&lt;br /&gt;
=== LANZAMIENTO: ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Una vez configurada la instalación, lanzaremos en el momento donde queramos el código, por ejemplo para iOS:&lt;br /&gt;
&lt;br /&gt;
       cordova.exec(successNickCenterCallback, errorNickCenterCallback,  &amp;quot;nickcenter&amp;quot;,  &amp;quot;launchNickCenter&amp;quot;, [&amp;quot;54e46801egh95&amp;quot;, &amp;quot;#f0f0f0&amp;quot;]);&lt;br /&gt;
&lt;br /&gt;
Y Para Android:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Los Argumentos enviados serán los siguientes:&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 1:&amp;lt;/b&amp;gt; Es el AppHash de la aplicación, el cual se puede obtener en el panel, como muestra la siguiente pantalla.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/Obtener_hash_app_14.png&lt;br /&gt;
&lt;br /&gt;
Por defecto las pantallas de &amp;lt;b&amp;gt;NickCenter&amp;lt;/b&amp;gt; presentan el siguiente formato:&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/nc_ios_default.jpeg&lt;br /&gt;
&lt;br /&gt;
Si desea modificar las pantallas para que sean lo más parecidas a su aplicación &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;NickCenter&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; deberá añadir más argumentos, en el siguiente orden (Estos Argumentos son completamente Opcionales):&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 2:&amp;lt;/b&amp;gt; Determina el color de fondo de las pantallas. Este color deberá ponerse en hexadecimal. Ejemplo: &#039;#FF00FF&#039;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 3:&amp;lt;/b&amp;gt; Determina el color de fondo de la cabecera de las pantallas.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 4:&amp;lt;/b&amp;gt; Determina el color de la linea que separa la cabecera con el resto de la pantalla.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 5:&amp;lt;/b&amp;gt; Determina el color del texto de la cabecera de las pantallas.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 6:&amp;lt;/b&amp;gt; Determina el color de fondo de los textfields donde se ubican los campos de cada pantalla.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 7:&amp;lt;/b&amp;gt; Determina el color del texto descriptivo de cada textfield.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 8:&amp;lt;/b&amp;gt; Determina el color del texto de los textfields donde se ubican los campos de cada pantalla.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 9:&amp;lt;/b&amp;gt; Determina el color de fondo de los botones de cada pantalla.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 10:&amp;lt;/b&amp;gt; Determina el color de fondo de los botones de cada pantalla cuando se ha hecho click en éstos.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 11:&amp;lt;/b&amp;gt; Determina el color del texto de cada boton cuando no se ha hecho click en éstos.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 12:&amp;lt;/b&amp;gt; Determina el color del texto de cada boton cuando se ha hecho click en éstos.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 13:&amp;lt;/b&amp;gt; Determina el color del borde de los botones.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 14:&amp;lt;/b&amp;gt; Determina el color de la fuente de los textos de los terminos y condiciones.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 15:&amp;lt;/b&amp;gt; Determina el color de los botones activos en los terminos y condiciones.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 16:&amp;lt;/b&amp;gt; Determina el color de los botones inactivos en los terminos y condiciones.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A continuación se expone un ejemplo en el que se maqueta a gusto del desarrollador las pantallas de &amp;lt;b&amp;gt;NickCenter&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
    nickCenter = [[NickCenter alloc] init];&lt;br /&gt;
    [nickCenter setDelegate:self];&lt;br /&gt;
    [nickCenter setRootViewController:self];&lt;br /&gt;
    [nickCenter setAppHash:@&amp;quot;Hash de la APP en el Panel de Mobeleader&amp;quot;];&lt;br /&gt;
    [nickCenter setViewsBackgroundColor:[UIColor whiteColor]];&lt;br /&gt;
    [nickCenter setViewsBackgroundImage:[UIImage imageNamed:@&amp;quot;logo&amp;quot;]];&lt;br /&gt;
    [nickCenter setHeaderBackgroundColor:[UIColor orangeColor]];&lt;br /&gt;
    [nickCenter setHeaderBottomLineColor:[UIColor orangeColor]];&lt;br /&gt;
    [nickCenter setHeaderTextColor:[UIColor whiteColor]];&lt;br /&gt;
    [nickCenter setTextFieldsBackgroundColor:[UIColor colorWithRed:217.0/255 green:217.0/255 blue:217.0/255 alpha:1]];&lt;br /&gt;
    [nickCenter setTextFieldsPlaceholderColor:[UIColor grayColor]];&lt;br /&gt;
    [nickCenter setTextFieldsTextColor:[UIColor blackColor]];&lt;br /&gt;
    [nickCenter setButtonsNormalBackgroundColor:[UIColor orangeColor]];&lt;br /&gt;
    [nickCenter setButtonsHighlightedBackgroundColor:[UIColor orangeColor]];&lt;br /&gt;
    [nickCenter setButtonsNormalTextColor:[UIColor whiteColor]];&lt;br /&gt;
    [nickCenter setButtonsHighlightedTextColor:[UIColor colorWithRed:249.0/255 green:203.0/255 blue:156.0/255 alpha:1]];&lt;br /&gt;
    [nickCenter setTermsFontColor:[UIColor orangeColor]];&lt;br /&gt;
    [nickCenter checkAndLaunch];&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/nc_ios_desarrollador.jpeg&lt;br /&gt;
&lt;br /&gt;
=== COMPLETAR REGISTRO: ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Una vez un usuario haya sido registrado en una de nuestras aplicaciones, cuando otra lance NickCenter, dicho usuario tan soló debera &amp;lt;b&amp;gt;logearse&amp;lt;/b&amp;gt; sin necesidad de tener que registrarse otra vez para ésta última aplicación. Se puede dar el caso de que al registrarte en la primera aplicación tán solo fuera necesario &amp;lt;b&amp;gt;email y contraseña&amp;lt;/b&amp;gt;, y que para la segunda aplicación fuera necesario registrarse con el &amp;lt;b&amp;gt;telefono&amp;lt;/b&amp;gt;, cuando este tipo de casos se den, al logearte en la segunda aplicación se abrirá una nueva vista para completar el registro. Una vez completado dicho registro se tratará como un login normal.&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/nc_ios_completar.jpeg&lt;br /&gt;
&lt;br /&gt;
=== FUNCIONES UTILES: ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;NickCenter&amp;lt;/b&amp;gt; está dotada de una función que permite al desarrollador cerrar la sesión ya iniciada por el usuario de manera que la siguiente vez que abra la aplicación y pase por donde se lanza la librería, el usuario deba volver a loguearse. Dicha funcion es :&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;closeSession&amp;lt;/b&amp;gt;: ( [nickCenter closeSession]; )&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== DELEGATES: ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;NickCenter&amp;lt;/b&amp;gt; cuenta con una serie de delegates que permiten al desarrollador saber que parte del framework se esta ejecutando y cual es su resultado. A continuación se expondrán éstos y para que sirven.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;registerViewOpened&amp;lt;/b&amp;gt;: Notifica cuando la vista de registro se ha lanzado.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;loginViewOpened&amp;lt;/b&amp;gt;: Notifica cuando la vista del login se ha lanzado.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;rescueViewOpened&amp;lt;/b&amp;gt;: Notifica cuando la vista de recuperación de contraseña se ha lanzado.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onError:(NSString \*)error&amp;lt;/b&amp;gt;: Notificará cuando haya habido un error, normalmente se lanzará cuando el registro o el login hayan sido incorrectos, o cuando al recuperar la contraseña el email sea incorrecto. Se puede dar el caso de que de otro tipo de error como bien puede ser al conectarnos al sevidor.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onWarning:(NSString \*)warning&amp;lt;/b&amp;gt;: Notificará de alguna advertencia al desarrollador.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;finished&amp;lt;/b&amp;gt;: Notificará cuando la librería haya finalizado algun proceso. Inicio de sesión, registro o recuperación de contraseña correcto.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;sessionClosed&amp;lt;/b&amp;gt;: Notificará cuando se haya cerrado la sesión de NickCenter.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onActive&amp;lt;/b&amp;gt;: Notificará cuando detecte que NickCenter esta activa para la aplicación.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onInactive&amp;lt;/b&amp;gt;: Notificará cuando detecte que NickCenter esta inactiva para la aplicación.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;registerRegisterButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de registarse en la vista de registro de usuario.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;registerLoginButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de inicio de sesión en la vista de registro de usuario.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;registerCloseButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de cerrar en la vista de registro de usuario.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;loginPerformed:(NCUser \&amp;lt;i&amp;gt;) user dictionary:(NSMutableDictionary \&amp;lt;/i&amp;gt;) userDictionary&amp;lt;/b&amp;gt;: Notificará cuando haya habido un registro o un login correcto. Se mandará la información recogida del usuario tanto en formato NCUser como en formato NSMutableDictionary.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;loginLoginButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de inicio de sesión en la vista de inicio de sesión.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;loginRegisterButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de registrarse en la vista de inicio de sesión.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;loginRescueButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de recuperar contraseña en la vista de inicio de sesión.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;loginCloseButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de cerrar en la vista de inicio de sesión.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;rescueRescueButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de recuperar contraseña en la vista de recuperar contraseña.&lt;br /&gt;
&lt;br /&gt;
- &amp;lt;b&amp;gt;rescueCloseButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de cerrar en la vista de recuperar contraseña.&lt;/div&gt;</summary>
		<author><name>Asier</name></author>
	</entry>
	<entry>
		<id>https://wiki.mobeleader.com/index.php?title=SDKs:NickCenter:Cordova:index&amp;diff=2298</id>
		<title>SDKs:NickCenter:Cordova:index</title>
		<link rel="alternate" type="text/html" href="https://wiki.mobeleader.com/index.php?title=SDKs:NickCenter:Cordova:index&amp;diff=2298"/>
		<updated>2018-10-15T12:15:47Z</updated>

		<summary type="html">&lt;p&gt;Asier: /* LANZAMIENTO: */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= CÓMO AGREGAR EL PLUGIN NICKCENTER EN CORDOVA =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{:SDKs:NickCenter:Intro}}&lt;br /&gt;
&lt;br /&gt;
== VERSIONES SOPORTADAS ==&lt;br /&gt;
&lt;br /&gt;
Este Plugin soporta tanto Android como iOS. &lt;br /&gt;
&lt;br /&gt;
Para iOS soporta las versiones superiores a las &amp;lt;b&amp;gt;10.0&amp;lt;/b&amp;gt;, en caso de que detecte una versión inferior no se lanzará.&lt;br /&gt;
&lt;br /&gt;
Para Android soporta todas las versiones superiores a la &amp;lt;b&amp;gt;4.0&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{:SDKs:NickCenter:PanelControl}}&lt;br /&gt;
&lt;br /&gt;
== PASOS A REALIZAR PARA LA INTALACIÓN DEL PLUGIN ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== INSTALACIÓN: ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Para instalar el Plugin, si queremos que funcione en iOS, primero tendremos que instalar el plugin cordova-plugin-cocoapod-support, de la siguiente manera:&lt;br /&gt;
      cordova plugin add cordova-plugin-cocoapod-support&lt;br /&gt;
y después instalar el plugin de Nickcenter de esta manera (si solo lo vamos a usar para android con este plugin es suficiente):&lt;br /&gt;
      cordova plugin add cordova-plugin-nickcenter&lt;br /&gt;
&lt;br /&gt;
Una vez ejecutados los dos comandos ya tendremos el plugin instalado.&lt;br /&gt;
&lt;br /&gt;
=== LANZAMIENTO: ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Una vez configurada la instalación, lanzaremos en el momento donde queramos el código, por ejemplo para iOS:&lt;br /&gt;
&lt;br /&gt;
       cordova.exec(successNickCenterCallback, errorNickCenterCallback,  &amp;quot;nickcenter&amp;quot;,  &amp;quot;launchNickCenter&amp;quot;, [&amp;quot;54e46801egh95&amp;quot;, &amp;quot;#f0f0f0&amp;quot;]);&lt;br /&gt;
&lt;br /&gt;
Y Para Android:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Los Argumentos enviados serán los siguientes:&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 1:&amp;lt;/b&amp;gt; Es el AppHash de la aplicación, el cual se puede obtener en el panel, como muestra la siguiente pantalla.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/Obtener_hash_app_14.png&lt;br /&gt;
&lt;br /&gt;
Por defecto las pantallas de &amp;lt;b&amp;gt;NickCenter&amp;lt;/b&amp;gt; presentan el siguiente formato:&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/nc_ios_default.jpeg&lt;br /&gt;
&lt;br /&gt;
Si desea modificar las pantallas para que sean lo más parecidas a su aplicación &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;NickCenter&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; deberá añadir más argumentos, en el siguiente orden:&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 2:&amp;lt;/b&amp;gt; Determina el color de fondo de las pantallas.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 3:&amp;lt;/b&amp;gt; Determina el color de fondo de la cabecera de las pantallas.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setHeaderBackgroundImage:(UIImage \*):&amp;lt;/b&amp;gt; Determina la imagen de fondo de la cabecera de cada pantalla.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setHeaderBottomLineColor:(UIColor \*):&amp;lt;/b&amp;gt; Determina el color de la linea que separa la cabecera con el resto de la pantalla.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setHeaderTextColor:(UIColor \*):&amp;lt;/b&amp;gt; Determina el color del texto de la cabecera de las pantallas.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setHeaderFont:(UIFont \*):&amp;lt;/b&amp;gt; Determina la fuente de los textos de las cabeceras.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setTextFieldsBackgroundColor:(UIColor \*):&amp;lt;/b&amp;gt; Determina el color de fondo de los textfields donde se ubican los campos de cada pantalla.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setTextFieldsPlaceholderColor:(UIColor \*):&amp;lt;/b&amp;gt; Determina el color del texto descriptivo de cada textfield.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setTextFieldsTextColor:(UIColor \*):&amp;lt;/b&amp;gt; Determina el color del texto de los textfields donde se ubican los campos de cada pantalla.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setTextFieldsFont:(UIFont \*):&amp;lt;/b&amp;gt; Determina la fuente del texto de los textfields.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setButtonsNormalBackgroundColor:(UIColor \*):&amp;lt;/b&amp;gt; Determina el color de fondo de los botones de cada pantalla.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setButtonsHighlightedBackgroundColor:(UIColor \*):&amp;lt;/b&amp;gt; Determina el color de fondo de los botones de cada pantalla cuando se ha hecho click en éstos.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setButtonsNormalTextColor:(UIColor \*):&amp;lt;/b&amp;gt; Determina el color del texto de cada boton cuando no se ha hecho click en éstos.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setButtonsHighlightedTextColor:(UIColor \*):&amp;lt;/b&amp;gt; Determina el color del texto de cada boton cuando se ha hecho click en éstos.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setButtonsBorderColor:(UIColor \*):&amp;lt;/b&amp;gt; Determina el color del borde de los botones.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setButtonsFont:(UIFont \*):&amp;lt;/b&amp;gt; Determina la fuente de los textos de los botones.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setTermsFontColor:(UIColor \*):&amp;lt;/b&amp;gt; Determina el color de la fuente de los textos de los terminos y condiciones.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setTermsSwitchActiveColor:(UIColor \*):&amp;lt;/b&amp;gt; Determina el color de los botones activos en los terminos y condiciones.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setTermsSwitchInactiveColor:(UIColor \*):&amp;lt;/b&amp;gt; Determina el color de los botones inactivos en los terminos y condiciones.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A continuación se expone un ejemplo en el que se maqueta a gusto del desarrollador las pantallas de &amp;lt;b&amp;gt;NickCenter&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
    nickCenter = [[NickCenter alloc] init];&lt;br /&gt;
    [nickCenter setDelegate:self];&lt;br /&gt;
    [nickCenter setRootViewController:self];&lt;br /&gt;
    [nickCenter setAppHash:@&amp;quot;Hash de la APP en el Panel de Mobeleader&amp;quot;];&lt;br /&gt;
    [nickCenter setViewsBackgroundColor:[UIColor whiteColor]];&lt;br /&gt;
    [nickCenter setViewsBackgroundImage:[UIImage imageNamed:@&amp;quot;logo&amp;quot;]];&lt;br /&gt;
    [nickCenter setHeaderBackgroundColor:[UIColor orangeColor]];&lt;br /&gt;
    [nickCenter setHeaderBottomLineColor:[UIColor orangeColor]];&lt;br /&gt;
    [nickCenter setHeaderTextColor:[UIColor whiteColor]];&lt;br /&gt;
    [nickCenter setTextFieldsBackgroundColor:[UIColor colorWithRed:217.0/255 green:217.0/255 blue:217.0/255 alpha:1]];&lt;br /&gt;
    [nickCenter setTextFieldsPlaceholderColor:[UIColor grayColor]];&lt;br /&gt;
    [nickCenter setTextFieldsTextColor:[UIColor blackColor]];&lt;br /&gt;
    [nickCenter setButtonsNormalBackgroundColor:[UIColor orangeColor]];&lt;br /&gt;
    [nickCenter setButtonsHighlightedBackgroundColor:[UIColor orangeColor]];&lt;br /&gt;
    [nickCenter setButtonsNormalTextColor:[UIColor whiteColor]];&lt;br /&gt;
    [nickCenter setButtonsHighlightedTextColor:[UIColor colorWithRed:249.0/255 green:203.0/255 blue:156.0/255 alpha:1]];&lt;br /&gt;
    [nickCenter setTermsFontColor:[UIColor orangeColor]];&lt;br /&gt;
    [nickCenter checkAndLaunch];&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/nc_ios_desarrollador.jpeg&lt;br /&gt;
&lt;br /&gt;
=== COMPLETAR REGISTRO: ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Una vez un usuario haya sido registrado en una de nuestras aplicaciones, cuando otra lance NickCenter, dicho usuario tan soló debera &amp;lt;b&amp;gt;logearse&amp;lt;/b&amp;gt; sin necesidad de tener que registrarse otra vez para ésta última aplicación. Se puede dar el caso de que al registrarte en la primera aplicación tán solo fuera necesario &amp;lt;b&amp;gt;email y contraseña&amp;lt;/b&amp;gt;, y que para la segunda aplicación fuera necesario registrarse con el &amp;lt;b&amp;gt;telefono&amp;lt;/b&amp;gt;, cuando este tipo de casos se den, al logearte en la segunda aplicación se abrirá una nueva vista para completar el registro. Una vez completado dicho registro se tratará como un login normal.&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/nc_ios_completar.jpeg&lt;br /&gt;
&lt;br /&gt;
=== FUNCIONES UTILES: ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;NickCenter&amp;lt;/b&amp;gt; está dotada de una función que permite al desarrollador cerrar la sesión ya iniciada por el usuario de manera que la siguiente vez que abra la aplicación y pase por donde se lanza la librería, el usuario deba volver a loguearse. Dicha funcion es :&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;closeSession&amp;lt;/b&amp;gt;: ( [nickCenter closeSession]; )&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== DELEGATES: ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;NickCenter&amp;lt;/b&amp;gt; cuenta con una serie de delegates que permiten al desarrollador saber que parte del framework se esta ejecutando y cual es su resultado. A continuación se expondrán éstos y para que sirven.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;registerViewOpened&amp;lt;/b&amp;gt;: Notifica cuando la vista de registro se ha lanzado.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;loginViewOpened&amp;lt;/b&amp;gt;: Notifica cuando la vista del login se ha lanzado.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;rescueViewOpened&amp;lt;/b&amp;gt;: Notifica cuando la vista de recuperación de contraseña se ha lanzado.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onError:(NSString \*)error&amp;lt;/b&amp;gt;: Notificará cuando haya habido un error, normalmente se lanzará cuando el registro o el login hayan sido incorrectos, o cuando al recuperar la contraseña el email sea incorrecto. Se puede dar el caso de que de otro tipo de error como bien puede ser al conectarnos al sevidor.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onWarning:(NSString \*)warning&amp;lt;/b&amp;gt;: Notificará de alguna advertencia al desarrollador.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;finished&amp;lt;/b&amp;gt;: Notificará cuando la librería haya finalizado algun proceso. Inicio de sesión, registro o recuperación de contraseña correcto.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;sessionClosed&amp;lt;/b&amp;gt;: Notificará cuando se haya cerrado la sesión de NickCenter.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onActive&amp;lt;/b&amp;gt;: Notificará cuando detecte que NickCenter esta activa para la aplicación.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onInactive&amp;lt;/b&amp;gt;: Notificará cuando detecte que NickCenter esta inactiva para la aplicación.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;registerRegisterButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de registarse en la vista de registro de usuario.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;registerLoginButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de inicio de sesión en la vista de registro de usuario.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;registerCloseButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de cerrar en la vista de registro de usuario.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;loginPerformed:(NCUser \&amp;lt;i&amp;gt;) user dictionary:(NSMutableDictionary \&amp;lt;/i&amp;gt;) userDictionary&amp;lt;/b&amp;gt;: Notificará cuando haya habido un registro o un login correcto. Se mandará la información recogida del usuario tanto en formato NCUser como en formato NSMutableDictionary.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;loginLoginButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de inicio de sesión en la vista de inicio de sesión.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;loginRegisterButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de registrarse en la vista de inicio de sesión.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;loginRescueButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de recuperar contraseña en la vista de inicio de sesión.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;loginCloseButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de cerrar en la vista de inicio de sesión.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;rescueRescueButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de recuperar contraseña en la vista de recuperar contraseña.&lt;br /&gt;
&lt;br /&gt;
- &amp;lt;b&amp;gt;rescueCloseButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de cerrar en la vista de recuperar contraseña.&lt;/div&gt;</summary>
		<author><name>Asier</name></author>
	</entry>
	<entry>
		<id>https://wiki.mobeleader.com/index.php?title=SDKs:NickCenter:Cordova:index&amp;diff=2297</id>
		<title>SDKs:NickCenter:Cordova:index</title>
		<link rel="alternate" type="text/html" href="https://wiki.mobeleader.com/index.php?title=SDKs:NickCenter:Cordova:index&amp;diff=2297"/>
		<updated>2018-10-15T12:15:07Z</updated>

		<summary type="html">&lt;p&gt;Asier: /* LANZAMIENTO: */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= CÓMO AGREGAR EL PLUGIN NICKCENTER EN CORDOVA =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{:SDKs:NickCenter:Intro}}&lt;br /&gt;
&lt;br /&gt;
== VERSIONES SOPORTADAS ==&lt;br /&gt;
&lt;br /&gt;
Este Plugin soporta tanto Android como iOS. &lt;br /&gt;
&lt;br /&gt;
Para iOS soporta las versiones superiores a las &amp;lt;b&amp;gt;10.0&amp;lt;/b&amp;gt;, en caso de que detecte una versión inferior no se lanzará.&lt;br /&gt;
&lt;br /&gt;
Para Android soporta todas las versiones superiores a la &amp;lt;b&amp;gt;4.0&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{:SDKs:NickCenter:PanelControl}}&lt;br /&gt;
&lt;br /&gt;
== PASOS A REALIZAR PARA LA INTALACIÓN DEL PLUGIN ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== INSTALACIÓN: ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Para instalar el Plugin, si queremos que funcione en iOS, primero tendremos que instalar el plugin cordova-plugin-cocoapod-support, de la siguiente manera:&lt;br /&gt;
      cordova plugin add cordova-plugin-cocoapod-support&lt;br /&gt;
y después instalar el plugin de Nickcenter de esta manera (si solo lo vamos a usar para android con este plugin es suficiente):&lt;br /&gt;
      cordova plugin add cordova-plugin-nickcenter&lt;br /&gt;
&lt;br /&gt;
Una vez ejecutados los dos comandos ya tendremos el plugin instalado.&lt;br /&gt;
&lt;br /&gt;
=== LANZAMIENTO: ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Una vez configurada la instalación, lanzaremos en el momento donde queramos el código, por ejemplo para iOS:&lt;br /&gt;
&lt;br /&gt;
       cordova.exec(successNickCenterCallback, errorNickCenterCallback,  &amp;quot;nickcenter&amp;quot;,  &amp;quot;launchNickCenter&amp;quot;, [&amp;quot;54e46801egh95&amp;quot;, &amp;quot;#f0f0f0&amp;quot;]);&lt;br /&gt;
&lt;br /&gt;
Y Para Android:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Los Argumentos enviados serán los siguientes:&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 1:&amp;lt;/b&amp;gt; Es el AppHash de la aplicación, el cual se puede obtener en el panel, como muestra la siguiente pantalla.&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/Obtener_hash_app_14.png&lt;br /&gt;
&lt;br /&gt;
Por defecto las pantallas de &amp;lt;b&amp;gt;NickCenter&amp;lt;/b&amp;gt; presentan el siguiente formato:&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/nc_ios_default.jpeg&lt;br /&gt;
&lt;br /&gt;
Si desea modificar las pantallas para que sean lo más parecidas a su aplicación &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;NickCenter&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; deberá añadir más argumentos, en el siguiente orden:&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 2:&amp;lt;/b&amp;gt; Determina el color de fondo de las pantallas.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Argumento 3:&amp;lt;/b&amp;gt; Determina el color de fondo de la cabecera de las pantallas.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setHeaderBackgroundImage:(UIImage \*):&amp;lt;/b&amp;gt; Determina la imagen de fondo de la cabecera de cada pantalla.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setHeaderBottomLineColor:(UIColor \*):&amp;lt;/b&amp;gt; Determina el color de la linea que separa la cabecera con el resto de la pantalla.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setHeaderTextColor:(UIColor \*):&amp;lt;/b&amp;gt; Determina el color del texto de la cabecera de las pantallas.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setHeaderFont:(UIFont \*):&amp;lt;/b&amp;gt; Determina la fuente de los textos de las cabeceras.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setTextFieldsBackgroundColor:(UIColor \*):&amp;lt;/b&amp;gt; Determina el color de fondo de los textfields donde se ubican los campos de cada pantalla.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setTextFieldsPlaceholderColor:(UIColor \*):&amp;lt;/b&amp;gt; Determina el color del texto descriptivo de cada textfield.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setTextFieldsTextColor:(UIColor \*):&amp;lt;/b&amp;gt; Determina el color del texto de los textfields donde se ubican los campos de cada pantalla.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setTextFieldsFont:(UIFont \*):&amp;lt;/b&amp;gt; Determina la fuente del texto de los textfields.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setButtonsNormalBackgroundColor:(UIColor \*):&amp;lt;/b&amp;gt; Determina el color de fondo de los botones de cada pantalla.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setButtonsHighlightedBackgroundColor:(UIColor \*):&amp;lt;/b&amp;gt; Determina el color de fondo de los botones de cada pantalla cuando se ha hecho click en éstos.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setButtonsNormalTextColor:(UIColor \*):&amp;lt;/b&amp;gt; Determina el color del texto de cada boton cuando no se ha hecho click en éstos.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setButtonsHighlightedTextColor:(UIColor \*):&amp;lt;/b&amp;gt; Determina el color del texto de cada boton cuando se ha hecho click en éstos.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setButtonsBorderColor:(UIColor \*):&amp;lt;/b&amp;gt; Determina el color del borde de los botones.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setButtonsFont:(UIFont \*):&amp;lt;/b&amp;gt; Determina la fuente de los textos de los botones.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setTermsFontColor:(UIColor \*):&amp;lt;/b&amp;gt; Determina el color de la fuente de los textos de los terminos y condiciones.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setTermsSwitchActiveColor:(UIColor \*):&amp;lt;/b&amp;gt; Determina el color de los botones activos en los terminos y condiciones.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setTermsSwitchInactiveColor:(UIColor \*):&amp;lt;/b&amp;gt; Determina el color de los botones inactivos en los terminos y condiciones.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A continuación se expone un ejemplo en el que se maqueta a gusto del desarrollador las pantallas de &amp;lt;b&amp;gt;NickCenter&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
    nickCenter = [[NickCenter alloc] init];&lt;br /&gt;
    [nickCenter setDelegate:self];&lt;br /&gt;
    [nickCenter setRootViewController:self];&lt;br /&gt;
    [nickCenter setAppHash:@&amp;quot;Hash de la APP en el Panel de Mobeleader&amp;quot;];&lt;br /&gt;
    [nickCenter setViewsBackgroundColor:[UIColor whiteColor]];&lt;br /&gt;
    [nickCenter setViewsBackgroundImage:[UIImage imageNamed:@&amp;quot;logo&amp;quot;]];&lt;br /&gt;
    [nickCenter setHeaderBackgroundColor:[UIColor orangeColor]];&lt;br /&gt;
    [nickCenter setHeaderBottomLineColor:[UIColor orangeColor]];&lt;br /&gt;
    [nickCenter setHeaderTextColor:[UIColor whiteColor]];&lt;br /&gt;
    [nickCenter setTextFieldsBackgroundColor:[UIColor colorWithRed:217.0/255 green:217.0/255 blue:217.0/255 alpha:1]];&lt;br /&gt;
    [nickCenter setTextFieldsPlaceholderColor:[UIColor grayColor]];&lt;br /&gt;
    [nickCenter setTextFieldsTextColor:[UIColor blackColor]];&lt;br /&gt;
    [nickCenter setButtonsNormalBackgroundColor:[UIColor orangeColor]];&lt;br /&gt;
    [nickCenter setButtonsHighlightedBackgroundColor:[UIColor orangeColor]];&lt;br /&gt;
    [nickCenter setButtonsNormalTextColor:[UIColor whiteColor]];&lt;br /&gt;
    [nickCenter setButtonsHighlightedTextColor:[UIColor colorWithRed:249.0/255 green:203.0/255 blue:156.0/255 alpha:1]];&lt;br /&gt;
    [nickCenter setTermsFontColor:[UIColor orangeColor]];&lt;br /&gt;
    [nickCenter checkAndLaunch];&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/nc_ios_desarrollador.jpeg&lt;br /&gt;
&lt;br /&gt;
=== COMPLETAR REGISTRO: ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Una vez un usuario haya sido registrado en una de nuestras aplicaciones, cuando otra lance NickCenter, dicho usuario tan soló debera &amp;lt;b&amp;gt;logearse&amp;lt;/b&amp;gt; sin necesidad de tener que registrarse otra vez para ésta última aplicación. Se puede dar el caso de que al registrarte en la primera aplicación tán solo fuera necesario &amp;lt;b&amp;gt;email y contraseña&amp;lt;/b&amp;gt;, y que para la segunda aplicación fuera necesario registrarse con el &amp;lt;b&amp;gt;telefono&amp;lt;/b&amp;gt;, cuando este tipo de casos se den, al logearte en la segunda aplicación se abrirá una nueva vista para completar el registro. Una vez completado dicho registro se tratará como un login normal.&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/nc_ios_completar.jpeg&lt;br /&gt;
&lt;br /&gt;
=== FUNCIONES UTILES: ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;NickCenter&amp;lt;/b&amp;gt; está dotada de una función que permite al desarrollador cerrar la sesión ya iniciada por el usuario de manera que la siguiente vez que abra la aplicación y pase por donde se lanza la librería, el usuario deba volver a loguearse. Dicha funcion es :&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;closeSession&amp;lt;/b&amp;gt;: ( [nickCenter closeSession]; )&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== DELEGATES: ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;NickCenter&amp;lt;/b&amp;gt; cuenta con una serie de delegates que permiten al desarrollador saber que parte del framework se esta ejecutando y cual es su resultado. A continuación se expondrán éstos y para que sirven.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;registerViewOpened&amp;lt;/b&amp;gt;: Notifica cuando la vista de registro se ha lanzado.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;loginViewOpened&amp;lt;/b&amp;gt;: Notifica cuando la vista del login se ha lanzado.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;rescueViewOpened&amp;lt;/b&amp;gt;: Notifica cuando la vista de recuperación de contraseña se ha lanzado.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onError:(NSString \*)error&amp;lt;/b&amp;gt;: Notificará cuando haya habido un error, normalmente se lanzará cuando el registro o el login hayan sido incorrectos, o cuando al recuperar la contraseña el email sea incorrecto. Se puede dar el caso de que de otro tipo de error como bien puede ser al conectarnos al sevidor.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onWarning:(NSString \*)warning&amp;lt;/b&amp;gt;: Notificará de alguna advertencia al desarrollador.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;finished&amp;lt;/b&amp;gt;: Notificará cuando la librería haya finalizado algun proceso. Inicio de sesión, registro o recuperación de contraseña correcto.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;sessionClosed&amp;lt;/b&amp;gt;: Notificará cuando se haya cerrado la sesión de NickCenter.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onActive&amp;lt;/b&amp;gt;: Notificará cuando detecte que NickCenter esta activa para la aplicación.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onInactive&amp;lt;/b&amp;gt;: Notificará cuando detecte que NickCenter esta inactiva para la aplicación.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;registerRegisterButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de registarse en la vista de registro de usuario.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;registerLoginButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de inicio de sesión en la vista de registro de usuario.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;registerCloseButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de cerrar en la vista de registro de usuario.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;loginPerformed:(NCUser \&amp;lt;i&amp;gt;) user dictionary:(NSMutableDictionary \&amp;lt;/i&amp;gt;) userDictionary&amp;lt;/b&amp;gt;: Notificará cuando haya habido un registro o un login correcto. Se mandará la información recogida del usuario tanto en formato NCUser como en formato NSMutableDictionary.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;loginLoginButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de inicio de sesión en la vista de inicio de sesión.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;loginRegisterButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de registrarse en la vista de inicio de sesión.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;loginRescueButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de recuperar contraseña en la vista de inicio de sesión.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;loginCloseButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de cerrar en la vista de inicio de sesión.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;rescueRescueButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de recuperar contraseña en la vista de recuperar contraseña.&lt;br /&gt;
&lt;br /&gt;
- &amp;lt;b&amp;gt;rescueCloseButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de cerrar en la vista de recuperar contraseña.&lt;/div&gt;</summary>
		<author><name>Asier</name></author>
	</entry>
	<entry>
		<id>https://wiki.mobeleader.com/index.php?title=SDKs:NickCenter:Cordova:index&amp;diff=2296</id>
		<title>SDKs:NickCenter:Cordova:index</title>
		<link rel="alternate" type="text/html" href="https://wiki.mobeleader.com/index.php?title=SDKs:NickCenter:Cordova:index&amp;diff=2296"/>
		<updated>2018-10-15T11:59:00Z</updated>

		<summary type="html">&lt;p&gt;Asier: ue intalar el plugin&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= CÓMO AGREGAR EL PLUGIN NICKCENTER EN CORDOVA =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{:SDKs:NickCenter:Intro}}&lt;br /&gt;
&lt;br /&gt;
== VERSIONES SOPORTADAS ==&lt;br /&gt;
&lt;br /&gt;
Este Plugin soporta tanto Android como iOS. &lt;br /&gt;
&lt;br /&gt;
Para iOS soporta las versiones superiores a las &amp;lt;b&amp;gt;10.0&amp;lt;/b&amp;gt;, en caso de que detecte una versión inferior no se lanzará.&lt;br /&gt;
&lt;br /&gt;
Para Android soporta todas las versiones superiores a la &amp;lt;b&amp;gt;4.0&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{:SDKs:NickCenter:PanelControl}}&lt;br /&gt;
&lt;br /&gt;
== PASOS A REALIZAR PARA LA INTALACIÓN DEL PLUGIN ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== INSTALACIÓN: ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Para instalar el Plugin, si queremos que funcione en iOS, primero tendremos que instalar el plugin cordova-plugin-cocoapod-support, de la siguiente manera:&lt;br /&gt;
      cordova plugin add cordova-plugin-cocoapod-support&lt;br /&gt;
y después instalar el plugin de Nickcenter de esta manera (si solo lo vamos a usar para android con este plugin es suficiente):&lt;br /&gt;
      cordova plugin add cordova-plugin-nickcenter&lt;br /&gt;
&lt;br /&gt;
Una vez ejecutados los dos comandos ya tendremos el plugin instalado.&lt;br /&gt;
&lt;br /&gt;
=== LANZAMIENTO: ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Una vez configurada la instalación, crearemos un objeto de la clase NickCenter en donde vayamos a usarla, en el ejemplo se hace en la implementacion de la clase ( DatosIniciales ):&lt;br /&gt;
&lt;br /&gt;
    @implementation DatosIniciales{&lt;br /&gt;
		NickCenter *nickCenter;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Para su lanzamiento se insertarán las siguientes lineas de código.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    nickCenter = [[NickCenter alloc] init];&lt;br /&gt;
    [nickCenter setDelegate:self];&lt;br /&gt;
    [nickCenter setRootViewController:self];&lt;br /&gt;
    [nickCenter setAppHash:@&amp;quot;Hash de la APP en el Panel de Mobeleader&amp;quot;];&lt;br /&gt;
    [nickCenter checkAndLaunch];&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;appHash&amp;lt;/b&amp;gt;: Será el hash dado por el Panel Mobeleader al dar de alta la aplicación en éste.  Para acceder a el deberemos ir a la sección &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;Desarrolladores&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; --&amp;gt; &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;Mis Apps&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; y hacer click sobre la columna &amp;lt;b&amp;gt;Hash&amp;lt;/b&amp;gt; de nuestra aplicación.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setRootViewController&amp;lt;/b&amp;gt;: Ésta función será opcional, con ella le diremos al framework desde que ViewController se lanzará y se recogerán las respuestas en los delegates.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/Obtener_hash_app_14.png&lt;br /&gt;
&lt;br /&gt;
Por defecto las pantallas de &amp;lt;b&amp;gt;NickCenter&amp;lt;/b&amp;gt; presentan el siguiente formato:&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/nc_ios_default.jpeg&lt;br /&gt;
&lt;br /&gt;
Si desea modificar las pantallas para que sean lo más parecidas a su aplicación el framework de &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;NickCenter&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; esta dotado de una serie de funciones que le permitirán maquetarlas a su gusto:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setViewsBackgroundColor:(UIColor \*):&amp;lt;/b&amp;gt; Determina el color de fondo de las pantallas.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setViewsBackgroundImage:(UIImage \*):&amp;lt;/b&amp;gt; Determina la imagen de fondo de cada pantalla.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setHeaderBackgroundColor:(UIColor \*):&amp;lt;/b&amp;gt; Determina el color de fondo de la cabecera de las pantallas.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setHeaderBackgroundImage:(UIImage \*):&amp;lt;/b&amp;gt; Determina la imagen de fondo de la cabecera de cada pantalla.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setHeaderBottomLineColor:(UIColor \*):&amp;lt;/b&amp;gt; Determina el color de la linea que separa la cabecera con el resto de la pantalla.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setHeaderTextColor:(UIColor \*):&amp;lt;/b&amp;gt; Determina el color del texto de la cabecera de las pantallas.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setHeaderFont:(UIFont \*):&amp;lt;/b&amp;gt; Determina la fuente de los textos de las cabeceras.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setTextFieldsBackgroundColor:(UIColor \*):&amp;lt;/b&amp;gt; Determina el color de fondo de los textfields donde se ubican los campos de cada pantalla.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setTextFieldsPlaceholderColor:(UIColor \*):&amp;lt;/b&amp;gt; Determina el color del texto descriptivo de cada textfield.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setTextFieldsTextColor:(UIColor \*):&amp;lt;/b&amp;gt; Determina el color del texto de los textfields donde se ubican los campos de cada pantalla.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setTextFieldsFont:(UIFont \*):&amp;lt;/b&amp;gt; Determina la fuente del texto de los textfields.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setButtonsNormalBackgroundColor:(UIColor \*):&amp;lt;/b&amp;gt; Determina el color de fondo de los botones de cada pantalla.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setButtonsHighlightedBackgroundColor:(UIColor \*):&amp;lt;/b&amp;gt; Determina el color de fondo de los botones de cada pantalla cuando se ha hecho click en éstos.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setButtonsNormalTextColor:(UIColor \*):&amp;lt;/b&amp;gt; Determina el color del texto de cada boton cuando no se ha hecho click en éstos.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setButtonsHighlightedTextColor:(UIColor \*):&amp;lt;/b&amp;gt; Determina el color del texto de cada boton cuando se ha hecho click en éstos.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setButtonsBorderColor:(UIColor \*):&amp;lt;/b&amp;gt; Determina el color del borde de los botones.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setButtonsFont:(UIFont \*):&amp;lt;/b&amp;gt; Determina la fuente de los textos de los botones.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setTermsFontColor:(UIColor \*):&amp;lt;/b&amp;gt; Determina el color de la fuente de los textos de los terminos y condiciones.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setTermsSwitchActiveColor:(UIColor \*):&amp;lt;/b&amp;gt; Determina el color de los botones activos en los terminos y condiciones.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setTermsSwitchInactiveColor:(UIColor \*):&amp;lt;/b&amp;gt; Determina el color de los botones inactivos en los terminos y condiciones.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A continuación se expone un ejemplo en el que se maqueta a gusto del desarrollador las pantallas de &amp;lt;b&amp;gt;NickCenter&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
    nickCenter = [[NickCenter alloc] init];&lt;br /&gt;
    [nickCenter setDelegate:self];&lt;br /&gt;
    [nickCenter setRootViewController:self];&lt;br /&gt;
    [nickCenter setAppHash:@&amp;quot;Hash de la APP en el Panel de Mobeleader&amp;quot;];&lt;br /&gt;
    [nickCenter setViewsBackgroundColor:[UIColor whiteColor]];&lt;br /&gt;
    [nickCenter setViewsBackgroundImage:[UIImage imageNamed:@&amp;quot;logo&amp;quot;]];&lt;br /&gt;
    [nickCenter setHeaderBackgroundColor:[UIColor orangeColor]];&lt;br /&gt;
    [nickCenter setHeaderBottomLineColor:[UIColor orangeColor]];&lt;br /&gt;
    [nickCenter setHeaderTextColor:[UIColor whiteColor]];&lt;br /&gt;
    [nickCenter setTextFieldsBackgroundColor:[UIColor colorWithRed:217.0/255 green:217.0/255 blue:217.0/255 alpha:1]];&lt;br /&gt;
    [nickCenter setTextFieldsPlaceholderColor:[UIColor grayColor]];&lt;br /&gt;
    [nickCenter setTextFieldsTextColor:[UIColor blackColor]];&lt;br /&gt;
    [nickCenter setButtonsNormalBackgroundColor:[UIColor orangeColor]];&lt;br /&gt;
    [nickCenter setButtonsHighlightedBackgroundColor:[UIColor orangeColor]];&lt;br /&gt;
    [nickCenter setButtonsNormalTextColor:[UIColor whiteColor]];&lt;br /&gt;
    [nickCenter setButtonsHighlightedTextColor:[UIColor colorWithRed:249.0/255 green:203.0/255 blue:156.0/255 alpha:1]];&lt;br /&gt;
    [nickCenter setTermsFontColor:[UIColor orangeColor]];&lt;br /&gt;
    [nickCenter checkAndLaunch];&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/nc_ios_desarrollador.jpeg&lt;br /&gt;
&lt;br /&gt;
=== COMPLETAR REGISTRO: ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Una vez un usuario haya sido registrado en una de nuestras aplicaciones, cuando otra lance NickCenter, dicho usuario tan soló debera &amp;lt;b&amp;gt;logearse&amp;lt;/b&amp;gt; sin necesidad de tener que registrarse otra vez para ésta última aplicación. Se puede dar el caso de que al registrarte en la primera aplicación tán solo fuera necesario &amp;lt;b&amp;gt;email y contraseña&amp;lt;/b&amp;gt;, y que para la segunda aplicación fuera necesario registrarse con el &amp;lt;b&amp;gt;telefono&amp;lt;/b&amp;gt;, cuando este tipo de casos se den, al logearte en la segunda aplicación se abrirá una nueva vista para completar el registro. Una vez completado dicho registro se tratará como un login normal.&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/nc_ios_completar.jpeg&lt;br /&gt;
&lt;br /&gt;
=== FUNCIONES UTILES: ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;NickCenter&amp;lt;/b&amp;gt; está dotada de una función que permite al desarrollador cerrar la sesión ya iniciada por el usuario de manera que la siguiente vez que abra la aplicación y pase por donde se lanza la librería, el usuario deba volver a loguearse. Dicha funcion es :&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;closeSession&amp;lt;/b&amp;gt;: ( [nickCenter closeSession]; )&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== DELEGATES: ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;NickCenter&amp;lt;/b&amp;gt; cuenta con una serie de delegates que permiten al desarrollador saber que parte del framework se esta ejecutando y cual es su resultado. A continuación se expondrán éstos y para que sirven.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;registerViewOpened&amp;lt;/b&amp;gt;: Notifica cuando la vista de registro se ha lanzado.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;loginViewOpened&amp;lt;/b&amp;gt;: Notifica cuando la vista del login se ha lanzado.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;rescueViewOpened&amp;lt;/b&amp;gt;: Notifica cuando la vista de recuperación de contraseña se ha lanzado.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onError:(NSString \*)error&amp;lt;/b&amp;gt;: Notificará cuando haya habido un error, normalmente se lanzará cuando el registro o el login hayan sido incorrectos, o cuando al recuperar la contraseña el email sea incorrecto. Se puede dar el caso de que de otro tipo de error como bien puede ser al conectarnos al sevidor.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onWarning:(NSString \*)warning&amp;lt;/b&amp;gt;: Notificará de alguna advertencia al desarrollador.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;finished&amp;lt;/b&amp;gt;: Notificará cuando la librería haya finalizado algun proceso. Inicio de sesión, registro o recuperación de contraseña correcto.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;sessionClosed&amp;lt;/b&amp;gt;: Notificará cuando se haya cerrado la sesión de NickCenter.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onActive&amp;lt;/b&amp;gt;: Notificará cuando detecte que NickCenter esta activa para la aplicación.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onInactive&amp;lt;/b&amp;gt;: Notificará cuando detecte que NickCenter esta inactiva para la aplicación.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;registerRegisterButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de registarse en la vista de registro de usuario.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;registerLoginButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de inicio de sesión en la vista de registro de usuario.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;registerCloseButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de cerrar en la vista de registro de usuario.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;loginPerformed:(NCUser \&amp;lt;i&amp;gt;) user dictionary:(NSMutableDictionary \&amp;lt;/i&amp;gt;) userDictionary&amp;lt;/b&amp;gt;: Notificará cuando haya habido un registro o un login correcto. Se mandará la información recogida del usuario tanto en formato NCUser como en formato NSMutableDictionary.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;loginLoginButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de inicio de sesión en la vista de inicio de sesión.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;loginRegisterButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de registrarse en la vista de inicio de sesión.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;loginRescueButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de recuperar contraseña en la vista de inicio de sesión.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;loginCloseButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de cerrar en la vista de inicio de sesión.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;rescueRescueButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de recuperar contraseña en la vista de recuperar contraseña.&lt;br /&gt;
&lt;br /&gt;
- &amp;lt;b&amp;gt;rescueCloseButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de cerrar en la vista de recuperar contraseña.&lt;/div&gt;</summary>
		<author><name>Asier</name></author>
	</entry>
	<entry>
		<id>https://wiki.mobeleader.com/index.php?title=SDKs:NickCenter:Cordova:index&amp;diff=2295</id>
		<title>SDKs:NickCenter:Cordova:index</title>
		<link rel="alternate" type="text/html" href="https://wiki.mobeleader.com/index.php?title=SDKs:NickCenter:Cordova:index&amp;diff=2295"/>
		<updated>2018-10-15T11:54:37Z</updated>

		<summary type="html">&lt;p&gt;Asier: /* VERSIONES SOPORTADAS */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= CÓMO AGREGAR EL PLUGIN NICKCENTER EN CORDOVA =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{:SDKs:NickCenter:Intro}}&lt;br /&gt;
&lt;br /&gt;
== VERSIONES SOPORTADAS ==&lt;br /&gt;
&lt;br /&gt;
Este Plugin soporta tanto Android como iOS. &lt;br /&gt;
&lt;br /&gt;
Para iOS soporta las versiones superiores a las &amp;lt;b&amp;gt;10.0&amp;lt;/b&amp;gt;, en caso de que detecte una versión inferior no se lanzará.&lt;br /&gt;
&lt;br /&gt;
Para Android soporta todas las versiones superiores a la &amp;lt;b&amp;gt;4.0&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{:SDKs:NickCenter:PanelControl}}&lt;br /&gt;
&lt;br /&gt;
== PASOS A REALIZAR PARA LA INTALACIÓN DEL FRAMEWORK EN LA APLICACIÓN ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== INSTALACIÓN: ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Existen dos maneras de instalar el &amp;lt;i&amp;gt;FrameWork&amp;lt;/i&amp;gt; &amp;lt;b&amp;gt;NickCenter&amp;lt;/b&amp;gt;: a través de &amp;lt;b&amp;gt;CocoaPods&amp;lt;/b&amp;gt; o descargándolo directamente. Recomendamos hacerlo a través de la primera opción. &amp;lt;b&amp;gt;NickCenter&amp;lt;/b&amp;gt; incorpora dos &amp;lt;i&amp;gt;frameworks&amp;lt;/i&amp;gt; auxiliares, &amp;lt;b&amp;gt;RegisterLib&amp;lt;/b&amp;gt; y &amp;lt;b&amp;gt;UtilsLib&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==== INSTALACIÓN CON COCOAPODS: ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
En caso de que su proyecto no incluya el archivo &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;Podfile&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt;, incorpórelo. Si nunca ha trabajado con &amp;lt;b&amp;gt;CocoaPods&amp;lt;/b&amp;gt; consulte la [documentación ofrecida en su web oficial](https://guides.cocoapods.org/using/using-cocoapods.html), en la que se explica paso a paso cómo instalar &amp;lt;b&amp;gt;CocoaPods&amp;lt;/b&amp;gt; y cómo crear, actualizar y trabajar con los archivos &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;Podfile&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
    target &#039;NameTarget&#039; do&lt;br /&gt;
       use_frameworks!&lt;br /&gt;
        pod &#039;MobeleaderNC&#039;&lt;br /&gt;
        pod &#039;MobeleaderUtils&#039;&lt;br /&gt;
        pod &#039;MobeleaderRegister&#039;&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
Cabe destacar que &amp;lt;b&amp;gt;NameTarget&amp;lt;/b&amp;gt; deberá ser reemplazado por el nombre real del target de la aplicación en la que se quiere añadir el framework.&lt;br /&gt;
&lt;br /&gt;
Una vez creado y configurado el archivo haremos uso del siguiente comando desde el terminal sobre la ruta en la que se encuentra dicho archivo.&lt;br /&gt;
&lt;br /&gt;
    $ pod install --repo-update&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Y veremos como se crea un proyecto tal que el siguiente:&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/Proyecto_nc_ios_8.png&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Deberemos abrir el proyecto desde dicho archivo&amp;lt;/b&amp;gt; para que pueda usar el framework correctamente.&lt;br /&gt;
&lt;br /&gt;
==== INSTALACIÓN MANUAL: ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Descargue el &amp;lt;i&amp;gt;framework&amp;lt;/i&amp;gt; &amp;lt;b&amp;gt;NickCenter&amp;lt;/b&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
* Desde la [página principal de las librerías](http://panel.mobeleader.com/index.php?sec=82):&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/descarga_general_nc_ios.png&lt;br /&gt;
&lt;br /&gt;
* Desde la página de información de la libreria(http://panel.mobeleader.com/index.php?sec=85&amp;amp;id=45&amp;amp;tipo=3):&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/descarga_especifica_nc_ios_1.png&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/referrer/descargar_framework.png&lt;br /&gt;
&lt;br /&gt;
* Directamente desde [aquí](https://repos.mobeleader.com/MobeleaderNC/1.0.23/MobeleaderNC.zip).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Una vez descargado el &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;framework&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt;, descomprímalo e instálelo en su proyecto.&lt;br /&gt;
=== LANZAMIENTO: ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Una vez configurada la instalación, crearemos un objeto de la clase NickCenter en donde vayamos a usarla, en el ejemplo se hace en la implementacion de la clase ( DatosIniciales ):&lt;br /&gt;
&lt;br /&gt;
    @implementation DatosIniciales{&lt;br /&gt;
		NickCenter *nickCenter;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Para su lanzamiento se insertarán las siguientes lineas de código.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    nickCenter = [[NickCenter alloc] init];&lt;br /&gt;
    [nickCenter setDelegate:self];&lt;br /&gt;
    [nickCenter setRootViewController:self];&lt;br /&gt;
    [nickCenter setAppHash:@&amp;quot;Hash de la APP en el Panel de Mobeleader&amp;quot;];&lt;br /&gt;
    [nickCenter checkAndLaunch];&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;appHash&amp;lt;/b&amp;gt;: Será el hash dado por el Panel Mobeleader al dar de alta la aplicación en éste.  Para acceder a el deberemos ir a la sección &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;Desarrolladores&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; --&amp;gt; &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;Mis Apps&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; y hacer click sobre la columna &amp;lt;b&amp;gt;Hash&amp;lt;/b&amp;gt; de nuestra aplicación.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setRootViewController&amp;lt;/b&amp;gt;: Ésta función será opcional, con ella le diremos al framework desde que ViewController se lanzará y se recogerán las respuestas en los delegates.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/Obtener_hash_app_14.png&lt;br /&gt;
&lt;br /&gt;
Por defecto las pantallas de &amp;lt;b&amp;gt;NickCenter&amp;lt;/b&amp;gt; presentan el siguiente formato:&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/nc_ios_default.jpeg&lt;br /&gt;
&lt;br /&gt;
Si desea modificar las pantallas para que sean lo más parecidas a su aplicación el framework de &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;NickCenter&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; esta dotado de una serie de funciones que le permitirán maquetarlas a su gusto:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setViewsBackgroundColor:(UIColor \*):&amp;lt;/b&amp;gt; Determina el color de fondo de las pantallas.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setViewsBackgroundImage:(UIImage \*):&amp;lt;/b&amp;gt; Determina la imagen de fondo de cada pantalla.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setHeaderBackgroundColor:(UIColor \*):&amp;lt;/b&amp;gt; Determina el color de fondo de la cabecera de las pantallas.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setHeaderBackgroundImage:(UIImage \*):&amp;lt;/b&amp;gt; Determina la imagen de fondo de la cabecera de cada pantalla.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setHeaderBottomLineColor:(UIColor \*):&amp;lt;/b&amp;gt; Determina el color de la linea que separa la cabecera con el resto de la pantalla.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setHeaderTextColor:(UIColor \*):&amp;lt;/b&amp;gt; Determina el color del texto de la cabecera de las pantallas.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setHeaderFont:(UIFont \*):&amp;lt;/b&amp;gt; Determina la fuente de los textos de las cabeceras.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setTextFieldsBackgroundColor:(UIColor \*):&amp;lt;/b&amp;gt; Determina el color de fondo de los textfields donde se ubican los campos de cada pantalla.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setTextFieldsPlaceholderColor:(UIColor \*):&amp;lt;/b&amp;gt; Determina el color del texto descriptivo de cada textfield.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setTextFieldsTextColor:(UIColor \*):&amp;lt;/b&amp;gt; Determina el color del texto de los textfields donde se ubican los campos de cada pantalla.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setTextFieldsFont:(UIFont \*):&amp;lt;/b&amp;gt; Determina la fuente del texto de los textfields.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setButtonsNormalBackgroundColor:(UIColor \*):&amp;lt;/b&amp;gt; Determina el color de fondo de los botones de cada pantalla.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setButtonsHighlightedBackgroundColor:(UIColor \*):&amp;lt;/b&amp;gt; Determina el color de fondo de los botones de cada pantalla cuando se ha hecho click en éstos.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setButtonsNormalTextColor:(UIColor \*):&amp;lt;/b&amp;gt; Determina el color del texto de cada boton cuando no se ha hecho click en éstos.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setButtonsHighlightedTextColor:(UIColor \*):&amp;lt;/b&amp;gt; Determina el color del texto de cada boton cuando se ha hecho click en éstos.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setButtonsBorderColor:(UIColor \*):&amp;lt;/b&amp;gt; Determina el color del borde de los botones.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setButtonsFont:(UIFont \*):&amp;lt;/b&amp;gt; Determina la fuente de los textos de los botones.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setTermsFontColor:(UIColor \*):&amp;lt;/b&amp;gt; Determina el color de la fuente de los textos de los terminos y condiciones.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setTermsSwitchActiveColor:(UIColor \*):&amp;lt;/b&amp;gt; Determina el color de los botones activos en los terminos y condiciones.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setTermsSwitchInactiveColor:(UIColor \*):&amp;lt;/b&amp;gt; Determina el color de los botones inactivos en los terminos y condiciones.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A continuación se expone un ejemplo en el que se maqueta a gusto del desarrollador las pantallas de &amp;lt;b&amp;gt;NickCenter&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
    nickCenter = [[NickCenter alloc] init];&lt;br /&gt;
    [nickCenter setDelegate:self];&lt;br /&gt;
    [nickCenter setRootViewController:self];&lt;br /&gt;
    [nickCenter setAppHash:@&amp;quot;Hash de la APP en el Panel de Mobeleader&amp;quot;];&lt;br /&gt;
    [nickCenter setViewsBackgroundColor:[UIColor whiteColor]];&lt;br /&gt;
    [nickCenter setViewsBackgroundImage:[UIImage imageNamed:@&amp;quot;logo&amp;quot;]];&lt;br /&gt;
    [nickCenter setHeaderBackgroundColor:[UIColor orangeColor]];&lt;br /&gt;
    [nickCenter setHeaderBottomLineColor:[UIColor orangeColor]];&lt;br /&gt;
    [nickCenter setHeaderTextColor:[UIColor whiteColor]];&lt;br /&gt;
    [nickCenter setTextFieldsBackgroundColor:[UIColor colorWithRed:217.0/255 green:217.0/255 blue:217.0/255 alpha:1]];&lt;br /&gt;
    [nickCenter setTextFieldsPlaceholderColor:[UIColor grayColor]];&lt;br /&gt;
    [nickCenter setTextFieldsTextColor:[UIColor blackColor]];&lt;br /&gt;
    [nickCenter setButtonsNormalBackgroundColor:[UIColor orangeColor]];&lt;br /&gt;
    [nickCenter setButtonsHighlightedBackgroundColor:[UIColor orangeColor]];&lt;br /&gt;
    [nickCenter setButtonsNormalTextColor:[UIColor whiteColor]];&lt;br /&gt;
    [nickCenter setButtonsHighlightedTextColor:[UIColor colorWithRed:249.0/255 green:203.0/255 blue:156.0/255 alpha:1]];&lt;br /&gt;
    [nickCenter setTermsFontColor:[UIColor orangeColor]];&lt;br /&gt;
    [nickCenter checkAndLaunch];&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/nc_ios_desarrollador.jpeg&lt;br /&gt;
&lt;br /&gt;
=== COMPLETAR REGISTRO: ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Una vez un usuario haya sido registrado en una de nuestras aplicaciones, cuando otra lance NickCenter, dicho usuario tan soló debera &amp;lt;b&amp;gt;logearse&amp;lt;/b&amp;gt; sin necesidad de tener que registrarse otra vez para ésta última aplicación. Se puede dar el caso de que al registrarte en la primera aplicación tán solo fuera necesario &amp;lt;b&amp;gt;email y contraseña&amp;lt;/b&amp;gt;, y que para la segunda aplicación fuera necesario registrarse con el &amp;lt;b&amp;gt;telefono&amp;lt;/b&amp;gt;, cuando este tipo de casos se den, al logearte en la segunda aplicación se abrirá una nueva vista para completar el registro. Una vez completado dicho registro se tratará como un login normal.&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/nc_ios_completar.jpeg&lt;br /&gt;
&lt;br /&gt;
=== FUNCIONES UTILES: ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;NickCenter&amp;lt;/b&amp;gt; está dotada de una función que permite al desarrollador cerrar la sesión ya iniciada por el usuario de manera que la siguiente vez que abra la aplicación y pase por donde se lanza la librería, el usuario deba volver a loguearse. Dicha funcion es :&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;closeSession&amp;lt;/b&amp;gt;: ( [nickCenter closeSession]; )&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== DELEGATES: ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;NickCenter&amp;lt;/b&amp;gt; cuenta con una serie de delegates que permiten al desarrollador saber que parte del framework se esta ejecutando y cual es su resultado. A continuación se expondrán éstos y para que sirven.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;registerViewOpened&amp;lt;/b&amp;gt;: Notifica cuando la vista de registro se ha lanzado.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;loginViewOpened&amp;lt;/b&amp;gt;: Notifica cuando la vista del login se ha lanzado.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;rescueViewOpened&amp;lt;/b&amp;gt;: Notifica cuando la vista de recuperación de contraseña se ha lanzado.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onError:(NSString \*)error&amp;lt;/b&amp;gt;: Notificará cuando haya habido un error, normalmente se lanzará cuando el registro o el login hayan sido incorrectos, o cuando al recuperar la contraseña el email sea incorrecto. Se puede dar el caso de que de otro tipo de error como bien puede ser al conectarnos al sevidor.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onWarning:(NSString \*)warning&amp;lt;/b&amp;gt;: Notificará de alguna advertencia al desarrollador.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;finished&amp;lt;/b&amp;gt;: Notificará cuando la librería haya finalizado algun proceso. Inicio de sesión, registro o recuperación de contraseña correcto.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;sessionClosed&amp;lt;/b&amp;gt;: Notificará cuando se haya cerrado la sesión de NickCenter.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onActive&amp;lt;/b&amp;gt;: Notificará cuando detecte que NickCenter esta activa para la aplicación.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onInactive&amp;lt;/b&amp;gt;: Notificará cuando detecte que NickCenter esta inactiva para la aplicación.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;registerRegisterButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de registarse en la vista de registro de usuario.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;registerLoginButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de inicio de sesión en la vista de registro de usuario.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;registerCloseButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de cerrar en la vista de registro de usuario.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;loginPerformed:(NCUser \&amp;lt;i&amp;gt;) user dictionary:(NSMutableDictionary \&amp;lt;/i&amp;gt;) userDictionary&amp;lt;/b&amp;gt;: Notificará cuando haya habido un registro o un login correcto. Se mandará la información recogida del usuario tanto en formato NCUser como en formato NSMutableDictionary.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;loginLoginButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de inicio de sesión en la vista de inicio de sesión.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;loginRegisterButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de registrarse en la vista de inicio de sesión.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;loginRescueButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de recuperar contraseña en la vista de inicio de sesión.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;loginCloseButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de cerrar en la vista de inicio de sesión.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;rescueRescueButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de recuperar contraseña en la vista de recuperar contraseña.&lt;br /&gt;
&lt;br /&gt;
- &amp;lt;b&amp;gt;rescueCloseButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de cerrar en la vista de recuperar contraseña.&lt;/div&gt;</summary>
		<author><name>Asier</name></author>
	</entry>
	<entry>
		<id>https://wiki.mobeleader.com/index.php?title=SDKs:NickCenter:Cordova:index&amp;diff=2294</id>
		<title>SDKs:NickCenter:Cordova:index</title>
		<link rel="alternate" type="text/html" href="https://wiki.mobeleader.com/index.php?title=SDKs:NickCenter:Cordova:index&amp;diff=2294"/>
		<updated>2018-10-15T11:54:25Z</updated>

		<summary type="html">&lt;p&gt;Asier: /* CÓMO AGREGAR EL PLUGIN NICKCENTER EN CORDOVA */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= CÓMO AGREGAR EL PLUGIN NICKCENTER EN CORDOVA =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{:SDKs:NickCenter:Intro}}&lt;br /&gt;
&lt;br /&gt;
== VERSIONES SOPORTADAS ==&lt;br /&gt;
&lt;br /&gt;
Este Plugin soporta tanto Android como iOS. &lt;br /&gt;
Para iOS soporta las versiones superiores a las &amp;lt;b&amp;gt;10.0&amp;lt;/b&amp;gt;, en caso de que detecte una versión inferior no se lanzará.&lt;br /&gt;
Para Android soporta todas las versiones superiores a la &amp;lt;b&amp;gt;4.0&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{:SDKs:NickCenter:PanelControl}}&lt;br /&gt;
&lt;br /&gt;
== PASOS A REALIZAR PARA LA INTALACIÓN DEL FRAMEWORK EN LA APLICACIÓN ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== INSTALACIÓN: ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Existen dos maneras de instalar el &amp;lt;i&amp;gt;FrameWork&amp;lt;/i&amp;gt; &amp;lt;b&amp;gt;NickCenter&amp;lt;/b&amp;gt;: a través de &amp;lt;b&amp;gt;CocoaPods&amp;lt;/b&amp;gt; o descargándolo directamente. Recomendamos hacerlo a través de la primera opción. &amp;lt;b&amp;gt;NickCenter&amp;lt;/b&amp;gt; incorpora dos &amp;lt;i&amp;gt;frameworks&amp;lt;/i&amp;gt; auxiliares, &amp;lt;b&amp;gt;RegisterLib&amp;lt;/b&amp;gt; y &amp;lt;b&amp;gt;UtilsLib&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==== INSTALACIÓN CON COCOAPODS: ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
En caso de que su proyecto no incluya el archivo &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;Podfile&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt;, incorpórelo. Si nunca ha trabajado con &amp;lt;b&amp;gt;CocoaPods&amp;lt;/b&amp;gt; consulte la [documentación ofrecida en su web oficial](https://guides.cocoapods.org/using/using-cocoapods.html), en la que se explica paso a paso cómo instalar &amp;lt;b&amp;gt;CocoaPods&amp;lt;/b&amp;gt; y cómo crear, actualizar y trabajar con los archivos &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;Podfile&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
    target &#039;NameTarget&#039; do&lt;br /&gt;
       use_frameworks!&lt;br /&gt;
        pod &#039;MobeleaderNC&#039;&lt;br /&gt;
        pod &#039;MobeleaderUtils&#039;&lt;br /&gt;
        pod &#039;MobeleaderRegister&#039;&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
Cabe destacar que &amp;lt;b&amp;gt;NameTarget&amp;lt;/b&amp;gt; deberá ser reemplazado por el nombre real del target de la aplicación en la que se quiere añadir el framework.&lt;br /&gt;
&lt;br /&gt;
Una vez creado y configurado el archivo haremos uso del siguiente comando desde el terminal sobre la ruta en la que se encuentra dicho archivo.&lt;br /&gt;
&lt;br /&gt;
    $ pod install --repo-update&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Y veremos como se crea un proyecto tal que el siguiente:&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/Proyecto_nc_ios_8.png&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Deberemos abrir el proyecto desde dicho archivo&amp;lt;/b&amp;gt; para que pueda usar el framework correctamente.&lt;br /&gt;
&lt;br /&gt;
==== INSTALACIÓN MANUAL: ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Descargue el &amp;lt;i&amp;gt;framework&amp;lt;/i&amp;gt; &amp;lt;b&amp;gt;NickCenter&amp;lt;/b&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
* Desde la [página principal de las librerías](http://panel.mobeleader.com/index.php?sec=82):&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/descarga_general_nc_ios.png&lt;br /&gt;
&lt;br /&gt;
* Desde la página de información de la libreria(http://panel.mobeleader.com/index.php?sec=85&amp;amp;id=45&amp;amp;tipo=3):&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/descarga_especifica_nc_ios_1.png&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/referrer/descargar_framework.png&lt;br /&gt;
&lt;br /&gt;
* Directamente desde [aquí](https://repos.mobeleader.com/MobeleaderNC/1.0.23/MobeleaderNC.zip).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Una vez descargado el &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;framework&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt;, descomprímalo e instálelo en su proyecto.&lt;br /&gt;
=== LANZAMIENTO: ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Una vez configurada la instalación, crearemos un objeto de la clase NickCenter en donde vayamos a usarla, en el ejemplo se hace en la implementacion de la clase ( DatosIniciales ):&lt;br /&gt;
&lt;br /&gt;
    @implementation DatosIniciales{&lt;br /&gt;
		NickCenter *nickCenter;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Para su lanzamiento se insertarán las siguientes lineas de código.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    nickCenter = [[NickCenter alloc] init];&lt;br /&gt;
    [nickCenter setDelegate:self];&lt;br /&gt;
    [nickCenter setRootViewController:self];&lt;br /&gt;
    [nickCenter setAppHash:@&amp;quot;Hash de la APP en el Panel de Mobeleader&amp;quot;];&lt;br /&gt;
    [nickCenter checkAndLaunch];&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;appHash&amp;lt;/b&amp;gt;: Será el hash dado por el Panel Mobeleader al dar de alta la aplicación en éste.  Para acceder a el deberemos ir a la sección &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;Desarrolladores&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; --&amp;gt; &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;Mis Apps&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; y hacer click sobre la columna &amp;lt;b&amp;gt;Hash&amp;lt;/b&amp;gt; de nuestra aplicación.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setRootViewController&amp;lt;/b&amp;gt;: Ésta función será opcional, con ella le diremos al framework desde que ViewController se lanzará y se recogerán las respuestas en los delegates.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/Obtener_hash_app_14.png&lt;br /&gt;
&lt;br /&gt;
Por defecto las pantallas de &amp;lt;b&amp;gt;NickCenter&amp;lt;/b&amp;gt; presentan el siguiente formato:&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/nc_ios_default.jpeg&lt;br /&gt;
&lt;br /&gt;
Si desea modificar las pantallas para que sean lo más parecidas a su aplicación el framework de &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;NickCenter&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; esta dotado de una serie de funciones que le permitirán maquetarlas a su gusto:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setViewsBackgroundColor:(UIColor \*):&amp;lt;/b&amp;gt; Determina el color de fondo de las pantallas.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setViewsBackgroundImage:(UIImage \*):&amp;lt;/b&amp;gt; Determina la imagen de fondo de cada pantalla.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setHeaderBackgroundColor:(UIColor \*):&amp;lt;/b&amp;gt; Determina el color de fondo de la cabecera de las pantallas.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setHeaderBackgroundImage:(UIImage \*):&amp;lt;/b&amp;gt; Determina la imagen de fondo de la cabecera de cada pantalla.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setHeaderBottomLineColor:(UIColor \*):&amp;lt;/b&amp;gt; Determina el color de la linea que separa la cabecera con el resto de la pantalla.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setHeaderTextColor:(UIColor \*):&amp;lt;/b&amp;gt; Determina el color del texto de la cabecera de las pantallas.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setHeaderFont:(UIFont \*):&amp;lt;/b&amp;gt; Determina la fuente de los textos de las cabeceras.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setTextFieldsBackgroundColor:(UIColor \*):&amp;lt;/b&amp;gt; Determina el color de fondo de los textfields donde se ubican los campos de cada pantalla.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setTextFieldsPlaceholderColor:(UIColor \*):&amp;lt;/b&amp;gt; Determina el color del texto descriptivo de cada textfield.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setTextFieldsTextColor:(UIColor \*):&amp;lt;/b&amp;gt; Determina el color del texto de los textfields donde se ubican los campos de cada pantalla.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setTextFieldsFont:(UIFont \*):&amp;lt;/b&amp;gt; Determina la fuente del texto de los textfields.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setButtonsNormalBackgroundColor:(UIColor \*):&amp;lt;/b&amp;gt; Determina el color de fondo de los botones de cada pantalla.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setButtonsHighlightedBackgroundColor:(UIColor \*):&amp;lt;/b&amp;gt; Determina el color de fondo de los botones de cada pantalla cuando se ha hecho click en éstos.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setButtonsNormalTextColor:(UIColor \*):&amp;lt;/b&amp;gt; Determina el color del texto de cada boton cuando no se ha hecho click en éstos.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setButtonsHighlightedTextColor:(UIColor \*):&amp;lt;/b&amp;gt; Determina el color del texto de cada boton cuando se ha hecho click en éstos.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setButtonsBorderColor:(UIColor \*):&amp;lt;/b&amp;gt; Determina el color del borde de los botones.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setButtonsFont:(UIFont \*):&amp;lt;/b&amp;gt; Determina la fuente de los textos de los botones.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setTermsFontColor:(UIColor \*):&amp;lt;/b&amp;gt; Determina el color de la fuente de los textos de los terminos y condiciones.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setTermsSwitchActiveColor:(UIColor \*):&amp;lt;/b&amp;gt; Determina el color de los botones activos en los terminos y condiciones.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setTermsSwitchInactiveColor:(UIColor \*):&amp;lt;/b&amp;gt; Determina el color de los botones inactivos en los terminos y condiciones.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A continuación se expone un ejemplo en el que se maqueta a gusto del desarrollador las pantallas de &amp;lt;b&amp;gt;NickCenter&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
    nickCenter = [[NickCenter alloc] init];&lt;br /&gt;
    [nickCenter setDelegate:self];&lt;br /&gt;
    [nickCenter setRootViewController:self];&lt;br /&gt;
    [nickCenter setAppHash:@&amp;quot;Hash de la APP en el Panel de Mobeleader&amp;quot;];&lt;br /&gt;
    [nickCenter setViewsBackgroundColor:[UIColor whiteColor]];&lt;br /&gt;
    [nickCenter setViewsBackgroundImage:[UIImage imageNamed:@&amp;quot;logo&amp;quot;]];&lt;br /&gt;
    [nickCenter setHeaderBackgroundColor:[UIColor orangeColor]];&lt;br /&gt;
    [nickCenter setHeaderBottomLineColor:[UIColor orangeColor]];&lt;br /&gt;
    [nickCenter setHeaderTextColor:[UIColor whiteColor]];&lt;br /&gt;
    [nickCenter setTextFieldsBackgroundColor:[UIColor colorWithRed:217.0/255 green:217.0/255 blue:217.0/255 alpha:1]];&lt;br /&gt;
    [nickCenter setTextFieldsPlaceholderColor:[UIColor grayColor]];&lt;br /&gt;
    [nickCenter setTextFieldsTextColor:[UIColor blackColor]];&lt;br /&gt;
    [nickCenter setButtonsNormalBackgroundColor:[UIColor orangeColor]];&lt;br /&gt;
    [nickCenter setButtonsHighlightedBackgroundColor:[UIColor orangeColor]];&lt;br /&gt;
    [nickCenter setButtonsNormalTextColor:[UIColor whiteColor]];&lt;br /&gt;
    [nickCenter setButtonsHighlightedTextColor:[UIColor colorWithRed:249.0/255 green:203.0/255 blue:156.0/255 alpha:1]];&lt;br /&gt;
    [nickCenter setTermsFontColor:[UIColor orangeColor]];&lt;br /&gt;
    [nickCenter checkAndLaunch];&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/nc_ios_desarrollador.jpeg&lt;br /&gt;
&lt;br /&gt;
=== COMPLETAR REGISTRO: ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Una vez un usuario haya sido registrado en una de nuestras aplicaciones, cuando otra lance NickCenter, dicho usuario tan soló debera &amp;lt;b&amp;gt;logearse&amp;lt;/b&amp;gt; sin necesidad de tener que registrarse otra vez para ésta última aplicación. Se puede dar el caso de que al registrarte en la primera aplicación tán solo fuera necesario &amp;lt;b&amp;gt;email y contraseña&amp;lt;/b&amp;gt;, y que para la segunda aplicación fuera necesario registrarse con el &amp;lt;b&amp;gt;telefono&amp;lt;/b&amp;gt;, cuando este tipo de casos se den, al logearte en la segunda aplicación se abrirá una nueva vista para completar el registro. Una vez completado dicho registro se tratará como un login normal.&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/nc_ios_completar.jpeg&lt;br /&gt;
&lt;br /&gt;
=== FUNCIONES UTILES: ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;NickCenter&amp;lt;/b&amp;gt; está dotada de una función que permite al desarrollador cerrar la sesión ya iniciada por el usuario de manera que la siguiente vez que abra la aplicación y pase por donde se lanza la librería, el usuario deba volver a loguearse. Dicha funcion es :&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;closeSession&amp;lt;/b&amp;gt;: ( [nickCenter closeSession]; )&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== DELEGATES: ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;NickCenter&amp;lt;/b&amp;gt; cuenta con una serie de delegates que permiten al desarrollador saber que parte del framework se esta ejecutando y cual es su resultado. A continuación se expondrán éstos y para que sirven.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;registerViewOpened&amp;lt;/b&amp;gt;: Notifica cuando la vista de registro se ha lanzado.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;loginViewOpened&amp;lt;/b&amp;gt;: Notifica cuando la vista del login se ha lanzado.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;rescueViewOpened&amp;lt;/b&amp;gt;: Notifica cuando la vista de recuperación de contraseña se ha lanzado.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onError:(NSString \*)error&amp;lt;/b&amp;gt;: Notificará cuando haya habido un error, normalmente se lanzará cuando el registro o el login hayan sido incorrectos, o cuando al recuperar la contraseña el email sea incorrecto. Se puede dar el caso de que de otro tipo de error como bien puede ser al conectarnos al sevidor.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onWarning:(NSString \*)warning&amp;lt;/b&amp;gt;: Notificará de alguna advertencia al desarrollador.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;finished&amp;lt;/b&amp;gt;: Notificará cuando la librería haya finalizado algun proceso. Inicio de sesión, registro o recuperación de contraseña correcto.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;sessionClosed&amp;lt;/b&amp;gt;: Notificará cuando se haya cerrado la sesión de NickCenter.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onActive&amp;lt;/b&amp;gt;: Notificará cuando detecte que NickCenter esta activa para la aplicación.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onInactive&amp;lt;/b&amp;gt;: Notificará cuando detecte que NickCenter esta inactiva para la aplicación.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;registerRegisterButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de registarse en la vista de registro de usuario.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;registerLoginButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de inicio de sesión en la vista de registro de usuario.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;registerCloseButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de cerrar en la vista de registro de usuario.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;loginPerformed:(NCUser \&amp;lt;i&amp;gt;) user dictionary:(NSMutableDictionary \&amp;lt;/i&amp;gt;) userDictionary&amp;lt;/b&amp;gt;: Notificará cuando haya habido un registro o un login correcto. Se mandará la información recogida del usuario tanto en formato NCUser como en formato NSMutableDictionary.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;loginLoginButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de inicio de sesión en la vista de inicio de sesión.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;loginRegisterButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de registrarse en la vista de inicio de sesión.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;loginRescueButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de recuperar contraseña en la vista de inicio de sesión.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;loginCloseButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de cerrar en la vista de inicio de sesión.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;rescueRescueButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de recuperar contraseña en la vista de recuperar contraseña.&lt;br /&gt;
&lt;br /&gt;
- &amp;lt;b&amp;gt;rescueCloseButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de cerrar en la vista de recuperar contraseña.&lt;/div&gt;</summary>
		<author><name>Asier</name></author>
	</entry>
	<entry>
		<id>https://wiki.mobeleader.com/index.php?title=SDKs:NickCenter:Cordova:index&amp;diff=2293</id>
		<title>SDKs:NickCenter:Cordova:index</title>
		<link rel="alternate" type="text/html" href="https://wiki.mobeleader.com/index.php?title=SDKs:NickCenter:Cordova:index&amp;diff=2293"/>
		<updated>2018-10-15T11:52:37Z</updated>

		<summary type="html">&lt;p&gt;Asier: /* CÓMO AGREGAR EL PLUGIN NICKCENTER EN CORDOVA */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= CÓMO AGREGAR EL PLUGIN NICKCENTER EN CORDOVA =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{:SDKs:NickCenter:Intro}}&lt;br /&gt;
&lt;br /&gt;
== VERSIONES DE iOs SOPORTADAS ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Este framework soporta todas las versiones de iOs superiores a las &amp;lt;b&amp;gt;10.0&amp;lt;/b&amp;gt;, en caso de que detecte una versión inferior no se lanzará.&lt;br /&gt;
&lt;br /&gt;
{{:SDKs:NickCenter:PanelControl}}&lt;br /&gt;
&lt;br /&gt;
== PASOS A REALIZAR PARA LA INTALACIÓN DEL FRAMEWORK EN LA APLICACIÓN ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== INSTALACIÓN: ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Existen dos maneras de instalar el &amp;lt;i&amp;gt;FrameWork&amp;lt;/i&amp;gt; &amp;lt;b&amp;gt;NickCenter&amp;lt;/b&amp;gt;: a través de &amp;lt;b&amp;gt;CocoaPods&amp;lt;/b&amp;gt; o descargándolo directamente. Recomendamos hacerlo a través de la primera opción. &amp;lt;b&amp;gt;NickCenter&amp;lt;/b&amp;gt; incorpora dos &amp;lt;i&amp;gt;frameworks&amp;lt;/i&amp;gt; auxiliares, &amp;lt;b&amp;gt;RegisterLib&amp;lt;/b&amp;gt; y &amp;lt;b&amp;gt;UtilsLib&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==== INSTALACIÓN CON COCOAPODS: ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
En caso de que su proyecto no incluya el archivo &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;Podfile&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt;, incorpórelo. Si nunca ha trabajado con &amp;lt;b&amp;gt;CocoaPods&amp;lt;/b&amp;gt; consulte la [documentación ofrecida en su web oficial](https://guides.cocoapods.org/using/using-cocoapods.html), en la que se explica paso a paso cómo instalar &amp;lt;b&amp;gt;CocoaPods&amp;lt;/b&amp;gt; y cómo crear, actualizar y trabajar con los archivos &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;Podfile&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
    target &#039;NameTarget&#039; do&lt;br /&gt;
       use_frameworks!&lt;br /&gt;
        pod &#039;MobeleaderNC&#039;&lt;br /&gt;
        pod &#039;MobeleaderUtils&#039;&lt;br /&gt;
        pod &#039;MobeleaderRegister&#039;&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
Cabe destacar que &amp;lt;b&amp;gt;NameTarget&amp;lt;/b&amp;gt; deberá ser reemplazado por el nombre real del target de la aplicación en la que se quiere añadir el framework.&lt;br /&gt;
&lt;br /&gt;
Una vez creado y configurado el archivo haremos uso del siguiente comando desde el terminal sobre la ruta en la que se encuentra dicho archivo.&lt;br /&gt;
&lt;br /&gt;
    $ pod install --repo-update&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Y veremos como se crea un proyecto tal que el siguiente:&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/Proyecto_nc_ios_8.png&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Deberemos abrir el proyecto desde dicho archivo&amp;lt;/b&amp;gt; para que pueda usar el framework correctamente.&lt;br /&gt;
&lt;br /&gt;
==== INSTALACIÓN MANUAL: ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Descargue el &amp;lt;i&amp;gt;framework&amp;lt;/i&amp;gt; &amp;lt;b&amp;gt;NickCenter&amp;lt;/b&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
* Desde la [página principal de las librerías](http://panel.mobeleader.com/index.php?sec=82):&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/descarga_general_nc_ios.png&lt;br /&gt;
&lt;br /&gt;
* Desde la página de información de la libreria(http://panel.mobeleader.com/index.php?sec=85&amp;amp;id=45&amp;amp;tipo=3):&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/descarga_especifica_nc_ios_1.png&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/referrer/descargar_framework.png&lt;br /&gt;
&lt;br /&gt;
* Directamente desde [aquí](https://repos.mobeleader.com/MobeleaderNC/1.0.23/MobeleaderNC.zip).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Una vez descargado el &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;framework&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt;, descomprímalo e instálelo en su proyecto.&lt;br /&gt;
=== LANZAMIENTO: ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Una vez configurada la instalación, crearemos un objeto de la clase NickCenter en donde vayamos a usarla, en el ejemplo se hace en la implementacion de la clase ( DatosIniciales ):&lt;br /&gt;
&lt;br /&gt;
    @implementation DatosIniciales{&lt;br /&gt;
		NickCenter *nickCenter;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Para su lanzamiento se insertarán las siguientes lineas de código.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    nickCenter = [[NickCenter alloc] init];&lt;br /&gt;
    [nickCenter setDelegate:self];&lt;br /&gt;
    [nickCenter setRootViewController:self];&lt;br /&gt;
    [nickCenter setAppHash:@&amp;quot;Hash de la APP en el Panel de Mobeleader&amp;quot;];&lt;br /&gt;
    [nickCenter checkAndLaunch];&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;appHash&amp;lt;/b&amp;gt;: Será el hash dado por el Panel Mobeleader al dar de alta la aplicación en éste.  Para acceder a el deberemos ir a la sección &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;Desarrolladores&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; --&amp;gt; &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;Mis Apps&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; y hacer click sobre la columna &amp;lt;b&amp;gt;Hash&amp;lt;/b&amp;gt; de nuestra aplicación.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setRootViewController&amp;lt;/b&amp;gt;: Ésta función será opcional, con ella le diremos al framework desde que ViewController se lanzará y se recogerán las respuestas en los delegates.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/Obtener_hash_app_14.png&lt;br /&gt;
&lt;br /&gt;
Por defecto las pantallas de &amp;lt;b&amp;gt;NickCenter&amp;lt;/b&amp;gt; presentan el siguiente formato:&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/nc_ios_default.jpeg&lt;br /&gt;
&lt;br /&gt;
Si desea modificar las pantallas para que sean lo más parecidas a su aplicación el framework de &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;NickCenter&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; esta dotado de una serie de funciones que le permitirán maquetarlas a su gusto:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setViewsBackgroundColor:(UIColor \*):&amp;lt;/b&amp;gt; Determina el color de fondo de las pantallas.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setViewsBackgroundImage:(UIImage \*):&amp;lt;/b&amp;gt; Determina la imagen de fondo de cada pantalla.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setHeaderBackgroundColor:(UIColor \*):&amp;lt;/b&amp;gt; Determina el color de fondo de la cabecera de las pantallas.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setHeaderBackgroundImage:(UIImage \*):&amp;lt;/b&amp;gt; Determina la imagen de fondo de la cabecera de cada pantalla.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setHeaderBottomLineColor:(UIColor \*):&amp;lt;/b&amp;gt; Determina el color de la linea que separa la cabecera con el resto de la pantalla.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setHeaderTextColor:(UIColor \*):&amp;lt;/b&amp;gt; Determina el color del texto de la cabecera de las pantallas.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setHeaderFont:(UIFont \*):&amp;lt;/b&amp;gt; Determina la fuente de los textos de las cabeceras.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setTextFieldsBackgroundColor:(UIColor \*):&amp;lt;/b&amp;gt; Determina el color de fondo de los textfields donde se ubican los campos de cada pantalla.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setTextFieldsPlaceholderColor:(UIColor \*):&amp;lt;/b&amp;gt; Determina el color del texto descriptivo de cada textfield.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setTextFieldsTextColor:(UIColor \*):&amp;lt;/b&amp;gt; Determina el color del texto de los textfields donde se ubican los campos de cada pantalla.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setTextFieldsFont:(UIFont \*):&amp;lt;/b&amp;gt; Determina la fuente del texto de los textfields.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setButtonsNormalBackgroundColor:(UIColor \*):&amp;lt;/b&amp;gt; Determina el color de fondo de los botones de cada pantalla.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setButtonsHighlightedBackgroundColor:(UIColor \*):&amp;lt;/b&amp;gt; Determina el color de fondo de los botones de cada pantalla cuando se ha hecho click en éstos.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setButtonsNormalTextColor:(UIColor \*):&amp;lt;/b&amp;gt; Determina el color del texto de cada boton cuando no se ha hecho click en éstos.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setButtonsHighlightedTextColor:(UIColor \*):&amp;lt;/b&amp;gt; Determina el color del texto de cada boton cuando se ha hecho click en éstos.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setButtonsBorderColor:(UIColor \*):&amp;lt;/b&amp;gt; Determina el color del borde de los botones.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setButtonsFont:(UIFont \*):&amp;lt;/b&amp;gt; Determina la fuente de los textos de los botones.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setTermsFontColor:(UIColor \*):&amp;lt;/b&amp;gt; Determina el color de la fuente de los textos de los terminos y condiciones.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setTermsSwitchActiveColor:(UIColor \*):&amp;lt;/b&amp;gt; Determina el color de los botones activos en los terminos y condiciones.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setTermsSwitchInactiveColor:(UIColor \*):&amp;lt;/b&amp;gt; Determina el color de los botones inactivos en los terminos y condiciones.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A continuación se expone un ejemplo en el que se maqueta a gusto del desarrollador las pantallas de &amp;lt;b&amp;gt;NickCenter&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
    nickCenter = [[NickCenter alloc] init];&lt;br /&gt;
    [nickCenter setDelegate:self];&lt;br /&gt;
    [nickCenter setRootViewController:self];&lt;br /&gt;
    [nickCenter setAppHash:@&amp;quot;Hash de la APP en el Panel de Mobeleader&amp;quot;];&lt;br /&gt;
    [nickCenter setViewsBackgroundColor:[UIColor whiteColor]];&lt;br /&gt;
    [nickCenter setViewsBackgroundImage:[UIImage imageNamed:@&amp;quot;logo&amp;quot;]];&lt;br /&gt;
    [nickCenter setHeaderBackgroundColor:[UIColor orangeColor]];&lt;br /&gt;
    [nickCenter setHeaderBottomLineColor:[UIColor orangeColor]];&lt;br /&gt;
    [nickCenter setHeaderTextColor:[UIColor whiteColor]];&lt;br /&gt;
    [nickCenter setTextFieldsBackgroundColor:[UIColor colorWithRed:217.0/255 green:217.0/255 blue:217.0/255 alpha:1]];&lt;br /&gt;
    [nickCenter setTextFieldsPlaceholderColor:[UIColor grayColor]];&lt;br /&gt;
    [nickCenter setTextFieldsTextColor:[UIColor blackColor]];&lt;br /&gt;
    [nickCenter setButtonsNormalBackgroundColor:[UIColor orangeColor]];&lt;br /&gt;
    [nickCenter setButtonsHighlightedBackgroundColor:[UIColor orangeColor]];&lt;br /&gt;
    [nickCenter setButtonsNormalTextColor:[UIColor whiteColor]];&lt;br /&gt;
    [nickCenter setButtonsHighlightedTextColor:[UIColor colorWithRed:249.0/255 green:203.0/255 blue:156.0/255 alpha:1]];&lt;br /&gt;
    [nickCenter setTermsFontColor:[UIColor orangeColor]];&lt;br /&gt;
    [nickCenter checkAndLaunch];&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/nc_ios_desarrollador.jpeg&lt;br /&gt;
&lt;br /&gt;
=== COMPLETAR REGISTRO: ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Una vez un usuario haya sido registrado en una de nuestras aplicaciones, cuando otra lance NickCenter, dicho usuario tan soló debera &amp;lt;b&amp;gt;logearse&amp;lt;/b&amp;gt; sin necesidad de tener que registrarse otra vez para ésta última aplicación. Se puede dar el caso de que al registrarte en la primera aplicación tán solo fuera necesario &amp;lt;b&amp;gt;email y contraseña&amp;lt;/b&amp;gt;, y que para la segunda aplicación fuera necesario registrarse con el &amp;lt;b&amp;gt;telefono&amp;lt;/b&amp;gt;, cuando este tipo de casos se den, al logearte en la segunda aplicación se abrirá una nueva vista para completar el registro. Una vez completado dicho registro se tratará como un login normal.&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/nc_ios_completar.jpeg&lt;br /&gt;
&lt;br /&gt;
=== FUNCIONES UTILES: ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;NickCenter&amp;lt;/b&amp;gt; está dotada de una función que permite al desarrollador cerrar la sesión ya iniciada por el usuario de manera que la siguiente vez que abra la aplicación y pase por donde se lanza la librería, el usuario deba volver a loguearse. Dicha funcion es :&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;closeSession&amp;lt;/b&amp;gt;: ( [nickCenter closeSession]; )&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== DELEGATES: ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;NickCenter&amp;lt;/b&amp;gt; cuenta con una serie de delegates que permiten al desarrollador saber que parte del framework se esta ejecutando y cual es su resultado. A continuación se expondrán éstos y para que sirven.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;registerViewOpened&amp;lt;/b&amp;gt;: Notifica cuando la vista de registro se ha lanzado.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;loginViewOpened&amp;lt;/b&amp;gt;: Notifica cuando la vista del login se ha lanzado.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;rescueViewOpened&amp;lt;/b&amp;gt;: Notifica cuando la vista de recuperación de contraseña se ha lanzado.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onError:(NSString \*)error&amp;lt;/b&amp;gt;: Notificará cuando haya habido un error, normalmente se lanzará cuando el registro o el login hayan sido incorrectos, o cuando al recuperar la contraseña el email sea incorrecto. Se puede dar el caso de que de otro tipo de error como bien puede ser al conectarnos al sevidor.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onWarning:(NSString \*)warning&amp;lt;/b&amp;gt;: Notificará de alguna advertencia al desarrollador.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;finished&amp;lt;/b&amp;gt;: Notificará cuando la librería haya finalizado algun proceso. Inicio de sesión, registro o recuperación de contraseña correcto.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;sessionClosed&amp;lt;/b&amp;gt;: Notificará cuando se haya cerrado la sesión de NickCenter.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onActive&amp;lt;/b&amp;gt;: Notificará cuando detecte que NickCenter esta activa para la aplicación.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onInactive&amp;lt;/b&amp;gt;: Notificará cuando detecte que NickCenter esta inactiva para la aplicación.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;registerRegisterButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de registarse en la vista de registro de usuario.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;registerLoginButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de inicio de sesión en la vista de registro de usuario.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;registerCloseButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de cerrar en la vista de registro de usuario.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;loginPerformed:(NCUser \&amp;lt;i&amp;gt;) user dictionary:(NSMutableDictionary \&amp;lt;/i&amp;gt;) userDictionary&amp;lt;/b&amp;gt;: Notificará cuando haya habido un registro o un login correcto. Se mandará la información recogida del usuario tanto en formato NCUser como en formato NSMutableDictionary.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;loginLoginButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de inicio de sesión en la vista de inicio de sesión.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;loginRegisterButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de registrarse en la vista de inicio de sesión.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;loginRescueButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de recuperar contraseña en la vista de inicio de sesión.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;loginCloseButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de cerrar en la vista de inicio de sesión.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;rescueRescueButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de recuperar contraseña en la vista de recuperar contraseña.&lt;br /&gt;
&lt;br /&gt;
- &amp;lt;b&amp;gt;rescueCloseButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de cerrar en la vista de recuperar contraseña.&lt;/div&gt;</summary>
		<author><name>Asier</name></author>
	</entry>
	<entry>
		<id>https://wiki.mobeleader.com/index.php?title=SDKs:NickCenter:PanelControl&amp;diff=2292</id>
		<title>SDKs:NickCenter:PanelControl</title>
		<link rel="alternate" type="text/html" href="https://wiki.mobeleader.com/index.php?title=SDKs:NickCenter:PanelControl&amp;diff=2292"/>
		<updated>2018-10-15T11:51:04Z</updated>

		<summary type="html">&lt;p&gt;Asier: Página creada con «== PASOS A REALIZAR EN EL PANEL MOBELEADER ==   Una vez nuestra aplicación esté registrada en el Panel Mobeleader, [http://panel.mobeleader.com/index.php](http://panel.mo...»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== PASOS A REALIZAR EN EL PANEL MOBELEADER ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Una vez nuestra aplicación esté registrada en el Panel Mobeleader, [http://panel.mobeleader.com/index.php](http://panel.mobeleader.com/index.php), iremos a la sección de de &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;Desarrolladores&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; y hacemos click en &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;NickCenter —&amp;gt; Añadir app a NickCenter&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/Anadir_app_nc_1.png&lt;br /&gt;
&lt;br /&gt;
Para añadir nuestra aplicación a &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;NickCenter&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; deberemos seguir cinco sencillos pasos:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;1.- Selección de app:&amp;lt;/b&amp;gt; En este apartado tendremos que elegír la aplicación que queremos añadir a &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;NickCenter&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; y decidir si la librería estará activa o no al lanzar la aplicación seleccionada. Esto se podrá activar y desactivar siempre que se desee.&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/Configurar_app_nc_2.png&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;2.- Pantalla de registro:&amp;lt;/b&amp;gt; En este paso configuraremos lo referente a la vista de registro para los usuarios. Podremos elegir entre varios campos de los cuales, como se indica, el &amp;lt;b&amp;gt;email&amp;lt;/b&amp;gt; y &amp;lt;b&amp;gt;password&amp;lt;/b&amp;gt; siempre serán obligatorios, el resto, será al gusto del desarrollador; pudiendo elegir que el usuario &amp;lt;i&amp;gt;PUEDA&amp;lt;/i&amp;gt;  introducir su nombre, pero no siendo obligatorio para el registro.&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/Configurar_app_nc_3.png&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;3.- Pantalla de inicio de sesión:&amp;lt;/b&amp;gt; Como en el anterior paso, aquí, configuraremos lo referente a la pantalla de inicio de sesión para los usuarios. En este caso, como se indica, solo será obligatorio el campo &amp;lt;b&amp;gt;password&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/Configurar_app_nc_4.png&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;4.- Pantalla de recuperación de contraseña:&amp;lt;/b&amp;gt; En este caso, para la pantalla de recuperación de contraseña tan solo se pedira el &amp;lt;b&amp;gt;email&amp;lt;/b&amp;gt; del usuario y por tanto, dicho &amp;lt;b&amp;gt;email&amp;lt;/b&amp;gt; sera un campo obligatorio.&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/Configurar_app_nc_5.png&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;5.- Traducción:&amp;lt;/b&amp;gt; Este será el último paso para configurar nuestra aplicación, aquí deberemos seleccionar tanto los idiomas a los que estarán traducidos todos los campos que hemos configurado previamente; como su propia traducción a dichos idiomas. Una vez seleccionado el primer idioma, se pondrá como idioma por defecto de dicha aplicación. Para cambiar el idioma por defecto no tendremos más que generar las traducciones en más idiomas y modificar el campo &amp;lt;b&amp;gt;&amp;quot;Traducción por defecto&amp;quot;&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/Configurar_app_nc_6.png&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;5.1.- Cabeceras y botones:&amp;lt;/b&amp;gt; En este primer paso generaremos las traducciones de las cabeceras de las pantallas y de sus botones.&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/Configurar_app_nc_7.png&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;5.2.- Configuración de campos:&amp;lt;/b&amp;gt; En el segúndo paso generaremos las traducciones de los campos seleccionados previamente para cada pantalla y de sus posibles errores.&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/Configurar_app_nc_8.png&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;5.3.- Traducciones generales:&amp;lt;/b&amp;gt;  En el tercer y último paso generaremos las traducciones generales, traducciones que van asociadas a todas las pantallas y no a una/s en concreto como en los anteriores pasos.&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/Configurar_app_nc_9.png&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/Configurar_app_nc_10.png&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/Configurar_app_nc_11.png&lt;br /&gt;
&lt;br /&gt;
Una vez finalizadas las traducciones, como se ha indicado previamente, aparecerá el idioma al que se han realizado las traducciones y se pondrá por defecto.&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/Configurar_app_nc_12.png&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/Configurar_app_nc_13.png&lt;br /&gt;
&lt;br /&gt;
Si al finalizar dicha configuración no hemos quedado satisfechos con los campos seleccionados en alguna de sus pantallas, cuando procedamos a editar dicha pantalla y añadamos un nuevo campo que previamente no ha sido traducido, automáticamente se abrirá una pantalla para generar las traducciones para el &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;IDIOMA POR DEFECTO&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt;. Si queremos generar la traducción para el resto de idiomas hemos de volver a realizar lo especificado en el paso &amp;lt;b&amp;gt;5.-Traducción&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/Anadir_nuevo_campo_14.png&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/Anadir_nuevo_campo_15.png&lt;/div&gt;</summary>
		<author><name>Asier</name></author>
	</entry>
	<entry>
		<id>https://wiki.mobeleader.com/index.php?title=SDKs:NickCenter:Intro&amp;diff=2290</id>
		<title>SDKs:NickCenter:Intro</title>
		<link rel="alternate" type="text/html" href="https://wiki.mobeleader.com/index.php?title=SDKs:NickCenter:Intro&amp;diff=2290"/>
		<updated>2018-10-15T11:49:22Z</updated>

		<summary type="html">&lt;p&gt;Asier: /* INTRODUCCION */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== INTRODUCCION ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;&amp;lt;i&amp;gt;NickCenter&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; es una librería de &amp;lt;b&amp;gt;Registro e Inicio de Sesión&amp;lt;/b&amp;gt; para &amp;lt;b&amp;gt;desarrolladores&amp;lt;/b&amp;gt;, pudiendo ser activada o desactivada desde el panel de &amp;lt;b&amp;gt;Mobeleader&amp;lt;/b&amp;gt; cuando se desee. Se encargará de todo lo necesario para registrar en nuestro sistema los usuarios que se den de alta y devolverá a la aplicación en la que se esté usando los datos de éstos en formato JSON. Dicho JSON podrá contener los siguientes campos, pudiendo no estar todos los expuestos a continuación:&lt;br /&gt;
* 	&amp;lt;b&amp;gt;user_id:&amp;lt;/b&amp;gt; ID del usuario. ( SIEMPRE SE INFORMARÁ )&lt;br /&gt;
&lt;br /&gt;
* 	&amp;lt;b&amp;gt;email:&amp;lt;/b&amp;gt; Email del usuario. ( SIEMPRE SE INFORMARÁ )&lt;br /&gt;
&lt;br /&gt;
* 	&amp;lt;b&amp;gt;added_date:&amp;lt;/b&amp;gt; Fecha en la que se dio de alta el perfil en NickCenter. ( SIEMPRE SE INFORMARÁ )&lt;br /&gt;
&lt;br /&gt;
* 	&amp;lt;b&amp;gt;name:&amp;lt;/b&amp;gt; Nombre del usuario que se ha dado de alta. ( DEPENDERÁ DE SI SE HA REGISTRADO EL CAMPO )&lt;br /&gt;
&lt;br /&gt;
* 	&amp;lt;b&amp;gt;last_name:&amp;lt;/b&amp;gt; Apellido del usuario que se ha dado de alta. ( DEPENDERÁ DE SI SE HA REGISTRADO EL CAMPO )&lt;br /&gt;
&lt;br /&gt;
* 	&amp;lt;b&amp;gt;nick:&amp;lt;/b&amp;gt; Nick del perfil que se ha dado de alta. ( SIEMPRE SE INFORMARÁ )&lt;br /&gt;
&lt;br /&gt;
* 	&amp;lt;b&amp;gt;telephone:&amp;lt;/b&amp;gt; Telefono del usuario que se ha dado de alta. ( DEPENDERÁ DE SI SE HA REGISTRADO EL CAMPO )&lt;br /&gt;
&lt;br /&gt;
* 	&amp;lt;b&amp;gt;languaje:&amp;lt;/b&amp;gt; Idioma del telefono con el que el usuario se ha dado de alta. ( SIEMPRE SE INFORMARÁ )&lt;br /&gt;
&lt;br /&gt;
* 	&amp;lt;b&amp;gt;country:&amp;lt;/b&amp;gt; Pais del usuario que se ha dado de alta. ( SIEMPRE SE INFORMARÁ )&lt;br /&gt;
&lt;br /&gt;
* 	&amp;lt;b&amp;gt;update_date:&amp;lt;/b&amp;gt; Fecha en la que se actualizó el perfil de NickCenter. ( SOLO CUANDO HAYA HABIDO ALGUNA ACTUALIZACIÓN )&lt;br /&gt;
&lt;br /&gt;
* 	&amp;lt;b&amp;gt;birth_date:&amp;lt;/b&amp;gt; Fecha de nacimiento del usuario que se ha dado de alta. ( DEPENDERÁ DE SI SE HA REGISTRADO EL CAMPO )&lt;br /&gt;
&lt;br /&gt;
* 	&amp;lt;b&amp;gt;apps:&amp;lt;/b&amp;gt; JSON que contendrá las aplicaciones en las que el usuario ha sido registrado. Cabe destacar que solo se mostrarán aplicaciones que compartan el mismo desarrollador, nunca obtendremos datos de aplicaciones externas. ( SIEMPRE SE INFORMARA )&lt;/div&gt;</summary>
		<author><name>Asier</name></author>
	</entry>
	<entry>
		<id>https://wiki.mobeleader.com/index.php?title=SDKs:NickCenter:Intro&amp;diff=2289</id>
		<title>SDKs:NickCenter:Intro</title>
		<link rel="alternate" type="text/html" href="https://wiki.mobeleader.com/index.php?title=SDKs:NickCenter:Intro&amp;diff=2289"/>
		<updated>2018-10-15T11:42:48Z</updated>

		<summary type="html">&lt;p&gt;Asier: /* INTRODUCCION */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== INTRODUCCION ==&lt;br /&gt;
&lt;br /&gt;
Esto es desde Plantilla&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;&amp;lt;i&amp;gt;NickCenter&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; es una librería de &amp;lt;b&amp;gt;Registro e Inicio de Sesión&amp;lt;/b&amp;gt; para &amp;lt;b&amp;gt;desarrolladores&amp;lt;/b&amp;gt;, pudiendo ser activada o desactivada desde el panel de &amp;lt;b&amp;gt;Mobeleader&amp;lt;/b&amp;gt; cuando se desee. Se encargará de todo lo necesario para registrar en nuestro sistema los usuarios que se den de alta y devolverá a la aplicación en la que se esté usando los datos de éstos en formato JSON. Dicho JSON podrá contener los siguientes campos, pudiendo no estar todos los expuestos a continuación:&lt;br /&gt;
* 	&amp;lt;b&amp;gt;user_id:&amp;lt;/b&amp;gt; ID del usuario. ( SIEMPRE SE INFORMARÁ )&lt;br /&gt;
&lt;br /&gt;
* 	&amp;lt;b&amp;gt;email:&amp;lt;/b&amp;gt; Email del usuario. ( SIEMPRE SE INFORMARÁ )&lt;br /&gt;
&lt;br /&gt;
* 	&amp;lt;b&amp;gt;added_date:&amp;lt;/b&amp;gt; Fecha en la que se dio de alta el perfil en NickCenter. ( SIEMPRE SE INFORMARÁ )&lt;br /&gt;
&lt;br /&gt;
* 	&amp;lt;b&amp;gt;name:&amp;lt;/b&amp;gt; Nombre del usuario que se ha dado de alta. ( DEPENDERÁ DE SI SE HA REGISTRADO EL CAMPO )&lt;br /&gt;
&lt;br /&gt;
* 	&amp;lt;b&amp;gt;last_name:&amp;lt;/b&amp;gt; Apellido del usuario que se ha dado de alta. ( DEPENDERÁ DE SI SE HA REGISTRADO EL CAMPO )&lt;br /&gt;
&lt;br /&gt;
* 	&amp;lt;b&amp;gt;nick:&amp;lt;/b&amp;gt; Nick del perfil que se ha dado de alta. ( SIEMPRE SE INFORMARÁ )&lt;br /&gt;
&lt;br /&gt;
* 	&amp;lt;b&amp;gt;telephone:&amp;lt;/b&amp;gt; Telefono del usuario que se ha dado de alta. ( DEPENDERÁ DE SI SE HA REGISTRADO EL CAMPO )&lt;br /&gt;
&lt;br /&gt;
* 	&amp;lt;b&amp;gt;languaje:&amp;lt;/b&amp;gt; Idioma del telefono con el que el usuario se ha dado de alta. ( SIEMPRE SE INFORMARÁ )&lt;br /&gt;
&lt;br /&gt;
* 	&amp;lt;b&amp;gt;country:&amp;lt;/b&amp;gt; Pais del usuario que se ha dado de alta. ( SIEMPRE SE INFORMARÁ )&lt;br /&gt;
&lt;br /&gt;
* 	&amp;lt;b&amp;gt;update_date:&amp;lt;/b&amp;gt; Fecha en la que se actualizó el perfil de NickCenter. ( SOLO CUANDO HAYA HABIDO ALGUNA ACTUALIZACIÓN )&lt;br /&gt;
&lt;br /&gt;
* 	&amp;lt;b&amp;gt;birth_date:&amp;lt;/b&amp;gt; Fecha de nacimiento del usuario que se ha dado de alta. ( DEPENDERÁ DE SI SE HA REGISTRADO EL CAMPO )&lt;br /&gt;
&lt;br /&gt;
* 	&amp;lt;b&amp;gt;apps:&amp;lt;/b&amp;gt; JSON que contendrá las aplicaciones en las que el usuario ha sido registrado. Cabe destacar que solo se mostrarán aplicaciones que compartan el mismo desarrollador, nunca obtendremos datos de aplicaciones externas. ( SIEMPRE SE INFORMARA )&lt;/div&gt;</summary>
		<author><name>Asier</name></author>
	</entry>
	<entry>
		<id>https://wiki.mobeleader.com/index.php?title=SDKs:NickCenter:Intro&amp;diff=2288</id>
		<title>SDKs:NickCenter:Intro</title>
		<link rel="alternate" type="text/html" href="https://wiki.mobeleader.com/index.php?title=SDKs:NickCenter:Intro&amp;diff=2288"/>
		<updated>2018-10-15T11:42:41Z</updated>

		<summary type="html">&lt;p&gt;Asier: /* INTRODUCCION */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== INTRODUCCION ==&lt;br /&gt;
&lt;br /&gt;
Esto es desde Plantilla&lt;br /&gt;
&amp;lt;b&amp;gt;&amp;lt;i&amp;gt;NickCenter&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; es una librería de &amp;lt;b&amp;gt;Registro e Inicio de Sesión&amp;lt;/b&amp;gt; para &amp;lt;b&amp;gt;desarrolladores&amp;lt;/b&amp;gt;, pudiendo ser activada o desactivada desde el panel de &amp;lt;b&amp;gt;Mobeleader&amp;lt;/b&amp;gt; cuando se desee. Se encargará de todo lo necesario para registrar en nuestro sistema los usuarios que se den de alta y devolverá a la aplicación en la que se esté usando los datos de éstos en formato JSON. Dicho JSON podrá contener los siguientes campos, pudiendo no estar todos los expuestos a continuación:&lt;br /&gt;
* 	&amp;lt;b&amp;gt;user_id:&amp;lt;/b&amp;gt; ID del usuario. ( SIEMPRE SE INFORMARÁ )&lt;br /&gt;
&lt;br /&gt;
* 	&amp;lt;b&amp;gt;email:&amp;lt;/b&amp;gt; Email del usuario. ( SIEMPRE SE INFORMARÁ )&lt;br /&gt;
&lt;br /&gt;
* 	&amp;lt;b&amp;gt;added_date:&amp;lt;/b&amp;gt; Fecha en la que se dio de alta el perfil en NickCenter. ( SIEMPRE SE INFORMARÁ )&lt;br /&gt;
&lt;br /&gt;
* 	&amp;lt;b&amp;gt;name:&amp;lt;/b&amp;gt; Nombre del usuario que se ha dado de alta. ( DEPENDERÁ DE SI SE HA REGISTRADO EL CAMPO )&lt;br /&gt;
&lt;br /&gt;
* 	&amp;lt;b&amp;gt;last_name:&amp;lt;/b&amp;gt; Apellido del usuario que se ha dado de alta. ( DEPENDERÁ DE SI SE HA REGISTRADO EL CAMPO )&lt;br /&gt;
&lt;br /&gt;
* 	&amp;lt;b&amp;gt;nick:&amp;lt;/b&amp;gt; Nick del perfil que se ha dado de alta. ( SIEMPRE SE INFORMARÁ )&lt;br /&gt;
&lt;br /&gt;
* 	&amp;lt;b&amp;gt;telephone:&amp;lt;/b&amp;gt; Telefono del usuario que se ha dado de alta. ( DEPENDERÁ DE SI SE HA REGISTRADO EL CAMPO )&lt;br /&gt;
&lt;br /&gt;
* 	&amp;lt;b&amp;gt;languaje:&amp;lt;/b&amp;gt; Idioma del telefono con el que el usuario se ha dado de alta. ( SIEMPRE SE INFORMARÁ )&lt;br /&gt;
&lt;br /&gt;
* 	&amp;lt;b&amp;gt;country:&amp;lt;/b&amp;gt; Pais del usuario que se ha dado de alta. ( SIEMPRE SE INFORMARÁ )&lt;br /&gt;
&lt;br /&gt;
* 	&amp;lt;b&amp;gt;update_date:&amp;lt;/b&amp;gt; Fecha en la que se actualizó el perfil de NickCenter. ( SOLO CUANDO HAYA HABIDO ALGUNA ACTUALIZACIÓN )&lt;br /&gt;
&lt;br /&gt;
* 	&amp;lt;b&amp;gt;birth_date:&amp;lt;/b&amp;gt; Fecha de nacimiento del usuario que se ha dado de alta. ( DEPENDERÁ DE SI SE HA REGISTRADO EL CAMPO )&lt;br /&gt;
&lt;br /&gt;
* 	&amp;lt;b&amp;gt;apps:&amp;lt;/b&amp;gt; JSON que contendrá las aplicaciones en las que el usuario ha sido registrado. Cabe destacar que solo se mostrarán aplicaciones que compartan el mismo desarrollador, nunca obtendremos datos de aplicaciones externas. ( SIEMPRE SE INFORMARA )&lt;/div&gt;</summary>
		<author><name>Asier</name></author>
	</entry>
	<entry>
		<id>https://wiki.mobeleader.com/index.php?title=SDKs:NickCenter:Android:index&amp;diff=2285</id>
		<title>SDKs:NickCenter:Android:index</title>
		<link rel="alternate" type="text/html" href="https://wiki.mobeleader.com/index.php?title=SDKs:NickCenter:Android:index&amp;diff=2285"/>
		<updated>2018-10-15T11:38:37Z</updated>

		<summary type="html">&lt;p&gt;Asier: /* CÓMO AGREGAR LA LIBRERÍA NICKCENTER EN ANDROID */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= CÓMO AGREGAR LA LIBRERÍA NICKCENTER EN ANDROID =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{:SDKs:NickCenter:Intro}}&lt;br /&gt;
&lt;br /&gt;
== VERSIONES DE ANDROID SOPORTADAS ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Esta librería soporta todas las versiones de Android superiores a las &amp;lt;b&amp;gt;2.3&amp;lt;/b&amp;gt;, la denominada &amp;lt;b&amp;gt;GingerBread&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
{{:SDKs:NickCenter:PanelControl}}&lt;br /&gt;
&lt;br /&gt;
== PASOS A REALIZAR PARA LA INTALACIÓN DE LA LIBRERÍA EN LA APLICACIÓN ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== INSTALACIÓN: ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1. -Disponemos de un repositorio maven para poder usar en Android Studio, para ello deberemos insertar lo siguiente en el archivo &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;“build.gradle” &amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; de nuestra aplicación:&lt;br /&gt;
&lt;br /&gt;
	- En el apartado de &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;repositories&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; añadiremos:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    repositories {&lt;br /&gt;
        mavenCentral()&lt;br /&gt;
        maven { url &#039;http://maven.mobeleader.com&#039; }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* En el apartado de &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;repositories&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; añadiremos las dependencias necesarias para usar la librería &amp;lt;b&amp;gt;NickCenter&amp;lt;/b&amp;gt;. Serán tanto la propia librería de &amp;lt;b&amp;gt;NickCenter&amp;lt;/b&amp;gt; como las librerías &amp;lt;b&amp;gt;UtilsLib&amp;lt;/b&amp;gt; y &amp;lt;b&amp;gt;RegisterLib&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    //noinspection GradleDynamicVersion&lt;br /&gt;
    implementation &#039;com.mobeleader.nickcenter:NickCenter:+&#039;&lt;br /&gt;
    //noinspection GradleDynamicVersion&lt;br /&gt;
    implementation &#039;com.mobeleader.utils:UtilsLib:+&#039;&lt;br /&gt;
    //noinspection GradleDynamicVersion&lt;br /&gt;
    implementation &#039;com.mobeleader.register:RegisterLib:+&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== LANZAMIENTO: ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Una vez configurada la librería, en la Activity o en el Fragment que se quiera lanzar deberemos añadir las siguientes lineas de código:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    String appName = &#039;Nombre de la APP en el nuestro panel&#039;;&lt;br /&gt;
    String appHash = &#039;Hash de la APP en nuestro panel&#039;;&lt;br /&gt;
    NCLib nclib = new NCLib(this, appName, appHash, &amp;quot;movil&amp;quot;);&lt;br /&gt;
    nclib.checkAndLaunch();&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;appName&amp;lt;/b&amp;gt;: Será el nombre que se le ha dado a la aplicación al darla de alta en nuestro panel.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;appHash&amp;lt;/b&amp;gt;: Será el hash dado por nuestro panel al dar de alta la aplicación en éste.  Para acceder a el deberemos ir a la sección &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;Desarrolladores&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; --&amp;gt; &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;Mis Apps&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; y hacer click sobre la columna &amp;lt;b&amp;gt;Hash&amp;lt;/b&amp;gt; de nuestra aplicación.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/Obtener_hash_app_14.png&lt;br /&gt;
&lt;br /&gt;
Por defecto las pantallas de &amp;lt;b&amp;gt;NickCenter&amp;lt;/b&amp;gt; presentan el siguiente formato:&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/nc_default_android.png&lt;br /&gt;
&lt;br /&gt;
Si desea modificar las pantallas para que sean lo más parecidas a su aplicación la librería esta dotada de una serie de funciones que le permitirán maquetarlas a su gusto:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setViewsBackgroundColor(String viewsBackgroundColor):&amp;lt;/b&amp;gt; Determina el color de fondo de las pantallas.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setViewsBackgroundImage(int viewsBackgroundImage):&amp;lt;/b&amp;gt; Determina la imagen de fondo de cada pantalla.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setHeaderBackgroundColor(String headerBackgroundColor):&amp;lt;/b&amp;gt; Determina el color de fondo de la cabecera de las pantallas.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setHeaderBackgroundImage(int headerBackgroundImage):&amp;lt;/b&amp;gt; Determina la imagen de fondo de la cabecera de cada pantalla.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setHeaderBottomLineColor(String headerBottomLineColor):&amp;lt;/b&amp;gt; Determina el color de la linea que separa la cabecera con el resto de la pantalla.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setHeaderTextColor(String headerTextColor):&amp;lt;/b&amp;gt; Determina el color del texto de la cabecera de las pantallas.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setHeaderFont(String headerFont):&amp;lt;/b&amp;gt; Determina la fuente de los textos de las cabeceras.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setTextFieldsBackgroundColor(String textFieldsBackgroundColor):&amp;lt;/b&amp;gt; Determina el color de fondo de los textfields donde se ubican los campos de cada pantalla.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setTextFieldsPlaceholderColor(String textFieldsPlaceholderColor):&amp;lt;/b&amp;gt; Determina el color del texto descriptivo de cada textfield.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setTextFieldsTextColor(String textFieldsTextColor):&amp;lt;/b&amp;gt; Determina el color del texto de los textfields donde se ubican los campos de cada pantalla.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setTextFieldsFont(String textFieldsFont):&amp;lt;/b&amp;gt; Determina la fuente del texto de los textfields.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setButtonsNormalBackgroundColor(String buttonsNormalBackgroundColor):&amp;lt;/b&amp;gt; Determina el color de fondo de los botones de cada pantalla.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setButtonsHighlightedBackgroundColor(String buttonsHighlightedBackgroundColor):&amp;lt;/b&amp;gt; Determina el color de fondo de los botones de cada pantalla cuando se ha hecho click en éstos.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setButtonsNormalTextColor(String buttonsNormalTextColor):&amp;lt;/b&amp;gt; Determina el color del texto de cada boton cuando no se ha hecho click en éstos.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setButtonsHighlightedTextColor(String buttonsHighlightedTextColor):&amp;lt;/b&amp;gt; Determina el color del texto de cada boton cuando se ha hecho click en éstos.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setButtonsBorderColor(String buttonsBorderColor):&amp;lt;/b&amp;gt; Determina el color del borde de los botones.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setButtonsFont(String buttonsFont):&amp;lt;/b&amp;gt; Determina la fuente de los textos de los botones.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setTermsFontColor(String buttonsFont):&amp;lt;/b&amp;gt; Determina la fuente de los textos de los terminos y condiciones.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A continuación se expone un ejemplo en el que se maqueta a gusto del desarrollador las pantallas de &amp;lt;b&amp;gt;NickCenter&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
    String appName = &#039;Nombre de la APP en nuestro panel&#039;;&lt;br /&gt;
    String appHash = &#039;Hash de la APP en nuestro panel&#039;;&lt;br /&gt;
    &lt;br /&gt;
    NCLib nclib = new NCLib(this, appName, appHash, &amp;quot;movil&amp;quot;);&lt;br /&gt;
    &lt;br /&gt;
    nclib.setViewsBackgroundImage(R.drawable.ic_launcher);&lt;br /&gt;
    nclib.setHeaderBackgroundColor(&amp;quot;#f0f0f0&amp;quot;);&lt;br /&gt;
    nclib.setHeaderBottomLineColor(&amp;quot;#01e3fe&amp;quot;);&lt;br /&gt;
    nclib.setHeaderTextColor(&amp;quot;#7b7b7b&amp;quot;);&lt;br /&gt;
    nclib.setTextFieldsBackgroundColor(&amp;quot;#ebebeb&amp;quot;);&lt;br /&gt;
    nclib.setTextFieldsPlaceholderColor(&amp;quot;#7b7b7b&amp;quot;);&lt;br /&gt;
    nclib.setButtonsNormalBackgroundColor(&amp;quot;#7b7b7b&amp;quot;);&lt;br /&gt;
    nclib.setButtonsHighlightedBackgroundColor(&amp;quot;#000000&amp;quot;);&lt;br /&gt;
    nclib.setButtonsNormalTextColor(&amp;quot;#7b7b7b&amp;quot;);&lt;br /&gt;
    nclib.setButtonsBorderColor(&amp;quot;#01e3fe&amp;quot;);&lt;br /&gt;
    &lt;br /&gt;
    nclib.checkAndLaunch();&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/nc_android_desarrollador.png&lt;br /&gt;
&lt;br /&gt;
=== COMPLETAR REGISTRO: ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Una vez un usuario haya sido registrado en una de nuestras aplicaciones, cuando otra lance &amp;lt;b&amp;gt;NickCenter&amp;lt;/b&amp;gt;, dicho usuario tan soló debera &amp;lt;b&amp;gt;logearse&amp;lt;/b&amp;gt; sin necesidad de tener que registrarse otra vez para ésta última aplicación. Se puede dar el caso de que al registrarte en la primera aplicación tán solo fuera necesario &amp;lt;b&amp;gt;email y contraseña&amp;lt;/b&amp;gt;, y que para la segunda aplicación fuera necesario registrarse con el &amp;lt;b&amp;gt;telefono&amp;lt;/b&amp;gt;, cuando este tipo de casos se den, al logearte en la segunda aplicación se abrirá una nueva vista para completar el registro. Una vez completado dicho registro se tratará como un login normal.&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/nc_android_completar.png&lt;br /&gt;
&lt;br /&gt;
=== FUNCIONES UTILES: ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;NickCenter&amp;lt;/b&amp;gt; está dotada de una función que permite al desarrollador cerrar la sesión ya iniciada por el usuario de manera que la siguiente vez que abra la aplicación y pase por donde se lanza la librería, el usuario deba volver a loguearse. Dicha funcion es :&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;closeSession(Context contexto)&amp;lt;/b&amp;gt;: Cabe destacar que el contexto que se le ha de pasar a la función para cerrar la sesión ha de ser el mismo que se usa para el lanzamiento de la librería.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== FUNCIONES DE PRECARGA DE DATOS: ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;NickCenter&amp;lt;/b&amp;gt; está dotada de una serie de funciones que permite al desarrollador precargar los datos del usuario en la pantalla del registro. De ésta manera si el desarrollador conoce los datos de los usuarios, al lanzar la librería los campos se autorellenarán en la pantalla del registro. Dichas funciones son:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setUserName(String name):&amp;lt;/b&amp;gt; Rellenará el campo &amp;quot;Nombre&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setUserSurname(String surName):&amp;lt;/b&amp;gt; Rellenará el campo &amp;quot;Apellidos&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setUserEmail(String email):&amp;lt;/b&amp;gt; Rellenará el campo &amp;quot;Email&amp;quot;. El email ha de ser real, se comprobará tanto el formato de la cadena como la veracidad del propio email. Ejemplo: user@domain.com&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setUserPhone(String phone):&amp;lt;/b&amp;gt; Rellenará el campo &amp;quot;Teléfono&amp;quot;. Se validará el formato del teléfono; ha de ser un teléfono sin prefijo internacional. Ejemplo: 666777888&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setUserNick(String nick):&amp;lt;/b&amp;gt; Rellenará el campo &amp;quot;Nick&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setUserGender(String gender):&amp;lt;/b&amp;gt; Rellenará el campo &amp;quot;Sexo&amp;quot;. Será M para Hombre y F para mujer.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setUserBirthDate(String birthDate):&amp;lt;/b&amp;gt; Rellenará el campo &amp;quot;Fecha de Nacimiento&amp;quot;. Ha de ser una fecha en formato inglés separado por /. Ejemplo: 1992/01/12.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== LISTENERS: ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;NickCenter&amp;lt;/b&amp;gt; cuenta con una serie de listeners que permiten al desarrollador saber que parte de la librería se esta ejecutando y cual es su resultado. A continuación se expondrá un ejemplo de como lanzar la librería con listeners y cuales son todos éstos.&lt;br /&gt;
&lt;br /&gt;
    String appName = &#039;Nombre de la APP en nuestro panel&#039;;&lt;br /&gt;
    String appHash = &#039;Hash de la APP en nuestro panel&#039;;&lt;br /&gt;
    &lt;br /&gt;
    NCLib nclib = new NCLib(this, appName, appHash, &amp;quot;movil&amp;quot;);&lt;br /&gt;
    &lt;br /&gt;
    nclib.setNCListener(new NCLibListener(){&lt;br /&gt;
        @Override&lt;br /&gt;
        public void onError(String error){&lt;br /&gt;
            super.onError(error);&lt;br /&gt;
            Logger.d(&amp;quot;LANZA EL ERROR ---&amp;gt;&amp;quot;+error);&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
    &lt;br /&gt;
    nclib.checkAndLaunch();&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onRegisterViewOpened()&amp;lt;/b&amp;gt;: Notifica cuando la vista de registro se ha lanzado.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onLoginViewOpened()&amp;lt;/b&amp;gt;: Notifica cuando la vista del login se ha lanzado.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onRescueViewOpened()&amp;lt;/b&amp;gt;: Notifica cuando la vista de recuperación de contraseña se ha lanzado.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onError(String error)&amp;lt;/b&amp;gt;: Notificará cuando haya habido un error, normalmente se lanzará cuando el registro o el login hayan sido incorrectos, o cuando al recuperar la contraseña el email sea incorrecto. Se puede dar el caso de que de otro tipo de error como bien puede ser al conectarnos al sevidor.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onWarning(String warning)&amp;lt;/b&amp;gt;: Notificará de alguna advertencia al desarrollador.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onFinished()&amp;lt;/b&amp;gt;: Notificará cuando la librería haya finalizado algun proceso. Cerrar las vistas de login y registro (con ellas se cierra la aplicación); e inicio de sesión, registro o recuperación de contraseña correcto.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onSessionClosed()&amp;lt;/b&amp;gt;: Notificará cuando se haya cerrado la sesión de NickCenter.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onActive()&amp;lt;/b&amp;gt;: Notificará cuando detecte que NickCenter esta activa para la aplicación.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onInactive()&amp;lt;/b&amp;gt;: Notificará cuando detecte que NickCenter esta inactiva para la aplicación.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onRegisterRegisterButtonClicked()&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de registarse en la vista de registro de usuario.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onRegisterLoginButtonClicked()&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de inicio de sesión en la vista de registro de usuario.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onRegisterCloseButtonClicked()&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de cerrar en la vista de registro de usuario.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onRegisterPerformed(JSONObject user)&amp;lt;/b&amp;gt;: Notificará cuando haya habido un registro correcto. Se mandará un JSON con los datos obtenidos del usuario.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onLoginLoginButtonClicked()&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de inicio de sesión en la vista de inicio de sesión.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onLoginRegisterButtonClicked()&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de registrarse en la vista de inicio de sesión.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onLoginRescueButtonClicked()&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de recuperar contraseña en la vista de inicio de sesión.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onLoginCloseButtonClicked()&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de cerrar en la vista de inicio de sesión.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onLoginPerformed(JSONObject user)&amp;lt;/b&amp;gt;: Notificará cuando haya habido un inicio de sesión correcto. Se mandará un JSON con los datos obtenidos del usuario.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onRescueRescueButtonClicked()&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de recuperar contraseña en la vista de recuperar contraseña.&lt;br /&gt;
&lt;br /&gt;
- &amp;lt;b&amp;gt;onRescueCloseButtonClicked()&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de cerrar en la vista de recuperar contraseña.&lt;/div&gt;</summary>
		<author><name>Asier</name></author>
	</entry>
	<entry>
		<id>https://wiki.mobeleader.com/index.php?title=SDKs:NickCenter:Cordova:index&amp;diff=2284</id>
		<title>SDKs:NickCenter:Cordova:index</title>
		<link rel="alternate" type="text/html" href="https://wiki.mobeleader.com/index.php?title=SDKs:NickCenter:Cordova:index&amp;diff=2284"/>
		<updated>2018-10-15T11:36:24Z</updated>

		<summary type="html">&lt;p&gt;Asier: /* CÓMO AGREGAR EL PLUGIN NICKCENTER EN CORDOVA */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= CÓMO AGREGAR EL PLUGIN NICKCENTER EN CORDOVA =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{:SDKs:NickCenter:Intro}}&lt;br /&gt;
&lt;br /&gt;
== VERSIONES DE iOs SOPORTADAS ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Este framework soporta todas las versiones de iOs superiores a las &amp;lt;b&amp;gt;10.0&amp;lt;/b&amp;gt;, en caso de que detecte una versión inferior no se lanzará.&lt;br /&gt;
&lt;br /&gt;
== PASOS A REALIZAR EN EL PANEL MOBELEADER ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Una vez nuestra aplicación esté registrada en el Panel Mobeleader, [http://panel.mobeleader.com/index.php](http://panel.mobeleader.com/index.php), iremos a la sección de de &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;Desarrolladores&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; y hacemos click en &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;NickCenter —&amp;gt; Añadir app a NickCenter&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/Anadir_app_nc_1.png&lt;br /&gt;
&lt;br /&gt;
Para añadir nuestra aplicación a &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;NickCenter&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; deberemos seguir cinco sencillos pasos:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;1.- Selección de app:&amp;lt;/b&amp;gt; En este apartado tendremos que elegír la aplicación que queremos añadir a &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;NickCenter&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; y decidir si la librería estará activa o no al lanzar la aplicación seleccionada. Esto se podrá activar y desactivar siempre que se desee.&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/Configurar_app_nc_2.png&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;2.- Pantalla de registro:&amp;lt;/b&amp;gt; En este paso configuraremos lo referente a la vista de registro para los usuarios. Podremos elegir entre varios campos de los cuales, como se indica, el &amp;lt;b&amp;gt;email&amp;lt;/b&amp;gt; y &amp;lt;b&amp;gt;password&amp;lt;/b&amp;gt; siempre serán obligatorios, el resto, será al gusto del desarrollador; pudiendo elegir que el usuario &amp;lt;i&amp;gt;PUEDA&amp;lt;/i&amp;gt;  introducir su nombre, pero no siendo obligatorio para el registro.&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/Configurar_app_nc_3.png&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;3.- Pantalla de inicio de sesión:&amp;lt;/b&amp;gt; Como en el anterior paso, aquí, configuraremos lo referente a la pantalla de inicio de sesión para los usuarios. En este caso, como se indica, solo será obligatorio el campo &amp;lt;b&amp;gt;password&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/Configurar_app_nc_4.png&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;4.- Pantalla de recuperación de contraseña:&amp;lt;/b&amp;gt; En este caso, para la pantalla de recuperación de contraseña tan solo se pedira el &amp;lt;b&amp;gt;email&amp;lt;/b&amp;gt; del usuario y por tanto, dicho &amp;lt;b&amp;gt;email&amp;lt;/b&amp;gt; sera un campo obligatorio.&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/Configurar_app_nc_5.png&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;5.- Traducción:&amp;lt;/b&amp;gt; Este será el último paso para configurar nuestra aplicación, aquí deberemos seleccionar tanto los idiomas a los que estarán traducidos todos los campos que hemos configurado previamente; como su propia traducción a dichos idiomas. Una vez seleccionado el primer idioma, se pondrá como idioma por defecto de dicha aplicación. Para cambiar el idioma por defecto no tendremos más que generar las traducciones en más idiomas y modificar el campo &amp;lt;b&amp;gt;&amp;quot;Traducción por defecto&amp;quot;&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/Configurar_app_nc_6.png&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;5.1.- Cabeceras y botones:&amp;lt;/b&amp;gt; En este primer paso generaremos las traducciones de las cabeceras de las pantallas y de sus botones.&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/Configurar_app_nc_7.png&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;5.2.- Configuración de campos:&amp;lt;/b&amp;gt; En el segúndo paso generaremos las traducciones de los campos seleccionados previamente para cada pantalla y de sus posibles errores.&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/Configurar_app_nc_8.png&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;5.3.- Traducciones generales:&amp;lt;/b&amp;gt;  En el tercer y último paso generaremos las traducciones generales, traducciones que van asociadas a todas las pantallas y no a una/s en concreto como en los anteriores pasos.&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/Configurar_app_nc_9.png&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/Configurar_app_nc_10.png&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/Configurar_app_nc_11.png&lt;br /&gt;
&lt;br /&gt;
Una vez finalizadas las traducciones, como se ha indicado previamente, aparecerá el idioma al que se han realizado las traducciones y se pondrá por defecto.&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/Configurar_app_nc_12.png&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/Configurar_app_nc_13.png&lt;br /&gt;
&lt;br /&gt;
Si al finalizar dicha configuración no hemos quedado satisfechos con los campos seleccionados en alguna de sus pantallas, cuando procedamos a editar dicha pantalla y añadamos un nuevo campo que previamente no ha sido traducido, automáticamente se abrirá una pantalla para generar las traducciones para el &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;IDIOMA POR DEFECTO&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt;. Si queremos generar la traducción para el resto de idiomas hemos de volver a realizar lo especificado en el paso &amp;lt;b&amp;gt;5.-Traducción&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/Anadir_nuevo_campo_14.png&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/Anadir_nuevo_campo_15.png&lt;br /&gt;
&lt;br /&gt;
== PASOS A REALIZAR PARA LA INTALACIÓN DEL FRAMEWORK EN LA APLICACIÓN ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== INSTALACIÓN: ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Existen dos maneras de instalar el &amp;lt;i&amp;gt;FrameWork&amp;lt;/i&amp;gt; &amp;lt;b&amp;gt;NickCenter&amp;lt;/b&amp;gt;: a través de &amp;lt;b&amp;gt;CocoaPods&amp;lt;/b&amp;gt; o descargándolo directamente. Recomendamos hacerlo a través de la primera opción. &amp;lt;b&amp;gt;NickCenter&amp;lt;/b&amp;gt; incorpora dos &amp;lt;i&amp;gt;frameworks&amp;lt;/i&amp;gt; auxiliares, &amp;lt;b&amp;gt;RegisterLib&amp;lt;/b&amp;gt; y &amp;lt;b&amp;gt;UtilsLib&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==== INSTALACIÓN CON COCOAPODS: ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
En caso de que su proyecto no incluya el archivo &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;Podfile&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt;, incorpórelo. Si nunca ha trabajado con &amp;lt;b&amp;gt;CocoaPods&amp;lt;/b&amp;gt; consulte la [documentación ofrecida en su web oficial](https://guides.cocoapods.org/using/using-cocoapods.html), en la que se explica paso a paso cómo instalar &amp;lt;b&amp;gt;CocoaPods&amp;lt;/b&amp;gt; y cómo crear, actualizar y trabajar con los archivos &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;Podfile&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
    target &#039;NameTarget&#039; do&lt;br /&gt;
       use_frameworks!&lt;br /&gt;
        pod &#039;MobeleaderNC&#039;&lt;br /&gt;
        pod &#039;MobeleaderUtils&#039;&lt;br /&gt;
        pod &#039;MobeleaderRegister&#039;&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
Cabe destacar que &amp;lt;b&amp;gt;NameTarget&amp;lt;/b&amp;gt; deberá ser reemplazado por el nombre real del target de la aplicación en la que se quiere añadir el framework.&lt;br /&gt;
&lt;br /&gt;
Una vez creado y configurado el archivo haremos uso del siguiente comando desde el terminal sobre la ruta en la que se encuentra dicho archivo.&lt;br /&gt;
&lt;br /&gt;
    $ pod install --repo-update&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Y veremos como se crea un proyecto tal que el siguiente:&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/Proyecto_nc_ios_8.png&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Deberemos abrir el proyecto desde dicho archivo&amp;lt;/b&amp;gt; para que pueda usar el framework correctamente.&lt;br /&gt;
&lt;br /&gt;
==== INSTALACIÓN MANUAL: ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Descargue el &amp;lt;i&amp;gt;framework&amp;lt;/i&amp;gt; &amp;lt;b&amp;gt;NickCenter&amp;lt;/b&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
* Desde la [página principal de las librerías](http://panel.mobeleader.com/index.php?sec=82):&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/descarga_general_nc_ios.png&lt;br /&gt;
&lt;br /&gt;
* Desde la página de información de la libreria(http://panel.mobeleader.com/index.php?sec=85&amp;amp;id=45&amp;amp;tipo=3):&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/descarga_especifica_nc_ios_1.png&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/referrer/descargar_framework.png&lt;br /&gt;
&lt;br /&gt;
* Directamente desde [aquí](https://repos.mobeleader.com/MobeleaderNC/1.0.23/MobeleaderNC.zip).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Una vez descargado el &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;framework&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt;, descomprímalo e instálelo en su proyecto.&lt;br /&gt;
=== LANZAMIENTO: ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Una vez configurada la instalación, crearemos un objeto de la clase NickCenter en donde vayamos a usarla, en el ejemplo se hace en la implementacion de la clase ( DatosIniciales ):&lt;br /&gt;
&lt;br /&gt;
    @implementation DatosIniciales{&lt;br /&gt;
		NickCenter *nickCenter;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Para su lanzamiento se insertarán las siguientes lineas de código.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    nickCenter = [[NickCenter alloc] init];&lt;br /&gt;
    [nickCenter setDelegate:self];&lt;br /&gt;
    [nickCenter setRootViewController:self];&lt;br /&gt;
    [nickCenter setAppHash:@&amp;quot;Hash de la APP en el Panel de Mobeleader&amp;quot;];&lt;br /&gt;
    [nickCenter checkAndLaunch];&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;appHash&amp;lt;/b&amp;gt;: Será el hash dado por el Panel Mobeleader al dar de alta la aplicación en éste.  Para acceder a el deberemos ir a la sección &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;Desarrolladores&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; --&amp;gt; &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;Mis Apps&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; y hacer click sobre la columna &amp;lt;b&amp;gt;Hash&amp;lt;/b&amp;gt; de nuestra aplicación.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setRootViewController&amp;lt;/b&amp;gt;: Ésta función será opcional, con ella le diremos al framework desde que ViewController se lanzará y se recogerán las respuestas en los delegates.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/Obtener_hash_app_14.png&lt;br /&gt;
&lt;br /&gt;
Por defecto las pantallas de &amp;lt;b&amp;gt;NickCenter&amp;lt;/b&amp;gt; presentan el siguiente formato:&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/nc_ios_default.jpeg&lt;br /&gt;
&lt;br /&gt;
Si desea modificar las pantallas para que sean lo más parecidas a su aplicación el framework de &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;NickCenter&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; esta dotado de una serie de funciones que le permitirán maquetarlas a su gusto:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setViewsBackgroundColor:(UIColor \*):&amp;lt;/b&amp;gt; Determina el color de fondo de las pantallas.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setViewsBackgroundImage:(UIImage \*):&amp;lt;/b&amp;gt; Determina la imagen de fondo de cada pantalla.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setHeaderBackgroundColor:(UIColor \*):&amp;lt;/b&amp;gt; Determina el color de fondo de la cabecera de las pantallas.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setHeaderBackgroundImage:(UIImage \*):&amp;lt;/b&amp;gt; Determina la imagen de fondo de la cabecera de cada pantalla.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setHeaderBottomLineColor:(UIColor \*):&amp;lt;/b&amp;gt; Determina el color de la linea que separa la cabecera con el resto de la pantalla.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setHeaderTextColor:(UIColor \*):&amp;lt;/b&amp;gt; Determina el color del texto de la cabecera de las pantallas.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setHeaderFont:(UIFont \*):&amp;lt;/b&amp;gt; Determina la fuente de los textos de las cabeceras.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setTextFieldsBackgroundColor:(UIColor \*):&amp;lt;/b&amp;gt; Determina el color de fondo de los textfields donde se ubican los campos de cada pantalla.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setTextFieldsPlaceholderColor:(UIColor \*):&amp;lt;/b&amp;gt; Determina el color del texto descriptivo de cada textfield.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setTextFieldsTextColor:(UIColor \*):&amp;lt;/b&amp;gt; Determina el color del texto de los textfields donde se ubican los campos de cada pantalla.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setTextFieldsFont:(UIFont \*):&amp;lt;/b&amp;gt; Determina la fuente del texto de los textfields.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setButtonsNormalBackgroundColor:(UIColor \*):&amp;lt;/b&amp;gt; Determina el color de fondo de los botones de cada pantalla.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setButtonsHighlightedBackgroundColor:(UIColor \*):&amp;lt;/b&amp;gt; Determina el color de fondo de los botones de cada pantalla cuando se ha hecho click en éstos.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setButtonsNormalTextColor:(UIColor \*):&amp;lt;/b&amp;gt; Determina el color del texto de cada boton cuando no se ha hecho click en éstos.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setButtonsHighlightedTextColor:(UIColor \*):&amp;lt;/b&amp;gt; Determina el color del texto de cada boton cuando se ha hecho click en éstos.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setButtonsBorderColor:(UIColor \*):&amp;lt;/b&amp;gt; Determina el color del borde de los botones.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setButtonsFont:(UIFont \*):&amp;lt;/b&amp;gt; Determina la fuente de los textos de los botones.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setTermsFontColor:(UIColor \*):&amp;lt;/b&amp;gt; Determina el color de la fuente de los textos de los terminos y condiciones.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setTermsSwitchActiveColor:(UIColor \*):&amp;lt;/b&amp;gt; Determina el color de los botones activos en los terminos y condiciones.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setTermsSwitchInactiveColor:(UIColor \*):&amp;lt;/b&amp;gt; Determina el color de los botones inactivos en los terminos y condiciones.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A continuación se expone un ejemplo en el que se maqueta a gusto del desarrollador las pantallas de &amp;lt;b&amp;gt;NickCenter&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
    nickCenter = [[NickCenter alloc] init];&lt;br /&gt;
    [nickCenter setDelegate:self];&lt;br /&gt;
    [nickCenter setRootViewController:self];&lt;br /&gt;
    [nickCenter setAppHash:@&amp;quot;Hash de la APP en el Panel de Mobeleader&amp;quot;];&lt;br /&gt;
    [nickCenter setViewsBackgroundColor:[UIColor whiteColor]];&lt;br /&gt;
    [nickCenter setViewsBackgroundImage:[UIImage imageNamed:@&amp;quot;logo&amp;quot;]];&lt;br /&gt;
    [nickCenter setHeaderBackgroundColor:[UIColor orangeColor]];&lt;br /&gt;
    [nickCenter setHeaderBottomLineColor:[UIColor orangeColor]];&lt;br /&gt;
    [nickCenter setHeaderTextColor:[UIColor whiteColor]];&lt;br /&gt;
    [nickCenter setTextFieldsBackgroundColor:[UIColor colorWithRed:217.0/255 green:217.0/255 blue:217.0/255 alpha:1]];&lt;br /&gt;
    [nickCenter setTextFieldsPlaceholderColor:[UIColor grayColor]];&lt;br /&gt;
    [nickCenter setTextFieldsTextColor:[UIColor blackColor]];&lt;br /&gt;
    [nickCenter setButtonsNormalBackgroundColor:[UIColor orangeColor]];&lt;br /&gt;
    [nickCenter setButtonsHighlightedBackgroundColor:[UIColor orangeColor]];&lt;br /&gt;
    [nickCenter setButtonsNormalTextColor:[UIColor whiteColor]];&lt;br /&gt;
    [nickCenter setButtonsHighlightedTextColor:[UIColor colorWithRed:249.0/255 green:203.0/255 blue:156.0/255 alpha:1]];&lt;br /&gt;
    [nickCenter setTermsFontColor:[UIColor orangeColor]];&lt;br /&gt;
    [nickCenter checkAndLaunch];&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/nc_ios_desarrollador.jpeg&lt;br /&gt;
&lt;br /&gt;
=== COMPLETAR REGISTRO: ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Una vez un usuario haya sido registrado en una de nuestras aplicaciones, cuando otra lance NickCenter, dicho usuario tan soló debera &amp;lt;b&amp;gt;logearse&amp;lt;/b&amp;gt; sin necesidad de tener que registrarse otra vez para ésta última aplicación. Se puede dar el caso de que al registrarte en la primera aplicación tán solo fuera necesario &amp;lt;b&amp;gt;email y contraseña&amp;lt;/b&amp;gt;, y que para la segunda aplicación fuera necesario registrarse con el &amp;lt;b&amp;gt;telefono&amp;lt;/b&amp;gt;, cuando este tipo de casos se den, al logearte en la segunda aplicación se abrirá una nueva vista para completar el registro. Una vez completado dicho registro se tratará como un login normal.&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/nc_ios_completar.jpeg&lt;br /&gt;
&lt;br /&gt;
=== FUNCIONES UTILES: ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;NickCenter&amp;lt;/b&amp;gt; está dotada de una función que permite al desarrollador cerrar la sesión ya iniciada por el usuario de manera que la siguiente vez que abra la aplicación y pase por donde se lanza la librería, el usuario deba volver a loguearse. Dicha funcion es :&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;closeSession&amp;lt;/b&amp;gt;: ( [nickCenter closeSession]; )&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== DELEGATES: ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;NickCenter&amp;lt;/b&amp;gt; cuenta con una serie de delegates que permiten al desarrollador saber que parte del framework se esta ejecutando y cual es su resultado. A continuación se expondrán éstos y para que sirven.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;registerViewOpened&amp;lt;/b&amp;gt;: Notifica cuando la vista de registro se ha lanzado.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;loginViewOpened&amp;lt;/b&amp;gt;: Notifica cuando la vista del login se ha lanzado.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;rescueViewOpened&amp;lt;/b&amp;gt;: Notifica cuando la vista de recuperación de contraseña se ha lanzado.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onError:(NSString \*)error&amp;lt;/b&amp;gt;: Notificará cuando haya habido un error, normalmente se lanzará cuando el registro o el login hayan sido incorrectos, o cuando al recuperar la contraseña el email sea incorrecto. Se puede dar el caso de que de otro tipo de error como bien puede ser al conectarnos al sevidor.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onWarning:(NSString \*)warning&amp;lt;/b&amp;gt;: Notificará de alguna advertencia al desarrollador.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;finished&amp;lt;/b&amp;gt;: Notificará cuando la librería haya finalizado algun proceso. Inicio de sesión, registro o recuperación de contraseña correcto.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;sessionClosed&amp;lt;/b&amp;gt;: Notificará cuando se haya cerrado la sesión de NickCenter.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onActive&amp;lt;/b&amp;gt;: Notificará cuando detecte que NickCenter esta activa para la aplicación.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onInactive&amp;lt;/b&amp;gt;: Notificará cuando detecte que NickCenter esta inactiva para la aplicación.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;registerRegisterButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de registarse en la vista de registro de usuario.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;registerLoginButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de inicio de sesión en la vista de registro de usuario.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;registerCloseButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de cerrar en la vista de registro de usuario.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;loginPerformed:(NCUser \&amp;lt;i&amp;gt;) user dictionary:(NSMutableDictionary \&amp;lt;/i&amp;gt;) userDictionary&amp;lt;/b&amp;gt;: Notificará cuando haya habido un registro o un login correcto. Se mandará la información recogida del usuario tanto en formato NCUser como en formato NSMutableDictionary.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;loginLoginButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de inicio de sesión en la vista de inicio de sesión.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;loginRegisterButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de registrarse en la vista de inicio de sesión.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;loginRescueButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de recuperar contraseña en la vista de inicio de sesión.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;loginCloseButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de cerrar en la vista de inicio de sesión.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;rescueRescueButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de recuperar contraseña en la vista de recuperar contraseña.&lt;br /&gt;
&lt;br /&gt;
- &amp;lt;b&amp;gt;rescueCloseButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de cerrar en la vista de recuperar contraseña.&lt;/div&gt;</summary>
		<author><name>Asier</name></author>
	</entry>
	<entry>
		<id>https://wiki.mobeleader.com/index.php?title=SDKs:NickCenter:Intro&amp;diff=2283</id>
		<title>SDKs:NickCenter:Intro</title>
		<link rel="alternate" type="text/html" href="https://wiki.mobeleader.com/index.php?title=SDKs:NickCenter:Intro&amp;diff=2283"/>
		<updated>2018-10-15T11:35:40Z</updated>

		<summary type="html">&lt;p&gt;Asier: Página creada con «== INTRODUCCION ==   &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;NickCenter&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; es una librería de &amp;lt;b&amp;gt;Registro e Inicio de Sesión&amp;lt;/b&amp;gt; para &amp;lt;b&amp;gt;desarrolladores&amp;lt;/b&amp;gt;, pudiendo ser activada o desactivada desde...»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== INTRODUCCION ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;&amp;lt;i&amp;gt;NickCenter&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; es una librería de &amp;lt;b&amp;gt;Registro e Inicio de Sesión&amp;lt;/b&amp;gt; para &amp;lt;b&amp;gt;desarrolladores&amp;lt;/b&amp;gt;, pudiendo ser activada o desactivada desde el panel de &amp;lt;b&amp;gt;Mobeleader&amp;lt;/b&amp;gt; cuando se desee. Se encargará de todo lo necesario para registrar en nuestro sistema los usuarios que se den de alta y devolverá a la aplicación en la que se esté usando los datos de éstos en formato JSON. Dicho JSON podrá contener los siguientes campos, pudiendo no estar todos los expuestos a continuación:&lt;br /&gt;
* 	&amp;lt;b&amp;gt;user_id:&amp;lt;/b&amp;gt; ID del usuario. ( SIEMPRE SE INFORMARÁ )&lt;br /&gt;
&lt;br /&gt;
* 	&amp;lt;b&amp;gt;email:&amp;lt;/b&amp;gt; Email del usuario. ( SIEMPRE SE INFORMARÁ )&lt;br /&gt;
&lt;br /&gt;
* 	&amp;lt;b&amp;gt;added_date:&amp;lt;/b&amp;gt; Fecha en la que se dio de alta el perfil en NickCenter. ( SIEMPRE SE INFORMARÁ )&lt;br /&gt;
&lt;br /&gt;
* 	&amp;lt;b&amp;gt;name:&amp;lt;/b&amp;gt; Nombre del usuario que se ha dado de alta. ( DEPENDERÁ DE SI SE HA REGISTRADO EL CAMPO )&lt;br /&gt;
&lt;br /&gt;
* 	&amp;lt;b&amp;gt;last_name:&amp;lt;/b&amp;gt; Apellido del usuario que se ha dado de alta. ( DEPENDERÁ DE SI SE HA REGISTRADO EL CAMPO )&lt;br /&gt;
&lt;br /&gt;
* 	&amp;lt;b&amp;gt;nick:&amp;lt;/b&amp;gt; Nick del perfil que se ha dado de alta. ( SIEMPRE SE INFORMARÁ )&lt;br /&gt;
&lt;br /&gt;
* 	&amp;lt;b&amp;gt;telephone:&amp;lt;/b&amp;gt; Telefono del usuario que se ha dado de alta. ( DEPENDERÁ DE SI SE HA REGISTRADO EL CAMPO )&lt;br /&gt;
&lt;br /&gt;
* 	&amp;lt;b&amp;gt;languaje:&amp;lt;/b&amp;gt; Idioma del telefono con el que el usuario se ha dado de alta. ( SIEMPRE SE INFORMARÁ )&lt;br /&gt;
&lt;br /&gt;
* 	&amp;lt;b&amp;gt;country:&amp;lt;/b&amp;gt; Pais del usuario que se ha dado de alta. ( SIEMPRE SE INFORMARÁ )&lt;br /&gt;
&lt;br /&gt;
* 	&amp;lt;b&amp;gt;update_date:&amp;lt;/b&amp;gt; Fecha en la que se actualizó el perfil de NickCenter. ( SOLO CUANDO HAYA HABIDO ALGUNA ACTUALIZACIÓN )&lt;br /&gt;
&lt;br /&gt;
* 	&amp;lt;b&amp;gt;birth_date:&amp;lt;/b&amp;gt; Fecha de nacimiento del usuario que se ha dado de alta. ( DEPENDERÁ DE SI SE HA REGISTRADO EL CAMPO )&lt;br /&gt;
&lt;br /&gt;
* 	&amp;lt;b&amp;gt;apps:&amp;lt;/b&amp;gt; JSON que contendrá las aplicaciones en las que el usuario ha sido registrado. Cabe destacar que solo se mostrarán aplicaciones que compartan el mismo desarrollador, nunca obtendremos datos de aplicaciones externas. ( SIEMPRE SE INFORMARA )&lt;/div&gt;</summary>
		<author><name>Asier</name></author>
	</entry>
	<entry>
		<id>https://wiki.mobeleader.com/index.php?title=SDKs:NickCenter:Cordova:index&amp;diff=2281</id>
		<title>SDKs:NickCenter:Cordova:index</title>
		<link rel="alternate" type="text/html" href="https://wiki.mobeleader.com/index.php?title=SDKs:NickCenter:Cordova:index&amp;diff=2281"/>
		<updated>2018-10-15T11:34:44Z</updated>

		<summary type="html">&lt;p&gt;Asier: /* CÓMO AGREGAR EL PLUGIN NICKCENTER EN CORDOVA */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= CÓMO AGREGAR EL PLUGIN NICKCENTER EN CORDOVA =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{:Privado:SDKs:NickCenter:Intro}}&lt;br /&gt;
&lt;br /&gt;
== VERSIONES DE iOs SOPORTADAS ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Este framework soporta todas las versiones de iOs superiores a las &amp;lt;b&amp;gt;10.0&amp;lt;/b&amp;gt;, en caso de que detecte una versión inferior no se lanzará.&lt;br /&gt;
&lt;br /&gt;
== PASOS A REALIZAR EN EL PANEL MOBELEADER ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Una vez nuestra aplicación esté registrada en el Panel Mobeleader, [http://panel.mobeleader.com/index.php](http://panel.mobeleader.com/index.php), iremos a la sección de de &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;Desarrolladores&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; y hacemos click en &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;NickCenter —&amp;gt; Añadir app a NickCenter&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/Anadir_app_nc_1.png&lt;br /&gt;
&lt;br /&gt;
Para añadir nuestra aplicación a &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;NickCenter&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; deberemos seguir cinco sencillos pasos:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;1.- Selección de app:&amp;lt;/b&amp;gt; En este apartado tendremos que elegír la aplicación que queremos añadir a &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;NickCenter&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; y decidir si la librería estará activa o no al lanzar la aplicación seleccionada. Esto se podrá activar y desactivar siempre que se desee.&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/Configurar_app_nc_2.png&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;2.- Pantalla de registro:&amp;lt;/b&amp;gt; En este paso configuraremos lo referente a la vista de registro para los usuarios. Podremos elegir entre varios campos de los cuales, como se indica, el &amp;lt;b&amp;gt;email&amp;lt;/b&amp;gt; y &amp;lt;b&amp;gt;password&amp;lt;/b&amp;gt; siempre serán obligatorios, el resto, será al gusto del desarrollador; pudiendo elegir que el usuario &amp;lt;i&amp;gt;PUEDA&amp;lt;/i&amp;gt;  introducir su nombre, pero no siendo obligatorio para el registro.&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/Configurar_app_nc_3.png&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;3.- Pantalla de inicio de sesión:&amp;lt;/b&amp;gt; Como en el anterior paso, aquí, configuraremos lo referente a la pantalla de inicio de sesión para los usuarios. En este caso, como se indica, solo será obligatorio el campo &amp;lt;b&amp;gt;password&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/Configurar_app_nc_4.png&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;4.- Pantalla de recuperación de contraseña:&amp;lt;/b&amp;gt; En este caso, para la pantalla de recuperación de contraseña tan solo se pedira el &amp;lt;b&amp;gt;email&amp;lt;/b&amp;gt; del usuario y por tanto, dicho &amp;lt;b&amp;gt;email&amp;lt;/b&amp;gt; sera un campo obligatorio.&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/Configurar_app_nc_5.png&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;5.- Traducción:&amp;lt;/b&amp;gt; Este será el último paso para configurar nuestra aplicación, aquí deberemos seleccionar tanto los idiomas a los que estarán traducidos todos los campos que hemos configurado previamente; como su propia traducción a dichos idiomas. Una vez seleccionado el primer idioma, se pondrá como idioma por defecto de dicha aplicación. Para cambiar el idioma por defecto no tendremos más que generar las traducciones en más idiomas y modificar el campo &amp;lt;b&amp;gt;&amp;quot;Traducción por defecto&amp;quot;&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/Configurar_app_nc_6.png&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;5.1.- Cabeceras y botones:&amp;lt;/b&amp;gt; En este primer paso generaremos las traducciones de las cabeceras de las pantallas y de sus botones.&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/Configurar_app_nc_7.png&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;5.2.- Configuración de campos:&amp;lt;/b&amp;gt; En el segúndo paso generaremos las traducciones de los campos seleccionados previamente para cada pantalla y de sus posibles errores.&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/Configurar_app_nc_8.png&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;5.3.- Traducciones generales:&amp;lt;/b&amp;gt;  En el tercer y último paso generaremos las traducciones generales, traducciones que van asociadas a todas las pantallas y no a una/s en concreto como en los anteriores pasos.&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/Configurar_app_nc_9.png&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/Configurar_app_nc_10.png&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/Configurar_app_nc_11.png&lt;br /&gt;
&lt;br /&gt;
Una vez finalizadas las traducciones, como se ha indicado previamente, aparecerá el idioma al que se han realizado las traducciones y se pondrá por defecto.&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/Configurar_app_nc_12.png&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/Configurar_app_nc_13.png&lt;br /&gt;
&lt;br /&gt;
Si al finalizar dicha configuración no hemos quedado satisfechos con los campos seleccionados en alguna de sus pantallas, cuando procedamos a editar dicha pantalla y añadamos un nuevo campo que previamente no ha sido traducido, automáticamente se abrirá una pantalla para generar las traducciones para el &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;IDIOMA POR DEFECTO&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt;. Si queremos generar la traducción para el resto de idiomas hemos de volver a realizar lo especificado en el paso &amp;lt;b&amp;gt;5.-Traducción&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/Anadir_nuevo_campo_14.png&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/Anadir_nuevo_campo_15.png&lt;br /&gt;
&lt;br /&gt;
== PASOS A REALIZAR PARA LA INTALACIÓN DEL FRAMEWORK EN LA APLICACIÓN ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== INSTALACIÓN: ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Existen dos maneras de instalar el &amp;lt;i&amp;gt;FrameWork&amp;lt;/i&amp;gt; &amp;lt;b&amp;gt;NickCenter&amp;lt;/b&amp;gt;: a través de &amp;lt;b&amp;gt;CocoaPods&amp;lt;/b&amp;gt; o descargándolo directamente. Recomendamos hacerlo a través de la primera opción. &amp;lt;b&amp;gt;NickCenter&amp;lt;/b&amp;gt; incorpora dos &amp;lt;i&amp;gt;frameworks&amp;lt;/i&amp;gt; auxiliares, &amp;lt;b&amp;gt;RegisterLib&amp;lt;/b&amp;gt; y &amp;lt;b&amp;gt;UtilsLib&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==== INSTALACIÓN CON COCOAPODS: ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
En caso de que su proyecto no incluya el archivo &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;Podfile&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt;, incorpórelo. Si nunca ha trabajado con &amp;lt;b&amp;gt;CocoaPods&amp;lt;/b&amp;gt; consulte la [documentación ofrecida en su web oficial](https://guides.cocoapods.org/using/using-cocoapods.html), en la que se explica paso a paso cómo instalar &amp;lt;b&amp;gt;CocoaPods&amp;lt;/b&amp;gt; y cómo crear, actualizar y trabajar con los archivos &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;Podfile&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
    target &#039;NameTarget&#039; do&lt;br /&gt;
       use_frameworks!&lt;br /&gt;
        pod &#039;MobeleaderNC&#039;&lt;br /&gt;
        pod &#039;MobeleaderUtils&#039;&lt;br /&gt;
        pod &#039;MobeleaderRegister&#039;&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
Cabe destacar que &amp;lt;b&amp;gt;NameTarget&amp;lt;/b&amp;gt; deberá ser reemplazado por el nombre real del target de la aplicación en la que se quiere añadir el framework.&lt;br /&gt;
&lt;br /&gt;
Una vez creado y configurado el archivo haremos uso del siguiente comando desde el terminal sobre la ruta en la que se encuentra dicho archivo.&lt;br /&gt;
&lt;br /&gt;
    $ pod install --repo-update&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Y veremos como se crea un proyecto tal que el siguiente:&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/Proyecto_nc_ios_8.png&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Deberemos abrir el proyecto desde dicho archivo&amp;lt;/b&amp;gt; para que pueda usar el framework correctamente.&lt;br /&gt;
&lt;br /&gt;
==== INSTALACIÓN MANUAL: ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Descargue el &amp;lt;i&amp;gt;framework&amp;lt;/i&amp;gt; &amp;lt;b&amp;gt;NickCenter&amp;lt;/b&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
* Desde la [página principal de las librerías](http://panel.mobeleader.com/index.php?sec=82):&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/descarga_general_nc_ios.png&lt;br /&gt;
&lt;br /&gt;
* Desde la página de información de la libreria(http://panel.mobeleader.com/index.php?sec=85&amp;amp;id=45&amp;amp;tipo=3):&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/descarga_especifica_nc_ios_1.png&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/referrer/descargar_framework.png&lt;br /&gt;
&lt;br /&gt;
* Directamente desde [aquí](https://repos.mobeleader.com/MobeleaderNC/1.0.23/MobeleaderNC.zip).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Una vez descargado el &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;framework&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt;, descomprímalo e instálelo en su proyecto.&lt;br /&gt;
=== LANZAMIENTO: ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Una vez configurada la instalación, crearemos un objeto de la clase NickCenter en donde vayamos a usarla, en el ejemplo se hace en la implementacion de la clase ( DatosIniciales ):&lt;br /&gt;
&lt;br /&gt;
    @implementation DatosIniciales{&lt;br /&gt;
		NickCenter *nickCenter;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Para su lanzamiento se insertarán las siguientes lineas de código.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    nickCenter = [[NickCenter alloc] init];&lt;br /&gt;
    [nickCenter setDelegate:self];&lt;br /&gt;
    [nickCenter setRootViewController:self];&lt;br /&gt;
    [nickCenter setAppHash:@&amp;quot;Hash de la APP en el Panel de Mobeleader&amp;quot;];&lt;br /&gt;
    [nickCenter checkAndLaunch];&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;appHash&amp;lt;/b&amp;gt;: Será el hash dado por el Panel Mobeleader al dar de alta la aplicación en éste.  Para acceder a el deberemos ir a la sección &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;Desarrolladores&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; --&amp;gt; &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;Mis Apps&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; y hacer click sobre la columna &amp;lt;b&amp;gt;Hash&amp;lt;/b&amp;gt; de nuestra aplicación.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setRootViewController&amp;lt;/b&amp;gt;: Ésta función será opcional, con ella le diremos al framework desde que ViewController se lanzará y se recogerán las respuestas en los delegates.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/Obtener_hash_app_14.png&lt;br /&gt;
&lt;br /&gt;
Por defecto las pantallas de &amp;lt;b&amp;gt;NickCenter&amp;lt;/b&amp;gt; presentan el siguiente formato:&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/nc_ios_default.jpeg&lt;br /&gt;
&lt;br /&gt;
Si desea modificar las pantallas para que sean lo más parecidas a su aplicación el framework de &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;NickCenter&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; esta dotado de una serie de funciones que le permitirán maquetarlas a su gusto:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setViewsBackgroundColor:(UIColor \*):&amp;lt;/b&amp;gt; Determina el color de fondo de las pantallas.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setViewsBackgroundImage:(UIImage \*):&amp;lt;/b&amp;gt; Determina la imagen de fondo de cada pantalla.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setHeaderBackgroundColor:(UIColor \*):&amp;lt;/b&amp;gt; Determina el color de fondo de la cabecera de las pantallas.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setHeaderBackgroundImage:(UIImage \*):&amp;lt;/b&amp;gt; Determina la imagen de fondo de la cabecera de cada pantalla.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setHeaderBottomLineColor:(UIColor \*):&amp;lt;/b&amp;gt; Determina el color de la linea que separa la cabecera con el resto de la pantalla.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setHeaderTextColor:(UIColor \*):&amp;lt;/b&amp;gt; Determina el color del texto de la cabecera de las pantallas.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setHeaderFont:(UIFont \*):&amp;lt;/b&amp;gt; Determina la fuente de los textos de las cabeceras.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setTextFieldsBackgroundColor:(UIColor \*):&amp;lt;/b&amp;gt; Determina el color de fondo de los textfields donde se ubican los campos de cada pantalla.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setTextFieldsPlaceholderColor:(UIColor \*):&amp;lt;/b&amp;gt; Determina el color del texto descriptivo de cada textfield.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setTextFieldsTextColor:(UIColor \*):&amp;lt;/b&amp;gt; Determina el color del texto de los textfields donde se ubican los campos de cada pantalla.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setTextFieldsFont:(UIFont \*):&amp;lt;/b&amp;gt; Determina la fuente del texto de los textfields.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setButtonsNormalBackgroundColor:(UIColor \*):&amp;lt;/b&amp;gt; Determina el color de fondo de los botones de cada pantalla.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setButtonsHighlightedBackgroundColor:(UIColor \*):&amp;lt;/b&amp;gt; Determina el color de fondo de los botones de cada pantalla cuando se ha hecho click en éstos.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setButtonsNormalTextColor:(UIColor \*):&amp;lt;/b&amp;gt; Determina el color del texto de cada boton cuando no se ha hecho click en éstos.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setButtonsHighlightedTextColor:(UIColor \*):&amp;lt;/b&amp;gt; Determina el color del texto de cada boton cuando se ha hecho click en éstos.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setButtonsBorderColor:(UIColor \*):&amp;lt;/b&amp;gt; Determina el color del borde de los botones.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setButtonsFont:(UIFont \*):&amp;lt;/b&amp;gt; Determina la fuente de los textos de los botones.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setTermsFontColor:(UIColor \*):&amp;lt;/b&amp;gt; Determina el color de la fuente de los textos de los terminos y condiciones.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setTermsSwitchActiveColor:(UIColor \*):&amp;lt;/b&amp;gt; Determina el color de los botones activos en los terminos y condiciones.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setTermsSwitchInactiveColor:(UIColor \*):&amp;lt;/b&amp;gt; Determina el color de los botones inactivos en los terminos y condiciones.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A continuación se expone un ejemplo en el que se maqueta a gusto del desarrollador las pantallas de &amp;lt;b&amp;gt;NickCenter&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
    nickCenter = [[NickCenter alloc] init];&lt;br /&gt;
    [nickCenter setDelegate:self];&lt;br /&gt;
    [nickCenter setRootViewController:self];&lt;br /&gt;
    [nickCenter setAppHash:@&amp;quot;Hash de la APP en el Panel de Mobeleader&amp;quot;];&lt;br /&gt;
    [nickCenter setViewsBackgroundColor:[UIColor whiteColor]];&lt;br /&gt;
    [nickCenter setViewsBackgroundImage:[UIImage imageNamed:@&amp;quot;logo&amp;quot;]];&lt;br /&gt;
    [nickCenter setHeaderBackgroundColor:[UIColor orangeColor]];&lt;br /&gt;
    [nickCenter setHeaderBottomLineColor:[UIColor orangeColor]];&lt;br /&gt;
    [nickCenter setHeaderTextColor:[UIColor whiteColor]];&lt;br /&gt;
    [nickCenter setTextFieldsBackgroundColor:[UIColor colorWithRed:217.0/255 green:217.0/255 blue:217.0/255 alpha:1]];&lt;br /&gt;
    [nickCenter setTextFieldsPlaceholderColor:[UIColor grayColor]];&lt;br /&gt;
    [nickCenter setTextFieldsTextColor:[UIColor blackColor]];&lt;br /&gt;
    [nickCenter setButtonsNormalBackgroundColor:[UIColor orangeColor]];&lt;br /&gt;
    [nickCenter setButtonsHighlightedBackgroundColor:[UIColor orangeColor]];&lt;br /&gt;
    [nickCenter setButtonsNormalTextColor:[UIColor whiteColor]];&lt;br /&gt;
    [nickCenter setButtonsHighlightedTextColor:[UIColor colorWithRed:249.0/255 green:203.0/255 blue:156.0/255 alpha:1]];&lt;br /&gt;
    [nickCenter setTermsFontColor:[UIColor orangeColor]];&lt;br /&gt;
    [nickCenter checkAndLaunch];&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/nc_ios_desarrollador.jpeg&lt;br /&gt;
&lt;br /&gt;
=== COMPLETAR REGISTRO: ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Una vez un usuario haya sido registrado en una de nuestras aplicaciones, cuando otra lance NickCenter, dicho usuario tan soló debera &amp;lt;b&amp;gt;logearse&amp;lt;/b&amp;gt; sin necesidad de tener que registrarse otra vez para ésta última aplicación. Se puede dar el caso de que al registrarte en la primera aplicación tán solo fuera necesario &amp;lt;b&amp;gt;email y contraseña&amp;lt;/b&amp;gt;, y que para la segunda aplicación fuera necesario registrarse con el &amp;lt;b&amp;gt;telefono&amp;lt;/b&amp;gt;, cuando este tipo de casos se den, al logearte en la segunda aplicación se abrirá una nueva vista para completar el registro. Una vez completado dicho registro se tratará como un login normal.&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/nc_ios_completar.jpeg&lt;br /&gt;
&lt;br /&gt;
=== FUNCIONES UTILES: ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;NickCenter&amp;lt;/b&amp;gt; está dotada de una función que permite al desarrollador cerrar la sesión ya iniciada por el usuario de manera que la siguiente vez que abra la aplicación y pase por donde se lanza la librería, el usuario deba volver a loguearse. Dicha funcion es :&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;closeSession&amp;lt;/b&amp;gt;: ( [nickCenter closeSession]; )&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== DELEGATES: ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;NickCenter&amp;lt;/b&amp;gt; cuenta con una serie de delegates que permiten al desarrollador saber que parte del framework se esta ejecutando y cual es su resultado. A continuación se expondrán éstos y para que sirven.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;registerViewOpened&amp;lt;/b&amp;gt;: Notifica cuando la vista de registro se ha lanzado.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;loginViewOpened&amp;lt;/b&amp;gt;: Notifica cuando la vista del login se ha lanzado.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;rescueViewOpened&amp;lt;/b&amp;gt;: Notifica cuando la vista de recuperación de contraseña se ha lanzado.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onError:(NSString \*)error&amp;lt;/b&amp;gt;: Notificará cuando haya habido un error, normalmente se lanzará cuando el registro o el login hayan sido incorrectos, o cuando al recuperar la contraseña el email sea incorrecto. Se puede dar el caso de que de otro tipo de error como bien puede ser al conectarnos al sevidor.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onWarning:(NSString \*)warning&amp;lt;/b&amp;gt;: Notificará de alguna advertencia al desarrollador.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;finished&amp;lt;/b&amp;gt;: Notificará cuando la librería haya finalizado algun proceso. Inicio de sesión, registro o recuperación de contraseña correcto.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;sessionClosed&amp;lt;/b&amp;gt;: Notificará cuando se haya cerrado la sesión de NickCenter.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onActive&amp;lt;/b&amp;gt;: Notificará cuando detecte que NickCenter esta activa para la aplicación.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onInactive&amp;lt;/b&amp;gt;: Notificará cuando detecte que NickCenter esta inactiva para la aplicación.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;registerRegisterButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de registarse en la vista de registro de usuario.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;registerLoginButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de inicio de sesión en la vista de registro de usuario.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;registerCloseButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de cerrar en la vista de registro de usuario.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;loginPerformed:(NCUser \&amp;lt;i&amp;gt;) user dictionary:(NSMutableDictionary \&amp;lt;/i&amp;gt;) userDictionary&amp;lt;/b&amp;gt;: Notificará cuando haya habido un registro o un login correcto. Se mandará la información recogida del usuario tanto en formato NCUser como en formato NSMutableDictionary.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;loginLoginButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de inicio de sesión en la vista de inicio de sesión.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;loginRegisterButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de registrarse en la vista de inicio de sesión.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;loginRescueButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de recuperar contraseña en la vista de inicio de sesión.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;loginCloseButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de cerrar en la vista de inicio de sesión.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;rescueRescueButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de recuperar contraseña en la vista de recuperar contraseña.&lt;br /&gt;
&lt;br /&gt;
- &amp;lt;b&amp;gt;rescueCloseButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de cerrar en la vista de recuperar contraseña.&lt;/div&gt;</summary>
		<author><name>Asier</name></author>
	</entry>
	<entry>
		<id>https://wiki.mobeleader.com/index.php?title=SDKs:NickCenter:Cordova:index&amp;diff=2280</id>
		<title>SDKs:NickCenter:Cordova:index</title>
		<link rel="alternate" type="text/html" href="https://wiki.mobeleader.com/index.php?title=SDKs:NickCenter:Cordova:index&amp;diff=2280"/>
		<updated>2018-10-15T11:34:34Z</updated>

		<summary type="html">&lt;p&gt;Asier: /* CÓMO AGREGAR EL PLUGIN NICKCENTER EN CORDOVA */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= CÓMO AGREGAR EL PLUGIN NICKCENTER EN CORDOVA =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Privado:SDKs:NickCenter:Intro}}&lt;br /&gt;
&lt;br /&gt;
== VERSIONES DE iOs SOPORTADAS ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Este framework soporta todas las versiones de iOs superiores a las &amp;lt;b&amp;gt;10.0&amp;lt;/b&amp;gt;, en caso de que detecte una versión inferior no se lanzará.&lt;br /&gt;
&lt;br /&gt;
== PASOS A REALIZAR EN EL PANEL MOBELEADER ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Una vez nuestra aplicación esté registrada en el Panel Mobeleader, [http://panel.mobeleader.com/index.php](http://panel.mobeleader.com/index.php), iremos a la sección de de &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;Desarrolladores&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; y hacemos click en &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;NickCenter —&amp;gt; Añadir app a NickCenter&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/Anadir_app_nc_1.png&lt;br /&gt;
&lt;br /&gt;
Para añadir nuestra aplicación a &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;NickCenter&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; deberemos seguir cinco sencillos pasos:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;1.- Selección de app:&amp;lt;/b&amp;gt; En este apartado tendremos que elegír la aplicación que queremos añadir a &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;NickCenter&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; y decidir si la librería estará activa o no al lanzar la aplicación seleccionada. Esto se podrá activar y desactivar siempre que se desee.&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/Configurar_app_nc_2.png&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;2.- Pantalla de registro:&amp;lt;/b&amp;gt; En este paso configuraremos lo referente a la vista de registro para los usuarios. Podremos elegir entre varios campos de los cuales, como se indica, el &amp;lt;b&amp;gt;email&amp;lt;/b&amp;gt; y &amp;lt;b&amp;gt;password&amp;lt;/b&amp;gt; siempre serán obligatorios, el resto, será al gusto del desarrollador; pudiendo elegir que el usuario &amp;lt;i&amp;gt;PUEDA&amp;lt;/i&amp;gt;  introducir su nombre, pero no siendo obligatorio para el registro.&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/Configurar_app_nc_3.png&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;3.- Pantalla de inicio de sesión:&amp;lt;/b&amp;gt; Como en el anterior paso, aquí, configuraremos lo referente a la pantalla de inicio de sesión para los usuarios. En este caso, como se indica, solo será obligatorio el campo &amp;lt;b&amp;gt;password&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/Configurar_app_nc_4.png&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;4.- Pantalla de recuperación de contraseña:&amp;lt;/b&amp;gt; En este caso, para la pantalla de recuperación de contraseña tan solo se pedira el &amp;lt;b&amp;gt;email&amp;lt;/b&amp;gt; del usuario y por tanto, dicho &amp;lt;b&amp;gt;email&amp;lt;/b&amp;gt; sera un campo obligatorio.&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/Configurar_app_nc_5.png&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;5.- Traducción:&amp;lt;/b&amp;gt; Este será el último paso para configurar nuestra aplicación, aquí deberemos seleccionar tanto los idiomas a los que estarán traducidos todos los campos que hemos configurado previamente; como su propia traducción a dichos idiomas. Una vez seleccionado el primer idioma, se pondrá como idioma por defecto de dicha aplicación. Para cambiar el idioma por defecto no tendremos más que generar las traducciones en más idiomas y modificar el campo &amp;lt;b&amp;gt;&amp;quot;Traducción por defecto&amp;quot;&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/Configurar_app_nc_6.png&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;5.1.- Cabeceras y botones:&amp;lt;/b&amp;gt; En este primer paso generaremos las traducciones de las cabeceras de las pantallas y de sus botones.&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/Configurar_app_nc_7.png&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;5.2.- Configuración de campos:&amp;lt;/b&amp;gt; En el segúndo paso generaremos las traducciones de los campos seleccionados previamente para cada pantalla y de sus posibles errores.&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/Configurar_app_nc_8.png&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;5.3.- Traducciones generales:&amp;lt;/b&amp;gt;  En el tercer y último paso generaremos las traducciones generales, traducciones que van asociadas a todas las pantallas y no a una/s en concreto como en los anteriores pasos.&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/Configurar_app_nc_9.png&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/Configurar_app_nc_10.png&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/Configurar_app_nc_11.png&lt;br /&gt;
&lt;br /&gt;
Una vez finalizadas las traducciones, como se ha indicado previamente, aparecerá el idioma al que se han realizado las traducciones y se pondrá por defecto.&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/Configurar_app_nc_12.png&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/Configurar_app_nc_13.png&lt;br /&gt;
&lt;br /&gt;
Si al finalizar dicha configuración no hemos quedado satisfechos con los campos seleccionados en alguna de sus pantallas, cuando procedamos a editar dicha pantalla y añadamos un nuevo campo que previamente no ha sido traducido, automáticamente se abrirá una pantalla para generar las traducciones para el &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;IDIOMA POR DEFECTO&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt;. Si queremos generar la traducción para el resto de idiomas hemos de volver a realizar lo especificado en el paso &amp;lt;b&amp;gt;5.-Traducción&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/Anadir_nuevo_campo_14.png&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/Anadir_nuevo_campo_15.png&lt;br /&gt;
&lt;br /&gt;
== PASOS A REALIZAR PARA LA INTALACIÓN DEL FRAMEWORK EN LA APLICACIÓN ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== INSTALACIÓN: ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Existen dos maneras de instalar el &amp;lt;i&amp;gt;FrameWork&amp;lt;/i&amp;gt; &amp;lt;b&amp;gt;NickCenter&amp;lt;/b&amp;gt;: a través de &amp;lt;b&amp;gt;CocoaPods&amp;lt;/b&amp;gt; o descargándolo directamente. Recomendamos hacerlo a través de la primera opción. &amp;lt;b&amp;gt;NickCenter&amp;lt;/b&amp;gt; incorpora dos &amp;lt;i&amp;gt;frameworks&amp;lt;/i&amp;gt; auxiliares, &amp;lt;b&amp;gt;RegisterLib&amp;lt;/b&amp;gt; y &amp;lt;b&amp;gt;UtilsLib&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==== INSTALACIÓN CON COCOAPODS: ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
En caso de que su proyecto no incluya el archivo &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;Podfile&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt;, incorpórelo. Si nunca ha trabajado con &amp;lt;b&amp;gt;CocoaPods&amp;lt;/b&amp;gt; consulte la [documentación ofrecida en su web oficial](https://guides.cocoapods.org/using/using-cocoapods.html), en la que se explica paso a paso cómo instalar &amp;lt;b&amp;gt;CocoaPods&amp;lt;/b&amp;gt; y cómo crear, actualizar y trabajar con los archivos &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;Podfile&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
    target &#039;NameTarget&#039; do&lt;br /&gt;
       use_frameworks!&lt;br /&gt;
        pod &#039;MobeleaderNC&#039;&lt;br /&gt;
        pod &#039;MobeleaderUtils&#039;&lt;br /&gt;
        pod &#039;MobeleaderRegister&#039;&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
Cabe destacar que &amp;lt;b&amp;gt;NameTarget&amp;lt;/b&amp;gt; deberá ser reemplazado por el nombre real del target de la aplicación en la que se quiere añadir el framework.&lt;br /&gt;
&lt;br /&gt;
Una vez creado y configurado el archivo haremos uso del siguiente comando desde el terminal sobre la ruta en la que se encuentra dicho archivo.&lt;br /&gt;
&lt;br /&gt;
    $ pod install --repo-update&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Y veremos como se crea un proyecto tal que el siguiente:&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/Proyecto_nc_ios_8.png&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Deberemos abrir el proyecto desde dicho archivo&amp;lt;/b&amp;gt; para que pueda usar el framework correctamente.&lt;br /&gt;
&lt;br /&gt;
==== INSTALACIÓN MANUAL: ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Descargue el &amp;lt;i&amp;gt;framework&amp;lt;/i&amp;gt; &amp;lt;b&amp;gt;NickCenter&amp;lt;/b&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
* Desde la [página principal de las librerías](http://panel.mobeleader.com/index.php?sec=82):&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/descarga_general_nc_ios.png&lt;br /&gt;
&lt;br /&gt;
* Desde la página de información de la libreria(http://panel.mobeleader.com/index.php?sec=85&amp;amp;id=45&amp;amp;tipo=3):&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/descarga_especifica_nc_ios_1.png&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/referrer/descargar_framework.png&lt;br /&gt;
&lt;br /&gt;
* Directamente desde [aquí](https://repos.mobeleader.com/MobeleaderNC/1.0.23/MobeleaderNC.zip).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Una vez descargado el &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;framework&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt;, descomprímalo e instálelo en su proyecto.&lt;br /&gt;
=== LANZAMIENTO: ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Una vez configurada la instalación, crearemos un objeto de la clase NickCenter en donde vayamos a usarla, en el ejemplo se hace en la implementacion de la clase ( DatosIniciales ):&lt;br /&gt;
&lt;br /&gt;
    @implementation DatosIniciales{&lt;br /&gt;
		NickCenter *nickCenter;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Para su lanzamiento se insertarán las siguientes lineas de código.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    nickCenter = [[NickCenter alloc] init];&lt;br /&gt;
    [nickCenter setDelegate:self];&lt;br /&gt;
    [nickCenter setRootViewController:self];&lt;br /&gt;
    [nickCenter setAppHash:@&amp;quot;Hash de la APP en el Panel de Mobeleader&amp;quot;];&lt;br /&gt;
    [nickCenter checkAndLaunch];&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;appHash&amp;lt;/b&amp;gt;: Será el hash dado por el Panel Mobeleader al dar de alta la aplicación en éste.  Para acceder a el deberemos ir a la sección &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;Desarrolladores&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; --&amp;gt; &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;Mis Apps&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; y hacer click sobre la columna &amp;lt;b&amp;gt;Hash&amp;lt;/b&amp;gt; de nuestra aplicación.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setRootViewController&amp;lt;/b&amp;gt;: Ésta función será opcional, con ella le diremos al framework desde que ViewController se lanzará y se recogerán las respuestas en los delegates.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/Obtener_hash_app_14.png&lt;br /&gt;
&lt;br /&gt;
Por defecto las pantallas de &amp;lt;b&amp;gt;NickCenter&amp;lt;/b&amp;gt; presentan el siguiente formato:&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/nc_ios_default.jpeg&lt;br /&gt;
&lt;br /&gt;
Si desea modificar las pantallas para que sean lo más parecidas a su aplicación el framework de &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;NickCenter&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; esta dotado de una serie de funciones que le permitirán maquetarlas a su gusto:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setViewsBackgroundColor:(UIColor \*):&amp;lt;/b&amp;gt; Determina el color de fondo de las pantallas.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setViewsBackgroundImage:(UIImage \*):&amp;lt;/b&amp;gt; Determina la imagen de fondo de cada pantalla.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setHeaderBackgroundColor:(UIColor \*):&amp;lt;/b&amp;gt; Determina el color de fondo de la cabecera de las pantallas.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setHeaderBackgroundImage:(UIImage \*):&amp;lt;/b&amp;gt; Determina la imagen de fondo de la cabecera de cada pantalla.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setHeaderBottomLineColor:(UIColor \*):&amp;lt;/b&amp;gt; Determina el color de la linea que separa la cabecera con el resto de la pantalla.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setHeaderTextColor:(UIColor \*):&amp;lt;/b&amp;gt; Determina el color del texto de la cabecera de las pantallas.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setHeaderFont:(UIFont \*):&amp;lt;/b&amp;gt; Determina la fuente de los textos de las cabeceras.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setTextFieldsBackgroundColor:(UIColor \*):&amp;lt;/b&amp;gt; Determina el color de fondo de los textfields donde se ubican los campos de cada pantalla.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setTextFieldsPlaceholderColor:(UIColor \*):&amp;lt;/b&amp;gt; Determina el color del texto descriptivo de cada textfield.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setTextFieldsTextColor:(UIColor \*):&amp;lt;/b&amp;gt; Determina el color del texto de los textfields donde se ubican los campos de cada pantalla.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setTextFieldsFont:(UIFont \*):&amp;lt;/b&amp;gt; Determina la fuente del texto de los textfields.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setButtonsNormalBackgroundColor:(UIColor \*):&amp;lt;/b&amp;gt; Determina el color de fondo de los botones de cada pantalla.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setButtonsHighlightedBackgroundColor:(UIColor \*):&amp;lt;/b&amp;gt; Determina el color de fondo de los botones de cada pantalla cuando se ha hecho click en éstos.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setButtonsNormalTextColor:(UIColor \*):&amp;lt;/b&amp;gt; Determina el color del texto de cada boton cuando no se ha hecho click en éstos.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setButtonsHighlightedTextColor:(UIColor \*):&amp;lt;/b&amp;gt; Determina el color del texto de cada boton cuando se ha hecho click en éstos.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setButtonsBorderColor:(UIColor \*):&amp;lt;/b&amp;gt; Determina el color del borde de los botones.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setButtonsFont:(UIFont \*):&amp;lt;/b&amp;gt; Determina la fuente de los textos de los botones.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setTermsFontColor:(UIColor \*):&amp;lt;/b&amp;gt; Determina el color de la fuente de los textos de los terminos y condiciones.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setTermsSwitchActiveColor:(UIColor \*):&amp;lt;/b&amp;gt; Determina el color de los botones activos en los terminos y condiciones.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setTermsSwitchInactiveColor:(UIColor \*):&amp;lt;/b&amp;gt; Determina el color de los botones inactivos en los terminos y condiciones.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A continuación se expone un ejemplo en el que se maqueta a gusto del desarrollador las pantallas de &amp;lt;b&amp;gt;NickCenter&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
    nickCenter = [[NickCenter alloc] init];&lt;br /&gt;
    [nickCenter setDelegate:self];&lt;br /&gt;
    [nickCenter setRootViewController:self];&lt;br /&gt;
    [nickCenter setAppHash:@&amp;quot;Hash de la APP en el Panel de Mobeleader&amp;quot;];&lt;br /&gt;
    [nickCenter setViewsBackgroundColor:[UIColor whiteColor]];&lt;br /&gt;
    [nickCenter setViewsBackgroundImage:[UIImage imageNamed:@&amp;quot;logo&amp;quot;]];&lt;br /&gt;
    [nickCenter setHeaderBackgroundColor:[UIColor orangeColor]];&lt;br /&gt;
    [nickCenter setHeaderBottomLineColor:[UIColor orangeColor]];&lt;br /&gt;
    [nickCenter setHeaderTextColor:[UIColor whiteColor]];&lt;br /&gt;
    [nickCenter setTextFieldsBackgroundColor:[UIColor colorWithRed:217.0/255 green:217.0/255 blue:217.0/255 alpha:1]];&lt;br /&gt;
    [nickCenter setTextFieldsPlaceholderColor:[UIColor grayColor]];&lt;br /&gt;
    [nickCenter setTextFieldsTextColor:[UIColor blackColor]];&lt;br /&gt;
    [nickCenter setButtonsNormalBackgroundColor:[UIColor orangeColor]];&lt;br /&gt;
    [nickCenter setButtonsHighlightedBackgroundColor:[UIColor orangeColor]];&lt;br /&gt;
    [nickCenter setButtonsNormalTextColor:[UIColor whiteColor]];&lt;br /&gt;
    [nickCenter setButtonsHighlightedTextColor:[UIColor colorWithRed:249.0/255 green:203.0/255 blue:156.0/255 alpha:1]];&lt;br /&gt;
    [nickCenter setTermsFontColor:[UIColor orangeColor]];&lt;br /&gt;
    [nickCenter checkAndLaunch];&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/nc_ios_desarrollador.jpeg&lt;br /&gt;
&lt;br /&gt;
=== COMPLETAR REGISTRO: ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Una vez un usuario haya sido registrado en una de nuestras aplicaciones, cuando otra lance NickCenter, dicho usuario tan soló debera &amp;lt;b&amp;gt;logearse&amp;lt;/b&amp;gt; sin necesidad de tener que registrarse otra vez para ésta última aplicación. Se puede dar el caso de que al registrarte en la primera aplicación tán solo fuera necesario &amp;lt;b&amp;gt;email y contraseña&amp;lt;/b&amp;gt;, y que para la segunda aplicación fuera necesario registrarse con el &amp;lt;b&amp;gt;telefono&amp;lt;/b&amp;gt;, cuando este tipo de casos se den, al logearte en la segunda aplicación se abrirá una nueva vista para completar el registro. Una vez completado dicho registro se tratará como un login normal.&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/nc_ios_completar.jpeg&lt;br /&gt;
&lt;br /&gt;
=== FUNCIONES UTILES: ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;NickCenter&amp;lt;/b&amp;gt; está dotada de una función que permite al desarrollador cerrar la sesión ya iniciada por el usuario de manera que la siguiente vez que abra la aplicación y pase por donde se lanza la librería, el usuario deba volver a loguearse. Dicha funcion es :&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;closeSession&amp;lt;/b&amp;gt;: ( [nickCenter closeSession]; )&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== DELEGATES: ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;NickCenter&amp;lt;/b&amp;gt; cuenta con una serie de delegates que permiten al desarrollador saber que parte del framework se esta ejecutando y cual es su resultado. A continuación se expondrán éstos y para que sirven.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;registerViewOpened&amp;lt;/b&amp;gt;: Notifica cuando la vista de registro se ha lanzado.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;loginViewOpened&amp;lt;/b&amp;gt;: Notifica cuando la vista del login se ha lanzado.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;rescueViewOpened&amp;lt;/b&amp;gt;: Notifica cuando la vista de recuperación de contraseña se ha lanzado.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onError:(NSString \*)error&amp;lt;/b&amp;gt;: Notificará cuando haya habido un error, normalmente se lanzará cuando el registro o el login hayan sido incorrectos, o cuando al recuperar la contraseña el email sea incorrecto. Se puede dar el caso de que de otro tipo de error como bien puede ser al conectarnos al sevidor.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onWarning:(NSString \*)warning&amp;lt;/b&amp;gt;: Notificará de alguna advertencia al desarrollador.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;finished&amp;lt;/b&amp;gt;: Notificará cuando la librería haya finalizado algun proceso. Inicio de sesión, registro o recuperación de contraseña correcto.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;sessionClosed&amp;lt;/b&amp;gt;: Notificará cuando se haya cerrado la sesión de NickCenter.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onActive&amp;lt;/b&amp;gt;: Notificará cuando detecte que NickCenter esta activa para la aplicación.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onInactive&amp;lt;/b&amp;gt;: Notificará cuando detecte que NickCenter esta inactiva para la aplicación.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;registerRegisterButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de registarse en la vista de registro de usuario.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;registerLoginButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de inicio de sesión en la vista de registro de usuario.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;registerCloseButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de cerrar en la vista de registro de usuario.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;loginPerformed:(NCUser \&amp;lt;i&amp;gt;) user dictionary:(NSMutableDictionary \&amp;lt;/i&amp;gt;) userDictionary&amp;lt;/b&amp;gt;: Notificará cuando haya habido un registro o un login correcto. Se mandará la información recogida del usuario tanto en formato NCUser como en formato NSMutableDictionary.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;loginLoginButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de inicio de sesión en la vista de inicio de sesión.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;loginRegisterButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de registrarse en la vista de inicio de sesión.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;loginRescueButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de recuperar contraseña en la vista de inicio de sesión.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;loginCloseButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de cerrar en la vista de inicio de sesión.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;rescueRescueButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de recuperar contraseña en la vista de recuperar contraseña.&lt;br /&gt;
&lt;br /&gt;
- &amp;lt;b&amp;gt;rescueCloseButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de cerrar en la vista de recuperar contraseña.&lt;/div&gt;</summary>
		<author><name>Asier</name></author>
	</entry>
	<entry>
		<id>https://wiki.mobeleader.com/index.php?title=SDKs:NickCenter:Cordova:index&amp;diff=2279</id>
		<title>SDKs:NickCenter:Cordova:index</title>
		<link rel="alternate" type="text/html" href="https://wiki.mobeleader.com/index.php?title=SDKs:NickCenter:Cordova:index&amp;diff=2279"/>
		<updated>2018-10-15T11:34:26Z</updated>

		<summary type="html">&lt;p&gt;Asier: /* CÓMO AGREGAR EL PLUGIN NICKCENTER EN CORDOVA */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= CÓMO AGREGAR EL PLUGIN NICKCENTER EN CORDOVA =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{:Privado:SDKs:NickCenter:Intro}}&lt;br /&gt;
&lt;br /&gt;
== VERSIONES DE iOs SOPORTADAS ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Este framework soporta todas las versiones de iOs superiores a las &amp;lt;b&amp;gt;10.0&amp;lt;/b&amp;gt;, en caso de que detecte una versión inferior no se lanzará.&lt;br /&gt;
&lt;br /&gt;
== PASOS A REALIZAR EN EL PANEL MOBELEADER ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Una vez nuestra aplicación esté registrada en el Panel Mobeleader, [http://panel.mobeleader.com/index.php](http://panel.mobeleader.com/index.php), iremos a la sección de de &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;Desarrolladores&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; y hacemos click en &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;NickCenter —&amp;gt; Añadir app a NickCenter&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/Anadir_app_nc_1.png&lt;br /&gt;
&lt;br /&gt;
Para añadir nuestra aplicación a &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;NickCenter&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; deberemos seguir cinco sencillos pasos:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;1.- Selección de app:&amp;lt;/b&amp;gt; En este apartado tendremos que elegír la aplicación que queremos añadir a &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;NickCenter&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; y decidir si la librería estará activa o no al lanzar la aplicación seleccionada. Esto se podrá activar y desactivar siempre que se desee.&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/Configurar_app_nc_2.png&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;2.- Pantalla de registro:&amp;lt;/b&amp;gt; En este paso configuraremos lo referente a la vista de registro para los usuarios. Podremos elegir entre varios campos de los cuales, como se indica, el &amp;lt;b&amp;gt;email&amp;lt;/b&amp;gt; y &amp;lt;b&amp;gt;password&amp;lt;/b&amp;gt; siempre serán obligatorios, el resto, será al gusto del desarrollador; pudiendo elegir que el usuario &amp;lt;i&amp;gt;PUEDA&amp;lt;/i&amp;gt;  introducir su nombre, pero no siendo obligatorio para el registro.&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/Configurar_app_nc_3.png&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;3.- Pantalla de inicio de sesión:&amp;lt;/b&amp;gt; Como en el anterior paso, aquí, configuraremos lo referente a la pantalla de inicio de sesión para los usuarios. En este caso, como se indica, solo será obligatorio el campo &amp;lt;b&amp;gt;password&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/Configurar_app_nc_4.png&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;4.- Pantalla de recuperación de contraseña:&amp;lt;/b&amp;gt; En este caso, para la pantalla de recuperación de contraseña tan solo se pedira el &amp;lt;b&amp;gt;email&amp;lt;/b&amp;gt; del usuario y por tanto, dicho &amp;lt;b&amp;gt;email&amp;lt;/b&amp;gt; sera un campo obligatorio.&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/Configurar_app_nc_5.png&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;5.- Traducción:&amp;lt;/b&amp;gt; Este será el último paso para configurar nuestra aplicación, aquí deberemos seleccionar tanto los idiomas a los que estarán traducidos todos los campos que hemos configurado previamente; como su propia traducción a dichos idiomas. Una vez seleccionado el primer idioma, se pondrá como idioma por defecto de dicha aplicación. Para cambiar el idioma por defecto no tendremos más que generar las traducciones en más idiomas y modificar el campo &amp;lt;b&amp;gt;&amp;quot;Traducción por defecto&amp;quot;&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/Configurar_app_nc_6.png&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;5.1.- Cabeceras y botones:&amp;lt;/b&amp;gt; En este primer paso generaremos las traducciones de las cabeceras de las pantallas y de sus botones.&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/Configurar_app_nc_7.png&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;5.2.- Configuración de campos:&amp;lt;/b&amp;gt; En el segúndo paso generaremos las traducciones de los campos seleccionados previamente para cada pantalla y de sus posibles errores.&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/Configurar_app_nc_8.png&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;5.3.- Traducciones generales:&amp;lt;/b&amp;gt;  En el tercer y último paso generaremos las traducciones generales, traducciones que van asociadas a todas las pantallas y no a una/s en concreto como en los anteriores pasos.&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/Configurar_app_nc_9.png&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/Configurar_app_nc_10.png&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/Configurar_app_nc_11.png&lt;br /&gt;
&lt;br /&gt;
Una vez finalizadas las traducciones, como se ha indicado previamente, aparecerá el idioma al que se han realizado las traducciones y se pondrá por defecto.&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/Configurar_app_nc_12.png&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/Configurar_app_nc_13.png&lt;br /&gt;
&lt;br /&gt;
Si al finalizar dicha configuración no hemos quedado satisfechos con los campos seleccionados en alguna de sus pantallas, cuando procedamos a editar dicha pantalla y añadamos un nuevo campo que previamente no ha sido traducido, automáticamente se abrirá una pantalla para generar las traducciones para el &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;IDIOMA POR DEFECTO&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt;. Si queremos generar la traducción para el resto de idiomas hemos de volver a realizar lo especificado en el paso &amp;lt;b&amp;gt;5.-Traducción&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/Anadir_nuevo_campo_14.png&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/Anadir_nuevo_campo_15.png&lt;br /&gt;
&lt;br /&gt;
== PASOS A REALIZAR PARA LA INTALACIÓN DEL FRAMEWORK EN LA APLICACIÓN ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== INSTALACIÓN: ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Existen dos maneras de instalar el &amp;lt;i&amp;gt;FrameWork&amp;lt;/i&amp;gt; &amp;lt;b&amp;gt;NickCenter&amp;lt;/b&amp;gt;: a través de &amp;lt;b&amp;gt;CocoaPods&amp;lt;/b&amp;gt; o descargándolo directamente. Recomendamos hacerlo a través de la primera opción. &amp;lt;b&amp;gt;NickCenter&amp;lt;/b&amp;gt; incorpora dos &amp;lt;i&amp;gt;frameworks&amp;lt;/i&amp;gt; auxiliares, &amp;lt;b&amp;gt;RegisterLib&amp;lt;/b&amp;gt; y &amp;lt;b&amp;gt;UtilsLib&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==== INSTALACIÓN CON COCOAPODS: ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
En caso de que su proyecto no incluya el archivo &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;Podfile&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt;, incorpórelo. Si nunca ha trabajado con &amp;lt;b&amp;gt;CocoaPods&amp;lt;/b&amp;gt; consulte la [documentación ofrecida en su web oficial](https://guides.cocoapods.org/using/using-cocoapods.html), en la que se explica paso a paso cómo instalar &amp;lt;b&amp;gt;CocoaPods&amp;lt;/b&amp;gt; y cómo crear, actualizar y trabajar con los archivos &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;Podfile&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
    target &#039;NameTarget&#039; do&lt;br /&gt;
       use_frameworks!&lt;br /&gt;
        pod &#039;MobeleaderNC&#039;&lt;br /&gt;
        pod &#039;MobeleaderUtils&#039;&lt;br /&gt;
        pod &#039;MobeleaderRegister&#039;&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
Cabe destacar que &amp;lt;b&amp;gt;NameTarget&amp;lt;/b&amp;gt; deberá ser reemplazado por el nombre real del target de la aplicación en la que se quiere añadir el framework.&lt;br /&gt;
&lt;br /&gt;
Una vez creado y configurado el archivo haremos uso del siguiente comando desde el terminal sobre la ruta en la que se encuentra dicho archivo.&lt;br /&gt;
&lt;br /&gt;
    $ pod install --repo-update&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Y veremos como se crea un proyecto tal que el siguiente:&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/Proyecto_nc_ios_8.png&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Deberemos abrir el proyecto desde dicho archivo&amp;lt;/b&amp;gt; para que pueda usar el framework correctamente.&lt;br /&gt;
&lt;br /&gt;
==== INSTALACIÓN MANUAL: ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Descargue el &amp;lt;i&amp;gt;framework&amp;lt;/i&amp;gt; &amp;lt;b&amp;gt;NickCenter&amp;lt;/b&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
* Desde la [página principal de las librerías](http://panel.mobeleader.com/index.php?sec=82):&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/descarga_general_nc_ios.png&lt;br /&gt;
&lt;br /&gt;
* Desde la página de información de la libreria(http://panel.mobeleader.com/index.php?sec=85&amp;amp;id=45&amp;amp;tipo=3):&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/descarga_especifica_nc_ios_1.png&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/referrer/descargar_framework.png&lt;br /&gt;
&lt;br /&gt;
* Directamente desde [aquí](https://repos.mobeleader.com/MobeleaderNC/1.0.23/MobeleaderNC.zip).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Una vez descargado el &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;framework&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt;, descomprímalo e instálelo en su proyecto.&lt;br /&gt;
=== LANZAMIENTO: ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Una vez configurada la instalación, crearemos un objeto de la clase NickCenter en donde vayamos a usarla, en el ejemplo se hace en la implementacion de la clase ( DatosIniciales ):&lt;br /&gt;
&lt;br /&gt;
    @implementation DatosIniciales{&lt;br /&gt;
		NickCenter *nickCenter;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Para su lanzamiento se insertarán las siguientes lineas de código.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    nickCenter = [[NickCenter alloc] init];&lt;br /&gt;
    [nickCenter setDelegate:self];&lt;br /&gt;
    [nickCenter setRootViewController:self];&lt;br /&gt;
    [nickCenter setAppHash:@&amp;quot;Hash de la APP en el Panel de Mobeleader&amp;quot;];&lt;br /&gt;
    [nickCenter checkAndLaunch];&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;appHash&amp;lt;/b&amp;gt;: Será el hash dado por el Panel Mobeleader al dar de alta la aplicación en éste.  Para acceder a el deberemos ir a la sección &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;Desarrolladores&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; --&amp;gt; &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;Mis Apps&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; y hacer click sobre la columna &amp;lt;b&amp;gt;Hash&amp;lt;/b&amp;gt; de nuestra aplicación.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setRootViewController&amp;lt;/b&amp;gt;: Ésta función será opcional, con ella le diremos al framework desde que ViewController se lanzará y se recogerán las respuestas en los delegates.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/Obtener_hash_app_14.png&lt;br /&gt;
&lt;br /&gt;
Por defecto las pantallas de &amp;lt;b&amp;gt;NickCenter&amp;lt;/b&amp;gt; presentan el siguiente formato:&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/nc_ios_default.jpeg&lt;br /&gt;
&lt;br /&gt;
Si desea modificar las pantallas para que sean lo más parecidas a su aplicación el framework de &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;NickCenter&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; esta dotado de una serie de funciones que le permitirán maquetarlas a su gusto:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setViewsBackgroundColor:(UIColor \*):&amp;lt;/b&amp;gt; Determina el color de fondo de las pantallas.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setViewsBackgroundImage:(UIImage \*):&amp;lt;/b&amp;gt; Determina la imagen de fondo de cada pantalla.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setHeaderBackgroundColor:(UIColor \*):&amp;lt;/b&amp;gt; Determina el color de fondo de la cabecera de las pantallas.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setHeaderBackgroundImage:(UIImage \*):&amp;lt;/b&amp;gt; Determina la imagen de fondo de la cabecera de cada pantalla.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setHeaderBottomLineColor:(UIColor \*):&amp;lt;/b&amp;gt; Determina el color de la linea que separa la cabecera con el resto de la pantalla.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setHeaderTextColor:(UIColor \*):&amp;lt;/b&amp;gt; Determina el color del texto de la cabecera de las pantallas.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setHeaderFont:(UIFont \*):&amp;lt;/b&amp;gt; Determina la fuente de los textos de las cabeceras.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setTextFieldsBackgroundColor:(UIColor \*):&amp;lt;/b&amp;gt; Determina el color de fondo de los textfields donde se ubican los campos de cada pantalla.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setTextFieldsPlaceholderColor:(UIColor \*):&amp;lt;/b&amp;gt; Determina el color del texto descriptivo de cada textfield.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setTextFieldsTextColor:(UIColor \*):&amp;lt;/b&amp;gt; Determina el color del texto de los textfields donde se ubican los campos de cada pantalla.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setTextFieldsFont:(UIFont \*):&amp;lt;/b&amp;gt; Determina la fuente del texto de los textfields.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setButtonsNormalBackgroundColor:(UIColor \*):&amp;lt;/b&amp;gt; Determina el color de fondo de los botones de cada pantalla.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setButtonsHighlightedBackgroundColor:(UIColor \*):&amp;lt;/b&amp;gt; Determina el color de fondo de los botones de cada pantalla cuando se ha hecho click en éstos.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setButtonsNormalTextColor:(UIColor \*):&amp;lt;/b&amp;gt; Determina el color del texto de cada boton cuando no se ha hecho click en éstos.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setButtonsHighlightedTextColor:(UIColor \*):&amp;lt;/b&amp;gt; Determina el color del texto de cada boton cuando se ha hecho click en éstos.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setButtonsBorderColor:(UIColor \*):&amp;lt;/b&amp;gt; Determina el color del borde de los botones.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setButtonsFont:(UIFont \*):&amp;lt;/b&amp;gt; Determina la fuente de los textos de los botones.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setTermsFontColor:(UIColor \*):&amp;lt;/b&amp;gt; Determina el color de la fuente de los textos de los terminos y condiciones.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setTermsSwitchActiveColor:(UIColor \*):&amp;lt;/b&amp;gt; Determina el color de los botones activos en los terminos y condiciones.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;setTermsSwitchInactiveColor:(UIColor \*):&amp;lt;/b&amp;gt; Determina el color de los botones inactivos en los terminos y condiciones.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A continuación se expone un ejemplo en el que se maqueta a gusto del desarrollador las pantallas de &amp;lt;b&amp;gt;NickCenter&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
    nickCenter = [[NickCenter alloc] init];&lt;br /&gt;
    [nickCenter setDelegate:self];&lt;br /&gt;
    [nickCenter setRootViewController:self];&lt;br /&gt;
    [nickCenter setAppHash:@&amp;quot;Hash de la APP en el Panel de Mobeleader&amp;quot;];&lt;br /&gt;
    [nickCenter setViewsBackgroundColor:[UIColor whiteColor]];&lt;br /&gt;
    [nickCenter setViewsBackgroundImage:[UIImage imageNamed:@&amp;quot;logo&amp;quot;]];&lt;br /&gt;
    [nickCenter setHeaderBackgroundColor:[UIColor orangeColor]];&lt;br /&gt;
    [nickCenter setHeaderBottomLineColor:[UIColor orangeColor]];&lt;br /&gt;
    [nickCenter setHeaderTextColor:[UIColor whiteColor]];&lt;br /&gt;
    [nickCenter setTextFieldsBackgroundColor:[UIColor colorWithRed:217.0/255 green:217.0/255 blue:217.0/255 alpha:1]];&lt;br /&gt;
    [nickCenter setTextFieldsPlaceholderColor:[UIColor grayColor]];&lt;br /&gt;
    [nickCenter setTextFieldsTextColor:[UIColor blackColor]];&lt;br /&gt;
    [nickCenter setButtonsNormalBackgroundColor:[UIColor orangeColor]];&lt;br /&gt;
    [nickCenter setButtonsHighlightedBackgroundColor:[UIColor orangeColor]];&lt;br /&gt;
    [nickCenter setButtonsNormalTextColor:[UIColor whiteColor]];&lt;br /&gt;
    [nickCenter setButtonsHighlightedTextColor:[UIColor colorWithRed:249.0/255 green:203.0/255 blue:156.0/255 alpha:1]];&lt;br /&gt;
    [nickCenter setTermsFontColor:[UIColor orangeColor]];&lt;br /&gt;
    [nickCenter checkAndLaunch];&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/nc_ios_desarrollador.jpeg&lt;br /&gt;
&lt;br /&gt;
=== COMPLETAR REGISTRO: ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Una vez un usuario haya sido registrado en una de nuestras aplicaciones, cuando otra lance NickCenter, dicho usuario tan soló debera &amp;lt;b&amp;gt;logearse&amp;lt;/b&amp;gt; sin necesidad de tener que registrarse otra vez para ésta última aplicación. Se puede dar el caso de que al registrarte en la primera aplicación tán solo fuera necesario &amp;lt;b&amp;gt;email y contraseña&amp;lt;/b&amp;gt;, y que para la segunda aplicación fuera necesario registrarse con el &amp;lt;b&amp;gt;telefono&amp;lt;/b&amp;gt;, cuando este tipo de casos se den, al logearte en la segunda aplicación se abrirá una nueva vista para completar el registro. Una vez completado dicho registro se tratará como un login normal.&lt;br /&gt;
&lt;br /&gt;
https://panel.mobeleader.com/ficheros_subidos/librerias/imagenes/NickCenter/nc_ios_completar.jpeg&lt;br /&gt;
&lt;br /&gt;
=== FUNCIONES UTILES: ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;NickCenter&amp;lt;/b&amp;gt; está dotada de una función que permite al desarrollador cerrar la sesión ya iniciada por el usuario de manera que la siguiente vez que abra la aplicación y pase por donde se lanza la librería, el usuario deba volver a loguearse. Dicha funcion es :&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;closeSession&amp;lt;/b&amp;gt;: ( [nickCenter closeSession]; )&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== DELEGATES: ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;NickCenter&amp;lt;/b&amp;gt; cuenta con una serie de delegates que permiten al desarrollador saber que parte del framework se esta ejecutando y cual es su resultado. A continuación se expondrán éstos y para que sirven.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;registerViewOpened&amp;lt;/b&amp;gt;: Notifica cuando la vista de registro se ha lanzado.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;loginViewOpened&amp;lt;/b&amp;gt;: Notifica cuando la vista del login se ha lanzado.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;rescueViewOpened&amp;lt;/b&amp;gt;: Notifica cuando la vista de recuperación de contraseña se ha lanzado.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onError:(NSString \*)error&amp;lt;/b&amp;gt;: Notificará cuando haya habido un error, normalmente se lanzará cuando el registro o el login hayan sido incorrectos, o cuando al recuperar la contraseña el email sea incorrecto. Se puede dar el caso de que de otro tipo de error como bien puede ser al conectarnos al sevidor.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onWarning:(NSString \*)warning&amp;lt;/b&amp;gt;: Notificará de alguna advertencia al desarrollador.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;finished&amp;lt;/b&amp;gt;: Notificará cuando la librería haya finalizado algun proceso. Inicio de sesión, registro o recuperación de contraseña correcto.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;sessionClosed&amp;lt;/b&amp;gt;: Notificará cuando se haya cerrado la sesión de NickCenter.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onActive&amp;lt;/b&amp;gt;: Notificará cuando detecte que NickCenter esta activa para la aplicación.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;onInactive&amp;lt;/b&amp;gt;: Notificará cuando detecte que NickCenter esta inactiva para la aplicación.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;registerRegisterButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de registarse en la vista de registro de usuario.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;registerLoginButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de inicio de sesión en la vista de registro de usuario.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;registerCloseButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de cerrar en la vista de registro de usuario.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;loginPerformed:(NCUser \&amp;lt;i&amp;gt;) user dictionary:(NSMutableDictionary \&amp;lt;/i&amp;gt;) userDictionary&amp;lt;/b&amp;gt;: Notificará cuando haya habido un registro o un login correcto. Se mandará la información recogida del usuario tanto en formato NCUser como en formato NSMutableDictionary.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;loginLoginButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de inicio de sesión en la vista de inicio de sesión.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;loginRegisterButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de registrarse en la vista de inicio de sesión.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;loginRescueButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de recuperar contraseña en la vista de inicio de sesión.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;loginCloseButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de cerrar en la vista de inicio de sesión.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;rescueRescueButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de recuperar contraseña en la vista de recuperar contraseña.&lt;br /&gt;
&lt;br /&gt;
- &amp;lt;b&amp;gt;rescueCloseButtonClicked&amp;lt;/b&amp;gt;: Notificará cuando se haga click en el botón de cerrar en la vista de recuperar contraseña.&lt;/div&gt;</summary>
		<author><name>Asier</name></author>
	</entry>
</feed>