Saltar al contenido principal

Android: implementar el registro del dispositivo

En esta guía, profundizaremos en cómo debe manejar el registro del dispositivo. Cuando launch() Notificare por primera vez, el dispositivo se registrará como un dispositivo no push.

Cuando se produce un registro de dispositivo exitoso, emitimos una intención. Si ha configurado un receptor de intents personalizado como se menciona en la página Implementación, puede recibir estos intents anulando el método onDeviceRegistered() de NotificareIntentReceiver.

class CustomIntentReceiver : NotificareIntentReceiver() {

override fun onDeviceRegistered(context: Context, device: NotificareDevice) {

}
}

También puede consultar los detalles del dispositivo registrado actualmente.

Notificare.device().currentDevice

El método onReady() en NotificareIntentReceiver también se llamará cuando se hayan iniciado todos los módulos Notificare, incluido el registro exitoso del dispositivo.

Además, puede verificar si Notificare está listo en cualquier momento llamando a Notificare.isReady o escuchando el evento onReady en cualquier parte de su código agregando un Notificare.OnReadyListener como se describe a continuación.

class MainActivity : AppCompatActivity(), Notificare.Listener {

override fun onCreate(savedInstanceState: Bundle?) {
// more code ...

Notificare.addListener(this)
}

override fun onDestroy() {
// more code ...

Notificare.removeListener(this)
}

// region Notificare.OnReadyListener

override fun onReady(application: NotificareApplication) {

}

override fun onUnlaunched() {

}

// endregion

}

Asignar un usuario al dispositivo

De forma predeterminada, un dispositivo se registra como usuario anónimo. Sin embargo, para utilizar plenamente las notificaciones push en su estrategia omnicanal Actito, simplemente registrar un dispositivo anónimo no es lo que desea. Por ejemplo, si está autenticando a sus usuarios, querrá asignar información de usuario al dispositivo registrado como se muestra a continuación.

Notificare.device().updateUser(
userId = "7f42bedc-d74b-4c64-a5cf-76bcc5130b05",
userName = "John Doe",
callback = object : NotificareCallback<Unit> {
override fun onSuccess(result: Unit) {

}

override fun onFailure(e: Exception) {

}
}
)

Después de eso, el dispositivo permanecerá registrado con este userId / userName hasta que establezca explícitamente al usuario como anónimo. Dependiendo de cómo autentique a los usuarios, es posible que desee verificar el estado de inicio de sesión al iniciar (en onReady) y cambiarlo si es necesario. La mejor manera de forzar el registro como anónimo es estableciendo userId y userName en null.

consejo

Solo se utilizará el ID de usuario para hacer coincidir los dispositivos con los perfiles en su base de datos Actito.
El nombre de usuario sólo se utiliza para proporcionar información adicional.

Notificare.device().updateUser(
userId = null,
userName = null,
callback = object : NotificareCallback<Unit> {
override fun onSuccess(result: Unit) {

}

override fun onFailure(e: Exception) {

}
}
)

Para elegir el ID de usuario correcto:

  • Los datos deben estar disponibles como clave en Actito a través de la sincronización de datos entre su sistema y Actito.
  • Los datos deben estar disponibles en su sitio web (conectándose a un área de clientes).

Utiliza un atributo ya definido como único en tu tabla de perfil de Actito.

info

Si necesita agregar un nuevo atributo único, esto es posible, pero tenga cuidado ya que esto podría afectar su proceso de sincronización de datos entre su sistema y Actito. Pregúntele a su experto en datos de incorporación si es necesario.

Cambiar idioma del dispositivo

De forma predeterminada, recopilaremos automáticamente el idioma y la región de un dispositivo según la configuración regional del dispositivo. En la mayoría de los casos, esto será suficiente, pero en los casos en los que desee anular la combinación de idioma/región del dispositivo con una selección estricta de idiomas, puede hacerlo llamando al siguiente método:

Notificare.device().updatePreferredLanguage("en-US", object : NotificareCallback<Unit> {
override fun onSuccess(result: Unit) {

}

override fun onFailure(e: Exception) {

}
})

Finalmente, siempre puedes recuperar el idioma preferido llamando al siguiente método:

Notificare.device().preferredLanguage