---
sourceDocument: オーストラリア API リファレンス
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/ja-JP/api-reference

 Release :

    - australia

ft:locale :

    - ja-JP

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/uTGNTZYlh7StSnwaCDzTxQ#NowServiceConfigurationiOSStruct "NowServiceConfiguration 構造体は、フィーチャ サービスの構成情報を定義します。") |
[表 : 1. プロパティ]

## NowPushService - registerPushToken(_token: Data, pushAppName: String, environment: NowPushEnvironment, completion: @escaping (Result\<Data, NowPushError\>) -\> Void) {#ariaid-title2}

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

| 名前 | タイプ | 説明 |
|-|-|-|
| _token | データ | 登録するプッシュトークンのデータオブジェクト。これは、 Apple 開発者サイトから取得したトークンです。詳細については、『 Mobile SDK 開発者ガイド - iOS』を参照してください。 |
| pushAppName | 文字列 | このトークンが登録されているプッシュアプリケーションの名前。 |
| 環境 | NowPushEnvironment | トークンが登録されている環境。 有効な値： * 本番 * サンドボックス |
| 完了 | @escaping (result\<data, NowPushError\>) → void | トークンの登録が試行された後に実行する補完ハンドラー。 * 成功: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: Data, pushAppName: String, environment: NowPushEnvironment, completion: @escaping (Result\<Data, NowPushError\>) -\> Void) {#ariaid-title3}

以前に登録したプッシュトークンを登録解除します。
{#NPushServ-unregisterPushToken_O_S_O_O__table_fvk_rjh_trb__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| _token | データ | 登録解除するプッシュトークンのデータオブジェクト。 |
| pushAppName | 文字列 | このトークンが登録解除されるプッシュ アプリケーションの名前。 |
| 環境 | NowPushEnvironment | トークンが登録されている環境。 有効な値： * 本番 * サンドボックス |
| 完了 | @escaping (result\<data, NowPushError\>) → void | トークンの登録解除が試行された後に実行する補完ハンドラー。 * 成功: 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}

| タイプ | 説明 |
|-|-|
| Result\<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(())
    }


