Classe NowPushService : Android

  • Rversion finale: Washingtondc
  • Mis à jour 1 févr. 2024
  • 2 minutes de lecture
  • La classe NowPushService fournit des fonctions qui activent l’interaction avec le service de notification push.

    Tableau 1. Propriétés
    Nom Description
    configuration Configuration du service à associer au service.

    Type de données : NowServiceConfiguration

    NowPushService : handlePush(remoteMessage : RemoteMessage, successCallback : Consumer<NowPushPayload>, errorCallback : Consumer<Throwable>)

    Traite une demande de notification push.

    Remarque :
    Actuellement, le seul type de notification push implémenté est NowPushVirtualAgent. Tout autre type de notification push transmis renvoie un objet NotSupportedPushError .
    Tableau 2. Paramètres
    Nom Type Description
    Message distant Message à distance Notification reçue par com.google.firebase.messaging.FirebaseMessagingService.onMessageReceived. Pour plus d’informations, consultez Recevoir des messages dans une application Android.
    Rappel de réussite Consommateur <NowPushPayload> Rappel auquel retourner le traité NowPushPayload .
    Rappel d’erreur Consommateur <Throwable> Rappel auquel renvoyer l’erreur levée. Si l’erreur NotSupportedPushError est générée, le type de notification n’est pas pris en charge par le SDK mobile et doit être traité en dehors du cadre de travail du SDK Mobile.
    Tableau 3. Renvoie
    Type Description
    Néant

    Cet exemple montre comment surcharger onMessageReceived() et transmettre le RemoteMessage à NowPushService. Si NowPushService reconnaît le type de notification, il traite la demande et renvoie l’objet de notification que l’application doit gérer. Sinon, il lève la valeur NotSupportedPushError.

    override fun onMessageReceived(remodeeMessage: RemoteMessage){
      pushService.handlePush(remoteMessage, { push ->
        when (push) {
          is NowPushVirtualAgent → handleVirtualAgentPush(push)
        }, { error ->
            Log.e(TAG, "Unknown push", error)
            handleAppPushNotification(remoteMessage)
        })
    }

    NowPushService - registerPushToken(pushToken : String, pushApp : String, successCallback : Runnable, errorCallback : Consumer<Throwable>)

    Enregistre un jeton unique Firebase auprès de l’instance ServiceNow utilisée pour identifier les notifications push pour l’appareil actuel Android et l’application spécifiée.

    Pour que l’instance puisse générer des notifications Android et que l’appareil ServiceNow reçoive des notifications de l’application, ce jeton doit être enregistré.

    Tableau 4. Paramètres
    Nom Type Description
    pushToken (en anglais seulement) Chaîne Firebase jeton récupéré par com.google.firebase.messaging.FirebaseMessaging.getToken ou com.google.firebase.messaging.FirebaseMessagingService.onNewToken.
    Application pushApp Chaîne Nom de l’application push, tel que spécifié dans la table Application push de l’instance associée ServiceNow .
    Rappel de réussite Exécutable Rappel exécuté lorsque l’enregistrement du jeton est réussi.
    errorCallback Consommateur <Throwable> Rappel exécuté en cas d’échec de l’enregistrement du jeton.
    Tableau 5. Renvoie
    Type Description
    Néant

    Cet exemple enregistre un jeton push pour l’appareil actuel Android et l’application « PushAppName ».

    FirebaseMessaging.getInstance().token.addOnCompleteListener { task ->
      val token = task.result
    
      if (!task.isSuccessful || token == null) {
        throw Exception("Unable to fetch token"))
      }
    
      pushService.registerPushToken(token, "PushAppName", {
        Log.v(TAG, "Successfully registered push token")
      }, { e ->
        Log.e(TAG, "Error registering push", e)
      })
    }

    NowPushService - unregisterPushToken(pushToken : String, pushApp : String, successCallback : Runnable, errorCallback : Consumer<Throwable>)

    Annule l’inscription du jeton push spécifié Firebase auprès de l’instance associée ServiceNow .

    Tableau 6. Paramètres
    Nom Type Description
    pushToken (en anglais seulement) Chaîne Firebase jeton pour annuler l’inscription. Récupéré par com.google.firebase.messaging.FirebaseMessaging.getToken ou com.google.firebase.messaging.FirebaseMessagingService.onNewToken
    Application pushApp Chaîne Nom de l’application push associée au jeton à désinscrire. Ces informations sont stockées dans la table Application push sur l’instance associée ServiceNow .
    Rappel de réussite Exécutable Rappel exécuté lorsque l’annulation de l’inscription du jeton est réussie.
    erro rCallback Consommateur <Throwable> Rappel exécuté en cas d’échec de l’annulation de l’inscription du jeton.
    Tableau 7. Renvoie
    Type Description
    Néant

    Cet exemple de code montre comment annuler l’inscription d’un jeton push, par exemple lorsque l’utilisateur se déconnecte de l’application.

    pushService.unregisterPushtoken(token, "PushAppName", {
      Log.v(TAG, "Successfully unregistered push token")
    },  { e ->
      Log.e(TAG, "Error unregistering push", e)
    })