NowPushService 클래스 - Android

  • 릴리스 버전: Zurich
  • 업데이트 날짜 2025년 07월 31일
  • 소요 시간: 5분
  • NowPushService 클래스는 푸시 알림 서비스와 상호작용할 수 있는 기능을 제공합니다.

    표 1. 속성
    이름 설명
    구성 서비스와 연결할 서비스 구성입니다.

    데이터 유형: NowServiceConfiguration

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

    푸시 알림 요청을 처리합니다.

    주:
    현재 유일하게 구현된 푸시 알림 유형은 NowPushVirtualAgent입니다. 전달된 다른 푸시 알림 유형은 NotSupportedPushError 객체를 반환합니다.
    표 2. 매개변수
    이름 유형 설명
    원격 메시지 원격 메시지 com.google.firebase.messaging.FirebaseMessagingService.onMessageReceived에서 수신한 알림입니다. 자세한 내용은 Android 앱에서 메시지 받기를 참조하세요.
    성공 콜백 소비자 <NowPushPayload> 처리된 NowPushPayload 대상을 반환할 콜백입니다.
    오류 콜백 소비자 <투척 가능> 발생한 오류를 반환할 콜백입니다. 오류 NotSupportedPushError가 발생하면 알림 유형은 모바일 SDK에서 지원되지 않으며 모바일 SDK 프레임워크 외부에서 처리되어야 합니다.
    표 3. 반환
    유형 설명
    없음

    이 예제에서는 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: String, pushApp: String, successCallback: Runnable, errorCallback: Consumer<Throwable>)

    현재 Android 장치 및 지정된 애플리케이션에 대한 푸시 알림을 식별하는 데 사용되는 인스턴스와 함께 ServiceNow 고유 Firebase 토큰을 등록합니다.

    ServiceNow 인스턴스가 애플리케이션에서 알림을 수신하기 위해 장치에서 알림을 Android 생성하려면 이 토큰을 등록해야 합니다.

    표 4. 매개변수
    이름 유형 설명
    푸시 토큰 문자열 Firebasecom.google.firebase.messaging.FirebaseMessaging.getToken 또는 com.google.firebase.messaging.FirebaseMessagingService.onNewToken으로 검색된 토큰입니다.
    push앱 문자열 연결된 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. 매개변수
    이름 유형 설명
    푸시 토큰 문자열 Firebase 등록을 취소할 토큰입니다. com.google.firebase.messaging.FirebaseMessaging.getToken 또는 com.google.firebase.messaging.FirebaseMessagingService.onNewToken으로 검색됩니다.
    push앱 문자열 등록 취소할 토큰과 연결된 밀어넣기 애플리케이션의 이름입니다. 이 정보는 연결된 ServiceNow 인스턴스의 밀어넣기 애플리케이션 테이블에 저장됩니다.
    성공 콜백 실행 가능 토큰 등록 취소에 성공하면 실행되는 콜백입니다.
    오류 rCallback 소비자 <투척 가능> 토큰 등록 취소가 실패할 때 실행되는 콜백입니다.
    표 7. 반환
    유형 설명
    없음

    이 코드 예제에서는 사용자가 애플리케이션에서 로그아웃할 때와 같이 푸시 토큰을 등록 취소하는 방법을 보여 줍니다.

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