{{indexmenu_n>1}} ====== Configuración de un servidor de réplica con PUSH ====== \\ Por el momento, las plataformas que tienen implementado PUSH en los dispositivos son Android e IOS.\\ \\ ===== Configuración en el dispositivo ===== En los dispositivos la única configuración es para Android en el fichero license.ini, en el cual hay que poner 3 claves:\\ \\ |**UsePush=true**.| |**ShowNotify=true o false**. (Para desactivar las notificaciones en la barra de notificaciones del dispositivo).| |**GooglePushSenderID=NUMERO_QUE_SE_OBTIENE_EN_LA_CONSOLA_DE_DESARROLLADOR_DE_FIREBASE**. ([[wiki:3.-servidor:3.19.-tecnologia-push:b.-registro-servidor-push:start|Ver aquí cómo obtenerlo]]). Google lo llama ID del remitente.| \\ Usar PUSH no impide que el dispositivo se conecte de vez en cuando al server para replicar tal y como lo hace cuando NO hay PUSH configurado.\\ \\ ===== Configuración en el servidor ===== ==== Tablas y Campos Necesarios ==== \\ === MASTER_REPLICA_SLAVE === \\ Simplemente verificar que el campo existe en la tabla. El XOneManager rellenará el valor correspondiente cuando demos de alta el dispositivo, según la plataforma de la que se trate. \\ ^ Campo ^ Descripción ^ | **PUSH** | Texto (30 caracteres). En este campo se indica qué conector de PUSH usa el MID en cuestión.\\ \\ Posibles Valores:\\ \\ * "**apple**": Proveedor de PUSH para Apple iOS ó similar. * "**blackberry**": Proveedor de PUSH para Blackberry (BES o BIS). * "**android**": Proveedor de PUSH para Google Android. * "**ip**": Proveedor de PUSH para “listener” en el dispositivo. | \\ === MASTER_REPLICA_CMDLOG === \\ Unicamente hay que verificar que los campos existan, se rellenan automáticamente.\\ \\ ^ Campo ^ Descripción ^ | **PUSH** |Texto. Contiene la fecha y hora en que se envió la última notificación PUSH a este cliente. | | **PID** |Texto (300 caracteres). Contiene el TOKEN enviado por los dispositivos cuando se registran en el proveedor de PUSH. Este es el elemento de identificación que se emplea a la hora de enviarles una notificación.| \\ === REPLICATOR.INI ó SCRATCH_DBCONFIG === \\ Las claves aquí definidas son CamelCase, respetando mayúsculas y minúsculas. El archivo de configuración “replicator.ini” empleado por el servidor para gestionar las bases de datos de réplica, necesita una serie de cadenas de configuración dependiendo del tipo de proveedor que se quiera configurar. Las cadenas por proveedor se describen a continuación:\\ \\ ^ Clave ^ Valor / Descripción ^ | **%%EnableSelectivePush%%** | **Obligatorio, true o false**. Para especificar si vamos a utilizar o no el sistema PUSH SELECTIVO. | | **%%PushThreshold%%** | **Obligatorio, numérico**. Mínimo número de operaciones de réplica que debe haber para que nos notifique. | | **%%PushInterval%%** | **Obligatorio, numérico**. Tiempo en segundos para que vuelva a chequear de nuevo si hay operaciones de réplica. | | **%%PushNotifyOnce%%** | **Obligatorio, true o false**. Poner a true para que nos envíe una única notificación hasta que repliquemos las actuales operaciones, evitando que nos esté notificando continuamente. | | **%%GoogleAuthKey%%** | **Obligatorio**. Cadena en Base64 suministrada por Google. Se puede emplear la misma para todas las aplicaciones con réplica. Google lo llama clave de Servidor. [[wiki:3.-servidor:3.19.-tecnologia-push:b.-registro-servidor-push:start|Ver también]] | | **%%GoogleSenderID%%** | **Obligatorio**. Cadena en Base64 suministrada por el proveedor. En principio debe haber una diferente para cada aplicación. Google lo llama ID del remitente. | \\ ^ **Valores** ^ **Descripción** ^ | %%PushThreshold%%: **1**\\ %%PushInterval%%: **5**\\ %%PushNotifyOnce%%: **true** | \\ Cuando haya una operación ya nos notifique, que vuelva a chequear cada 5 segundos y que solo nos envíe otra notificación cuando repliquemos las que tenemos pendientes. | | %%PushThreshold%%: **1**\\ %%PushInterval%%: **300**\\ %%PushNotifyOnce%%: **false** | \\ Cuando haya una operación ya nos notifique y que vuelva a chequear a los 5 minutos, aunque ya nos haya notificado anteriormente. | \\ ==== PUSH Selectivo ==== \\ Se puede configurar el envío de notificaciones push de forma selectiva, es decir, que cumplan unas determinadas condiciones. Para ello se han dispuesto dos tablas nuevas, **ADM_PUSH_SELECTED_TEMPLATE** y **MASTER_REPLICA_SELECTED_PUSH**, la primera es la plantilla para rellenar la segunda.\\ \\ === ADM_PUSH_SELECTED_TEMPLATE === \\ Plantilla para rellenar la tabla de selectividad de las notificaciones push de réplica.\\ \\ ^ ADM_PUSH_SELECTED_TEMPLATE ^ | {{ :replica:push:adm_push_selected_template.png?nolink }} | \\ ^ Campo ^ Descripción ^ | **TABLENAME** |Texto (50). Contiene la tabla sobre la que se realiza la condición. | | **CRITERIA** |Texto. Contiene el criterio de selectividad que ha de cumplirse para que se reciba la notificación | | **MESSAGE** |Texto (250). Contiene el mensaje que se envía al dispositivo. | \\ === MASTER_REPLICA_SELECTED_PUSH === \\ Tabla de selectividad de las notificaciones push de réplica. Se rellena a partir de la anterior.\\ \\ ^ MASTER_REPLICA_SELECTED_PUSH ^ | {{ :replica:push:master_replica_selected_push.png?nolink }} | ^ Campo ^ Descripción ^ | **TBL** |Texto (50). Contiene la tabla sobre la que se realiza la condición. | | **MID** |Numérico. Identificador del dispositivo. | | **CRITERIA** |Texto. Contiene el criterio de selectividad que ha de cumplirse para que se reciba la notificación | | **MESSAGE** |Texto (250). Contiene el mensaje que se envía al dispositivo. |