NowPushService クラス: Android

  • リリースバージョン: Xanadu
  • 更新日 2024年08月01日
  • 所要時間:5分
  • NowPushService クラスは、プッシュ通知サービスとの対話を可能にする関数を提供します。

    表 : 1. プロパティ
    名前 Description (説明)
    構成 サービスに関連付けるサービス構成。

    データ型: NowServiceConfiguration

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

    プッシュ通知要求を処理します。

    注:
    現在、実装されているプッシュ通知の種類は NowPushVirtualAgent のみです。その他の渡されたプッシュ通知の種類は、 NotSupportedPushError オブジェクトを返します。
    表 : 2. パラメーター
    名前 タイプ Description (説明)
    リモートメッセージ リモートメッセージ com.google.firebase.messaging.FirebaseMessagingService.onMessageReceived が受信した通知。詳しくは、 Android アプリでメッセージを受信するをご覧ください。
    正常終了 コールバック コンシューマー <NowPushPayload> 処理された NowPushPayload を返すコールバック。
    エラーコールバック コンシューマー<スロー可能> スローされたエラーを返すコールバック。エラー NotSupportedPushError がスローされた場合、通知タイプはモバイル SDK でサポートされていないため、モバイル SDK フレームワークの外部で処理する必要があります。
    表 : 3. 返される内容
    タイプ 説明
    なし

    この例では、 onMessageReceived() をオーバーライドし、 RemoteMessageNowPushService に渡す方法を示します。NowPushService は通知の種類を認識すると、要求を処理し、アプリケーションが処理する通知オブジェクトを返します。それ以外の場合は、 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>)

    現在のAndroidデバイスと指定されたアプリケーションのプッシュ通知を識別するために使用されるServiceNowインスタンスに一意のFirebaseトークンを登録します。

    ServiceNow インスタンスが通知を生成し、デバイスがアプリケーションからの通知Android受信するには、このトークンを登録する必要があります。

    表 : 4. パラメーター
    名前 タイプ Description (説明)
    プッシュトークン 文字列 Firebasecom.google.firebase.messaging.FirebaseMessaging.getToken または com.google.firebase.messaging.FirebaseMessagingService.onNewToken によって取得されたトークン。
    プッシュアプリ 文字列 関連付けられた ServiceNow インスタンスのプッシュ アプリケーション テーブルで指定されているプッシュ アプリケーションの名前。
    正常終了 コールバック 実行可能ファイル トークンの登録に成功したときに実行されるコールバック。
    errorCallback コンシューマー<スロー可能> トークンの登録に失敗したときに実行されるコールバック。
    表 : 5. 返される内容
    タイプ 説明
    なし

    この例では、現在の Android デバイスとアプリケーション "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>)

    指定された Firebase プッシュトークンを、関連付けられた ServiceNow インスタンスに登録解除します。

    表 : 6. パラメーター
    名前 タイプ Description (説明)
    プッシュトークン 文字列 Firebase トークンで登録解除します。com.google.firebase.messaging.FirebaseMessaging.getToken または com.google.firebase.messaging.FirebaseMessagingService.onNewToken によって取得されます。
    プッシュアプリ 文字列 登録解除するトークンに関連付けられているプッシュアプリケーションの名前。この情報は、関連付けられた ServiceNow インスタンスのプッシュ アプリケーション テーブルに格納されます。
    正常終了 コールバック 実行可能ファイル トークンの登録解除に成功したときに実行されるコールバック。
    erro rCallback コンシューマー<スロー可能> トークンの登録解除に失敗したときに実行されるコールバック。
    表 : 7. 返される内容
    タイプ 説明
    なし

    このコード例は、ユーザーがアプリケーションからログアウトしたときなどにプッシュトークンを登録解除する方法を示しています。

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