---
sourceDocument: 호주 API 참조
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/ko-KR/api-reference

 Release :

    - australia

ft:locale :

    - ko-KR

ft:publication_title :

    - 호주 API 참조

ft:clusterId :

    - crapiref

bundleId :

    - crapiref

workflow :

    - Creator


---

# NowPushService 클래스 - iOS

# NowPushService 클래스 - iOS {#ariaid-title1}

* 릴리스 버전: Australia
* 
* 업데이트 날짜 2026년 03월 12일
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 소요 시간: 6분

NowPushService 클래스는 푸시 알림 서비스와의 상호작용을 가능하게 하는 기능을 제공합니다.
{#NowPushServiceiOSAPI__entry__2}

| 이름 | 설명 |
|-|-|
| 구성 | 서비스가 초기화될 때 제공된 구성 설정입니다. 데이터 유형: [NowServiceConfiguration](https://servicenow-prod.fluidtopics.net/M3IfRLAWtSzjLKNYBH_PRQ#NowServiceConfigurationiOSStruct "NowServiceConfiguration 구조는 기능 서비스에 대한 구성 정보를 정의합니다.") |
[표 1. 속성]

## NowPushService - registerPushToken(_token: 데이터, pushAppName: 문자열, 환경: NowPushEnvironment, 완료: @escaping(결과\<데이터, NowPushError\>) -\> 무효) {#ariaid-title2}

현재 iOS 장치 및 지정된 애플리케이션에 대한 푸시 알림을 식별하는 데 사용되는 인스턴스에 ServiceNow 고유 토큰을 등록합니다.
{#NPushServ-registerPushToken_O_S_O_O__table_cr3_pgh_trb__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| _token | 데이터 | 등록할 밀어넣기 토큰의 데이터 객체입니다. 개발자 사이트에서 가져온 토큰입니다 Apple . 자세한 내용은 개발자 안내서iOS를 Mobile SDK 참조하십시오. |
| pushAppName | 문자열 | 이 토큰이 등록될 푸시 애플리케이션의 이름입니다. |
| 환경 | NowPushEnvironment | 토큰이 등록되는 환경입니다. 유효한 값은 다음과 같습니다. * 프로덕션 * 샌드박스 |
| 완료 | @escaping(결과\<데이터, NowPushError\>) → 무효 | 토큰 등록을 시도한 후 실행할 완성 핸들러입니다. * 성공: iOS 푸시 알림 인증서. * 오류: NowPushError - 토큰을 등록하려고 할 때 발생한 오류에 대한 정보입니다. 가능한 값: * 디코딩: 디코딩 오류가 발생했습니다. * httpRequestFailure: http 호출이 성공하지 못할 때마다 반환되는 일반 오류입니다(2xx). * notAuthorized: 요청자에게 지정된 푸시 알림 작업을 수행할 권한이 없습니다. * unsupportedData: 푸시 페이로드가 잘못되었습니다. {#NPushServ-registerPushToken_O_S_O_O__ul_pmt_m5h_trb} {#NPushServ-registerPushToken_O_S_O_O__ul_lxy_k3h_trb} |
[표 2. 매개변수]

{#NPushServ-registerPushToken_O_S_O_O__table_cr3_pgh_trb} {#NPushServ-registerPushToken_O_S_O_O__table_dr3_pgh_trb__entry__2}

| 유형 | 설명 |
|-|-|
| 없음 |   |
[표 3. 반환]

{#NPushServ-registerPushToken_O_S_O_O__table_dr3_pgh_trb}  
이 예시에서는 TestPushApp 애플리케이션에 대한 푸시 알림 토큰을 등록하는 방법을 보여줍니다.

    func registerForPushNotifications(deviceToken: Data) {
      pushService.registerPushToken(deviceToken,
          pushAppName: "TestPushApp",
          environment: environment) { [weak self] result in
        guard let self = self else { return }
        switch result {
          case .success:
            UserDefaults.standard.set(true, forKey: "pushNotificationsRegistered")
            self.pushRegistrationState = .registrationSuccess
          case .failure:
            UserDefaults.standard.set(false, forKey: "pushNotificationsRegistered")
            self.pushRegistrationState = .registrationFailed
        }
      }
    }

## NowPushService - unregisterPushToken(_token: 데이터, pushAppName: 문자열, 환경: NowPushEnvironment, 완료: @escaping(결과\<데이터, NowPushError\>) -\> 무효) {#ariaid-title3}

이전에 등록된 푸시 토큰의 등록을 취소합니다.
{#NPushServ-unregisterPushToken_O_S_O_O__table_fvk_rjh_trb__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| _token | 데이터 | 등록 취소할 밀어넣기 토큰의 데이터 객체입니다. |
| pushAppName | 문자열 | 이 토큰이 등록 취소되는 푸시 애플리케이션의 이름입니다. |
| 환경 | NowPushEnvironment | 토큰이 등록되는 환경입니다. 유효한 값은 다음과 같습니다. * 프로덕션 * 샌드박스 |
| 완료 | @escaping(결과\<데이터, NowPushError\>) → 무효 | 토큰 등록 취소를 시도한 후 실행할 완성 핸들러입니다. * 성공: API 응답 데이터입니다. * 오류: `NowPushError` - 토큰 등록을 취소하려고 할 때 발생한 오류에 대한 정보입니다. 가능한 값: * 디코딩: 디코딩 오류가 발생했습니다. * httpRequestFailure: http 호출이 성공하지 못할 때마다 반환되는 일반 오류입니다(2xx). * notAuthorized: 요청자에게 지정된 푸시 알림 작업을 수행할 권한이 없습니다. * unsupportedData: 푸시 페이로드가 잘못되었습니다. {#NPushServ-unregisterPushToken_O_S_O_O__ul_pmt_m5h_trb} {#NPushServ-unregisterPushToken_O_S_O_O__ul_lxy_k3h_trb} |
[표 4. 매개변수]

{#NPushServ-unregisterPushToken_O_S_O_O__table_fvk_rjh_trb} {#NPushServ-unregisterPushToken_O_S_O_O__table_gvk_rjh_trb__entry__2}

| 유형 | 설명 |
|-|-|
| 없음 |   |
[표 5. 반환]

{#NPushServ-unregisterPushToken_O_S_O_O__table_gvk_rjh_trb}  
이 예시에서는 TestPushApp 애플리케이션과 연결된 푸시 알림 토큰의 등록을 취소하는 방법을 보여줍니다.

    func unregisterFromPushNotifications(deviceToken: Data) {
      pushService.unregisterPushToken(deviceToken, pushAppName: "TestPushApp", environment: environment) { [weak self] result in
        guard let self = self else { return }
        switch result {
          case .success:
            UserDefaults.standard.set(false, forKey: "pushNotificationsRegistered")
            self.pushRegistrationState = .unregisterSuccess
          case .failure:
            self.pushRegistrationState = .unregisterFailed
        }
      }
    }

## NowPushService - payloadFromUserInfo(_userInfo: \[AnyHashable: Any\]) {#ariaid-title4}

`userInfo` 키-값 쌍을 `NowPushPayload` 객체로 구문 분석합니다.
{#NPushServ_payloadFromUserInfo_O__table_vqs_mkh_trb__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| _userInfo | \[AnyHashable: 임의\] | 푸시 알림의 일부로 수신된 푸시 페이로드 콘텐츠입니다. |
[표 6. 매개변수]

{#NPushServ_payloadFromUserInfo_O__table_vqs_mkh_trb} {#NPushServ_payloadFromUserInfo_O__table_wqs_mkh_trb__entry__2}

| 유형 | 설명 |
|-|-|
| 결과\<NowPushPayload, NowPushError\> | 페이로드 구문 분석의 결과를 반환합니다. * 성공: `NowPushPayload` 객체를 구문 분석했습니다. * 실패: `NowPushError` - 지정된 사용자 페이로드를 구문 분석하는 동안 발생한 오류에 대한 정보입니다. 가능한 값: * 디코딩: 디코딩 오류가 발생했습니다. * httpRequestFailure: http 호출이 성공하지 못할 때마다 반환되는 일반 오류입니다(2xx). * notAuthorized: 요청자에게 지정된 푸시 알림 작업을 수행할 권한이 없습니다. * unsupportedData: 푸시 페이로드가 잘못되었습니다. {#NPushServ_payloadFromUserInfo_O__ul_pmt_m5h_trb} |
[표 7. 반환]

{#NPushServ_payloadFromUserInfo_O__table_wqs_mkh_trb}  
이 예시에서는 사용자 페이로드를 구문 분석하는 방법을 보여줍니다.

    func userNotificationCenter(_ center: UNUserNotificationCenter,
        didReceive response: UNNotificationResponse,
        withCompletionHandler completionHandler: @escaping () -> Void) {
      guard let pushService = pushService else {
        completionHandler()
        return
      }
      let userInfo = response.notification.request.content.userInfo
      _ = pushService.payloadFromUserInfo(userInfo)
        .flatMap(handleNowPushPayload)
    }


    func handleNowPushPayload(_ payload: NowPushPayload) -> Result<Void, NowPushError> {
      guard payload is NowPushVirtualAgent else {
        return .failure(NowPushError.unsupportedData)
      }
      launchVirtualAgent()
      return .success(())
    }


