iOSのプッシュ通知の設定方法

iOSのプッシュ通知の設定方法

お知らせ:当社は、お客様により充実したサポート情報を迅速に提供するため、本ページのコンテンツは機械翻訳を用いて日本語に翻訳しています。正確かつ最新のサポート情報をご覧いただくには、本内容の英語版を参照してください。

PageSense では、ダッシュボードからアプリケーションにプッシュ通知を送信できます。最初のプッシュ通知をアプリケーションに送信するには、次の手順に従ってください。リモートプッシュ通知をテストするには、実機の iOS デバイスを接続する必要があることに注意してください。リモートプッシュ通知はシミュレータでは動作しません。

手順 1: プッシュ通知を設定する

PageSense ダッシュボードから iOS アプリケーションにプッシュ通知を送信するには、まず Apple Developer アカウントからキーまたは証明書をアップロードする必要があります。プッシュ通知を設定する方法は 2 通りあります。

.p8 ファイルを取得してアップロードする方法(推奨)
  1. Apple Developer アカウントにアクセスし、Certificates, Identifiers & Profiles















  1. 左メニューの Keys セクションに移動し、追加ボタン(+) をクリックして新しいキーを作成します。













  1. キーの一意の名前を入力し、Apple Push Notification service (APNs) のチェックボックスを選択します。[Continue] をクリックし、続いて [Register] をクリックします。


  1. キー ID を控えて保存します。[Download
    をクリックしてキーを生成し、保存します。
    Notesメモ: キーは一度しかダウンロードできないため、必ず安全な場所に保管してください。Auth キーファイルの名前は変更せず、そのまま手順 6 で説明するように PageSense ダッシュボードへアップロードしてください。

  2. 次に PageSense ダッシュボードを開き、設定 > チャネル > モバイルプッシュ に移動します。[iOS] タブを選択し、[認証タイプ] で [Provider authentication token (Auth Key)] を選択します(下図参照)。



  3. ここで、Auth キーをアップロード するオプションが表示されます。Apple Developer アカウントからダウンロードした .p8 キー をアップロードし、Team IDバンドル ID を入力します。

  4. Team ID は Apple Developer アカウントから取得できます。 Membership タブを開き、Team ID を確認してください。アプリのバンドル ID は Xcode で確認できます。プッシュ通知の送信方法として適切なオプションを選択し、[保存] をクリックします。

以下の理由から、.p12 証明書をアップロードするのではなく、APNs Auth キーを作成してアップロードすることを推奨します。

i) プッシュ証明書を毎年再生成する必要がありません。

ii) 1 つの Auth キーをすべてのアプリで使用できるため、証明書を個別に管理する手間を省けます。

.p12 証明書を取得してアップロードする方法

すでに .p8 ファイルの設定が完了している場合は、この手順をスキップして直接手順 2に進んでください。

別の方法として、Apple の旧認証方式(.p12 SSL 証明書)を利用することもできます。これらの証明書は毎年自動的に有効期限が切れるため、再生成して再度アップロードする必要があります。
  1. 以下にログインします: Apple Developer アカウントにログインし、Program Resourcesタブに移動して、Certificates, Identifiers & Profilesを選択します。

  1. [Certificates] タブを選択し、['+'] アイコンから新しい証明書を追加します。



  2. [Apple Push Notification service SSL] をServicesの下から選択し、[Continue] をクリックします。


  3. プロジェクトの App IDをドロップダウンから選択します。

  4. Apple から証明書署名要求(CSR)ファイルのアップロードを求められます。Mac で キーチェーンアクセス (Keychain Access)を開き、証明書アシスタント (Certificate Assistant)に移動します。[認証局に証明書を要求 (Request a Certificate from a Certificate Authority)] を選択します。



    このオプションを選択すると、証明書アシスタントが開きます。[Request is] で [Saved to Disk] を選択し、メールアドレス欄は空白のままにします。[Continue] をクリックします。

  5. 作成した CSR ファイルを、手順 5 で求められたとおり Apple Developer アカウントにアップロードします。

  6. 作成された証明書をダウンロードし、キーチェーンアクセス (Keychain Access) アプリケーションで開きます。

  7. Keychain Access で、My Certificatesをクリックし、プッシュ証明書を探します。


  8. 該当する証明書を選択し、右クリックして.p12 ファイルとしてエクスポートし、一時的なパスワードを設定します。(このパスワードは、証明書を PageSense ダッシュボードにアップロードする際に必要になります)。



  9. ダッシュボードで 管理設定 > 設定 に移動し、Apple Push Certificate セクションで証明書ファイルをアップロードします。パスフレーズには、先ほど設定した一時パスワードを入力します。


    InfoInfo: ダッシュボードには、配布用プロビジョニングプロファイルのアプリに対して、開発用または本番用のいずれか一方のプッシュ証明書をアップロードできますが、有効にできるプッシュ証明書は同時に 1 つだけです。
    アプリが App Store で公開された後に、本番環境でプッシュ通知をテストしたい場合は、開発環境用に別のアプリグループまたはアプリを用意することをおすすめします。

