NowPushService クラス: Android
NowPushService クラスは、プッシュ通知サービスとの対話を可能にする関数を提供します。
| 名前 | Description (説明) |
|---|---|
| 構成 | サービスに関連付けるサービス構成。 データ型: NowServiceConfiguration |
NowPushService - handlePush(remoteMessage: RemoteMessage, successCallback: Consumer<NowPushPayload>, errorCallback: Consumer<Throwable>)
プッシュ通知要求を処理します。
注:
現在、実装されているプッシュ通知の種類は
NowPushVirtualAgent のみです。その他の渡されたプッシュ通知の種類は、 NotSupportedPushError オブジェクトを返します。| 名前 | タイプ | Description (説明) |
|---|---|---|
| リモートメッセージ | リモートメッセージ | com.google.firebase.messaging.FirebaseMessagingService.onMessageReceived が受信した通知。詳しくは、 Android アプリでメッセージを受信するをご覧ください。 |
| 正常終了 コールバック | コンシューマー <NowPushPayload> | 処理された NowPushPayload を返すコールバック。 |
| エラーコールバック | コンシューマー<スロー可能> | スローされたエラーを返すコールバック。エラー NotSupportedPushError がスローされた場合、通知タイプはモバイル SDK でサポートされていないため、モバイル SDK フレームワークの外部で処理する必要があります。 |
| タイプ | 説明 |
|---|---|
| なし |
この例では、 onMessageReceived() をオーバーライドし、 RemoteMessage を NowPushService に渡す方法を示します。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受信するには、このトークンを登録する必要があります。
| 名前 | タイプ | Description (説明) |
|---|---|---|
| プッシュトークン | 文字列 | Firebasecom.google.firebase.messaging.FirebaseMessaging.getToken または com.google.firebase.messaging.FirebaseMessagingService.onNewToken によって取得されたトークン。 |
| プッシュアプリ | 文字列 | 関連付けられた ServiceNow インスタンスのプッシュ アプリケーション テーブルで指定されているプッシュ アプリケーションの名前。 |
| 正常終了 コールバック | 実行可能ファイル | トークンの登録に成功したときに実行されるコールバック。 |
| errorCallback | コンシューマー<スロー可能> | トークンの登録に失敗したときに実行されるコールバック。 |
| タイプ | 説明 |
|---|---|
| なし |
この例では、現在の 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 インスタンスに登録解除します。
| 名前 | タイプ | Description (説明) |
|---|---|---|
| プッシュトークン | 文字列 | Firebase トークンで登録解除します。com.google.firebase.messaging.FirebaseMessaging.getToken または com.google.firebase.messaging.FirebaseMessagingService.onNewToken によって取得されます。 |
| プッシュアプリ | 文字列 | 登録解除するトークンに関連付けられているプッシュアプリケーションの名前。この情報は、関連付けられた ServiceNow インスタンスのプッシュ アプリケーション テーブルに格納されます。 |
| 正常終了 コールバック | 実行可能ファイル | トークンの登録解除に成功したときに実行されるコールバック。 |
| erro rCallback | コンシューマー<スロー可能> | トークンの登録解除に失敗したときに実行されるコールバック。 |
| タイプ | 説明 |
|---|---|
| なし |
このコード例は、ユーザーがアプリケーションからログアウトしたときなどにプッシュトークンを登録解除する方法を示しています。
pushService.unregisterPushtoken(token, "PushAppName", {
Log.v(TAG, "Successfully unregistered push token")
}, { e ->
Log.e(TAG, "Error unregistering push", e)
})