NowPushService 클래스 - Android
NowPushService 클래스는 푸시 알림 서비스와의 상호 작용을 가능하게 하는 기능을 제공합니다.
| 이름 | 설명 |
|---|---|
| 구성 | 서비스와 연결할 서비스 구성입니다. 데이터 형식: NowServiceConfiguration |
NowPushService - handlePush(remoteMessage: RemoteMessage, successCallback: Consumer<NowPushPayload>, errorCallback: Consumer<Throwable>)
푸시 알림 요청을 처리합니다.
주:
현재 유일하게 구현된 푸시 알림 유형은
NowPushVirtualAgent입니다. 다른 전달된 푸시 알림 유형은 NotSupportedPushError 객체를 반환합니다.| 이름 | 유형 | 설명 |
|---|---|---|
| 원격 메시지 | 원격 메시지 | com.google.firebase.messaging.FirebaseMessagingService.onMessageReceived에서 받은 알림입니다. 자세한 내용은 Android 앱에서 메시지 받기를 참조하세요. |
| 성공 콜백 | 소비자 <NowPushPayload> | 처리 NowPushPayload 된 대상을 반환할 콜백입니다. |
| 오류 콜백 | 소비자 <Throwable> | 발생한 오류를 반환할 콜백입니다. NotSupportedPushError 오류가 발생하면 모바일 SDK에서 알림 유형을 지원하지 않는 것이므로 모바일 SDK 프레임워크 외부에서 처리해야 합니다. |
| 유형 | 설명 |
|---|---|
| 없음 |
이 예제에서는 onMessageReceived()를 재정의하고 NowPushService에 전달하는 RemoteMessage 방법을 보여줍니다. 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: 문자열, pushApp: 문자열, successCallback: 실행 가능, errorCallback: 소비자<Throwable>)
현재 Android 장치 및 지정된 애플리케이션에 대한 푸시 알림을 식별하는 데 사용되는 인스턴스에 고유 Firebase 토큰을 ServiceNow 등록합니다.
인스턴스가 ServiceNow 애플리케이션 Android 에서 알림을 수신하기 위해 알림 장치를 생성하려면 이 토큰을 등록해야 합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 푸시토큰 | 문자열 | Firebasecom.google.firebase.messaging.FirebaseMessaging.getToken 또는 com.google.firebase.messaging.FirebaseMessagingService.onNewToken에서 검색한 토큰입니다. |
| 푸시앱 | 문자열 | 연결된 ServiceNow 인스턴스의 푸시 애플리케이션 테이블에 지정된 푸시 애플리케이션의 이름입니다. |
| 성공 콜백 | 실행 가능 | 토큰 등록에 성공하면 실행되는 콜백입니다. |
| 오류 콜백 | 소비자 <Throwable> | 토큰 등록이 실패할 때 실행되는 콜백입니다. |
| 유형 | 설명 |
|---|---|
| 없음 |
이 예제에서는 현재 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: 문자열, pushApp: 문자열, successCallback: 실행 가능, errorCallback: 소비자<Throwable>)
연결된 ServiceNow 인스턴스와 함께 지정된 Firebase 푸시 토큰의 등록을 취소합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 푸시토큰 | 문자열 | Firebase 등록을 취소할 토큰입니다. com.google.firebase.messaging.FirebaseMessaging.getToken 또는 com.google.firebase.messaging.FirebaseMessagingService.onNewToken에 의해 검색됩니다. |
| 푸시앱 | 문자열 | 등록 취소할 토큰과 연결된 푸시 애플리케이션의 이름입니다. 이 정보는 연결된 ServiceNow 인스턴스의 푸시 애플리케이션 테이블에 저장됩니다. |
| 성공 콜백 | 실행 가능 | 토큰 등록 취소에 성공하면 실행되는 콜백입니다. |
| erro rCallback | 소비자 <Throwable> | 토큰 등록 취소가 실패할 때 실행되는 콜백입니다. |
| 유형 | 설명 |
|---|---|
| 없음 |
이 코드 예제에서는 사용자가 애플리케이션에서 로그아웃하는 경우와 같이 푸시 토큰을 등록 취소하는 방법을 보여 줍니다.
pushService.unregisterPushtoken(token, "PushAppName", {
Log.v(TAG, "Successfully unregistered push token")
}, { e ->
Log.e(TAG, "Error unregistering push", e)
})