Aller au contenu principal

Android - Implémenter l'enregistrement des appareils

Dans ce guide, nous approfondirons la manière dont vous devez gérer l'enregistrement de l'appareil. Lorsque vous launch() Notificare pour la première fois, l'appareil sera enregistré comme appareil non push.

Lorsqu’un enregistrement réussi de l’appareil a lieu, nous émettons une intention. Si vous avez configuré un récepteur d'intentions personnalisé comme mentionné dans la page d'Implémentation, vous pouvez recevoir ces intentions en remplaçant la méthode onDeviceRegistered() de NotificareIntentReceiver.

class CustomIntentReceiver : NotificareIntentReceiver() {

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

}
}

Vous pouvez également vérifier les détails de l'appareil actuellement enregistré.

Notificare.device().currentDevice

La méthode onReady() dans NotificareIntentReceiver sera également appelée lorsque tous les modules Notificare auront été lancés, y compris un enregistrement réussi de l'appareil.

De plus, vous pouvez vérifier si Notificare est prêt à tout moment en appelant Notificare.isReady ou en écoutant l'événement onReady n'importe où dans votre code en ajoutant un Notificare.OnReadyListener comme décrit ci-dessous.

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

}

Attribuer un utilisateur à l'appareil

Par défaut, un appareil est enregistré en tant qu'utilisateur anonyme. Cependant, pour utiliser pleinement les notifications push dans votre stratégie omnicanal Actito, le simple enregistrement d'un appareil anonyme n'est pas ce que vous souhaitez. Par exemple, si vous authentifiez vos utilisateurs, vous souhaiterez attribuer des informations utilisateur à l'appareil enregistré comme indiqué ci-dessous.

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) {

}
}
)

Après cela, l'appareil restera enregistré avec ce userId / userName jusqu'à ce que vous définissiez explicitement l'utilisateur comme anonyme. Selon la manière dont vous authentifiez les utilisateurs, vous souhaiterez peut-être vérifier l'état de connexion au lancement (dans onReady) et le modifier si nécessaire. Forcer l'enregistrement en tant qu'anonyme peut être mieux réalisé en définissant userId et userName sur null.

astuce

Seul le userId sera utilisé pour faire correspondre les appareils aux profils dans votre base de données Actito.
Le nom d'utilisateur est uniquement utilisé pour fournir des informations supplémentaires.

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

}

override fun onFailure(e: Exception) {

}
}
)

Pour choisir le bon identifiant utilisateur :

  • Les données doivent être disponibles sous forme de clé dans Actito grâce à la synchronisation des données entre votre système et Actito.
  • Les données doivent être disponibles sur votre site internet (en vous connectant à un espace client).

Veuillez utiliser un attribut déjà défini comme unique sur votre table de profil Actito.

info

Si vous devez ajouter un nouvel attribut unique, cela est possible, mais soyez prudent car cela pourrait avoir des impacts sur votre processus de synchronisation des données entre votre système et Actito. Demandez à votre expert en données d'intégration si nécessaire.

Remplacer la langue de l'appareil

Par défaut, nous collecterons automatiquement la langue et la région d'un appareil en fonction des paramètres régionaux de l'appareil. Dans la plupart des cas, cela suffira, mais dans les cas où vous souhaitez remplacer la combinaison langue/région de l'appareil par une sélection stricte de langues, vous pouvez le faire en appelant la méthode suivante :

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

}

override fun onFailure(e: Exception) {

}
})

Finalement, vous pouvez toujours récupérer la langue préférée en appelant la méthode suivante :

Notificare.device().preferredLanguage