手順 2: Push 通知機能を有効にする

Xcode プロジェクト設定で、Targetを選択した状態で、Signing & Capabilities タブをクリックし、+ Capabilityボタンをクリックして追加します。フィルター項目に'push'と入力し、Push 通知を選択します。これにより、プロジェクトでPush 通知 Capabilityが有効になります。

手順 3: Push 通知の登録

1. まず、App デリゲートでUserNotifications をインポートします。Push 連携用のコードは App デリゲートファイルのメインスレッド上に記述する必要があります。PageSense SDK で push 通知を送信できるようにするには、iOS の連携するまでのすべての手順を、 クイックスタートガイドドキュメントに従って完了している必要があります。  アプリケーションで push 通知を設定するには、 UNUserNotificationCenterDelegateAppDelegate に実装します。
2. デバイスを APNS に登録するには、次のコードをapplication:didFinishLaunchingWithOptions:
デリゲートメソッドに追加します(App デリゲート内)。
  1. func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication。LaunchOptionsKey: Any]?) -> Bool {
  2.      // アプリ起動後にカスタマイズを行うための処理ポイント。
  3. PageSense。連携する()
  4. UNUserNotificationCenter。現在().委任 = self
  5. registerForPushNotifications()
  6. 返品する 真
  7. }
  8. func registerForPushNotifications() {
  9. UNUserNotificationCenter。現在().requestAuthorization(設定: [
  10. .badge, .sound, .注意
  11. ]) { granted, _ in
  12. guard granted else { 返品する }
  13. DispatchQueue。main。async {
  14. UIApplication。shared。registerForRemoteNotifications()
  15. }
  16. }
  17. }
  18. func application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) {
  19. PageSense。setPushToken(deviceToken: deviceToken)
  20. }
これは iOS アプリケーションに push 通知を送信するための必須手順です。アプリが初めてこの認可を要求したとき、システムはユーザーに許可または拒否を求めるプロンプトを表示し、ユーザーの応答を保存します。

Push インプレッション

これで、ユーザーの iOS デバイスに配信された push 通知を計測できるようになりました。iOS で Push インプレッションを計測するには、通知サービス Extension を有効にする必要があります。




通知サービス Extension は、アプリバンドルに埋め込まれた独立したバイナリです。新しい push 通知を表示する前に、システムはアプリケーションで通知 Viewed メソッドを呼び出せるよう、この通知サービス Extension を呼び出します。通知サービスファイルのdidReceive 関数内に、次のコードを記述します。

  1. override func didReceive(_ request: UNNotificationRequest, withContentHandler contentHandler: @escaping (UNNotificationContent) -> 無効) {
  2. self。contentHandler = contentHandler
  3. bestAttemptContent = (request。content。mutableCopy() as? UNMutableNotificationContent)

  4. if let bestAttemptContent = bestAttemptContent {
  5.            // ここで通知コンテンツを変更します...
  6. bestAttemptContent。件名 = '\(bestAttemptContent。件名) [更新済み]'
  7.             
  8. contentHandler(bestAttemptContent)
  9.             
  10. PageSense。trackPushNotificationReceived(notificationContent: request。content)
  11. }
  12. }

このドキュメントは、各手順を順を追ってご案内できるよう設計されています。さらにサポートが必要な場合やご不明な点がありましたら、遠慮なく support@zohopagesense.com までお問い合わせください。いつでもお手伝いいたします。