---
sourceDocument: Referência de API do Xanadu
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/pt-BR/xanadu/api-reference

 Release :

    - xanadu

ft:locale :

    - pt-BR

ft:publication_title :

    - Referência de API do Xanadu

ft:clusterId :

    - crapiref

bundleId :

    - crapiref

workflow :

    - Creator


---

# Classe NowPushService - Android

# Classe NowPushService - Android {#ariaid-title1}

* Versão de lançamento: Xanadu
* 
* Atualizado 1 de ago. de 2024
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 2 min. de leitura

A classe NowPushService fornece funções que permitem a interação com o serviço de notificação por push.
{#NowPushServiceAndroidAPI__table_vx2_klw_5pb__entry__2}

| Nome | Descrição |
|-|-|
| configuração | Configuração de serviço a ser associada ao serviço. Tipo de dados: [NowServiceConfiguration](https://servicenow-prod.fluidtopics.net/jf~9lIjtHwW3MVfVkwHV9w "A classe NowServiceConfiguration permite configurar o URL da instância ServiceNow e o nome do pacote para um serviço do recurso.") |
[Tabela 1. Propriedades]

{#NowPushServiceAndroidAPI__table_vx2_klw_5pb}

## NowPushService - handlePush(remoteMessage: RemoteMessage, sucessoCallback: consumidor\<NowPushPayload\> , errorCallback: consumidor\<Throwable\> ) {#ariaid-title2}

Processa uma solicitação de notificação por push.
Nota:  
Atualmente, o único tipo de notificação por push implementado é `NowPushVirtualAgent`. Qualquer outro tipo de notificação por push aprovado retorna um objeto [NotSupportedPushError](https://servicenow-prod.fluidtopics.net/sVMBkZWlbWPErl8C5GP2fQ#NotSupportedPushErrorAndroidAPI "Uma função da classe NotSupportedPushError é lançada quando o NowPushSDK não pode processar a solicitação de notificação por push. Quando esse tipo de erro é gerado, você deve analisar e processar a notificação por push fora da estrutura do MobileSDK.").
{#NPushServ-handlePush_S_O_O__table_aly_nvk_nrb__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| Mensagem remota | [Mensagem remota](https://firebase.google.com/docs/reference/android/com/google/firebase/messaging/RemoteMessage) | Notificação recebida por `com.google.firebase.messaging.FirebaseMessagingService.onMessageRe opened`. Para obter informações adicionais, consulte [Como receber mensagens em um aplicativo para Android](https://firebase.google.com/docs/cloud-messaging/android/receive). |
| sucesso no retorno de chamada | [Consumidor](https://developer.android.com/reference/kotlin/java/util/function/Consumer) \<[NowPushPayload](https://servicenow-prod.fluidtopics.net/ZKPnvawJeaBTSzyobkwdwQ#NowPushPayloadAndroidInterface "A interface NowPushPayload define a carga de notificação por push que o NowSDK implementa.")\> | Retorno de chamada para retornar o processado NowPushPayload para. |
| erro de retorno de chamada | [Consumidor](https://developer.android.com/reference/kotlin/java/util/function/Consumer) \<[Throwable](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-throwable/)\> | Retorno de chamada para retornar o erro gerado. Se o erro [NotSupportedPushError](https://servicenow-prod.fluidtopics.net/sVMBkZWlbWPErl8C5GP2fQ#NotSupportedPushErrorAndroidAPI "Uma função da classe NotSupportedPushError é lançada quando o NowPushSDK não pode processar a solicitação de notificação por push. Quando esse tipo de erro é gerado, você deve analisar e processar a notificação por push fora da estrutura do MobileSDK.") for lançado, o tipo de notificação não será compatível com o SDK para celular e deverá ser processado fora da estrutura do SDK para celular. |
[Tabela 2. Parâmetros]

{#NPushServ-handlePush_S_O_O__table_aly_nvk_nrb} {#NPushServ-handlePush_S_O_O__table_bly_nvk_nrb__entry__2}

| Tipo | Descrição |
|-|-|
| Nenhum(a) |   |
[Tabela 3. Retorna]

{#NPushServ-handlePush_S_O_O__table_bly_nvk_nrb}  
Este exemplo mostra como substituir onMessageReceived() e passar o RemoteMessage por meio de para o `NowPushService`. Se o `NowPushService` reconhecer o tipo de notificação, ele processará a solicitação e retornará o objeto de notificação para a aplicação processar. Caso contrário, ele emitirá o [NotSupportedPushError](https://servicenow-prod.fluidtopics.net/sVMBkZWlbWPErl8C5GP2fQ#NotSupportedPushErrorAndroidAPI "Uma função da classe NotSupportedPushError é lançada quando o NowPushSDK não pode processar a solicitação de notificação por push. Quando esse tipo de erro é gerado, você deve analisar e processar a notificação por push fora da estrutura do MobileSDK.").

    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: cadeia de caracteres, pushApp: cadeia de caracteres, sucessoCallback: executável, errorCallback: consumidor\<Throwable\> ) {#ariaid-title3}

Registra um token Firebase exclusivo com a instância ServiceNow usada para identificar as notificações por push do dispositivo Android atual e da aplicação especificada.
Para que a instância ServiceNow gere notificações, o dispositivo Android receba notificações da aplicação, este token deve ser registrado.
{#NPushServ-registerPushToken_S_S_O_O__table_zhp_ccl_nrb__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| pushToken | Cadeia de caracteres | Firebase token recuperado por [com.google.firebase.messaging.FirebaseMessaging.getToken](https://firebase.google.com/docs/reference/js/v8/firebase.messaging.Messaging#gettoken) ou [com.google.firebase.messaging.FirebaseMessagingService.onNewToken](https://firebase.google.com/docs/cloud-messaging/android/client). |
| pushApp | Cadeia de caracteres | Nome da aplicação de envio conforme especificado na tabela Aplicação de envio na instância ServiceNow associada. |
| sucesso no retorno de chamada | [Executável](https://developer.android.com/reference/kotlin/java/lang/Runnable.html) | Retorno de chamada executado quando o registro do token é bem-sucedido. |
| erroRetorno de chamada | [Consumidor](https://developer.android.com/reference/kotlin/java/util/function/Consumer) \<[Throwable](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-throwable/)\> | Retorno de chamada executado quando o registro do token falha. |
[Tabela 4. Parâmetros]

{#NPushServ-registerPushToken_S_S_O_O__table_zhp_ccl_nrb} {#NPushServ-registerPushToken_S_S_O_O__table_a3p_ccl_nrb__entry__2}

| Tipo | Descrição |
|-|-|
| Nenhum(a) |   |
[Tabela 5. Retorna]

{#NPushServ-registerPushToken_S_S_O_O__table_a3p_ccl_nrb}  
Este exemplo registra um token de envio para o dispositivo Android atual e a aplicação "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: cadeia de caracteres, pushApp: cadeia de caracteres, sucessoCallback: executável, errorCallback: consumidor\<Throwable\> ) {#ariaid-title4}

Cancela o registro do token de push Firebase especificado com a instância ServiceNow associada.
{#NPushServ-unregPushToken_S_S_O_O__table_ywx_bgl_nrb__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| pushToken | Cadeia de caracteres | Firebase token para cancelar o registro. Recuperado por [com.google.firebase.messaging.FirebaseMessaging.getToken](https://firebase.google.com/docs/reference/js/v8/firebase.messaging.Messaging#gettoken) ou [com.google.firebase.messaging.FirebaseMessagingService.onNewToken](https://firebase.google.com/docs/cloud-messaging/android/client). |
| pushApp | Cadeia de caracteres | Nome da aplicação de envio por push associada ao token para cancelar o registro. Essas informações são armazenadas na tabela Aplicação de push na instância associada ServiceNow. |
| sucesso no retorno de chamada | [Executável](https://developer.android.com/reference/kotlin/java/lang/Runnable.html) | Retorno de chamada executado quando o cancelamento do registro do token é bem-sucedido. |
| erro rCallback | [Consumidor](https://developer.android.com/reference/kotlin/java/util/function/Consumer) \<[Throwable](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-throwable/)\> | Retorno de chamada executado quando há falha no cancelamento do registro do token. |
[Tabela 6. Parâmetros]

{#NPushServ-unregPushToken_S_S_O_O__table_ywx_bgl_nrb} {#NPushServ-unregPushToken_S_S_O_O__table_zwx_bgl_nrb__entry__2}

| Tipo | Descrição |
|-|-|
| Nenhum(a) |   |
[Tabela 7. Retorna]

{#NPushServ-unregPushToken_S_S_O_O__table_zwx_bgl_nrb}  
Este exemplo de código mostra como cancelar o registro de um token de envio, como quando o usuário faz logout da aplicação.

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


