iOSプッシュ通知
Catalystは、あなたとAppleの間の仲介者として機能することで、iOSアプリにプッシュ通知を組み込む作業をはるかに容易にします。必要な設定を行った後、Catalystはあなたに代わってプッシュメッセージをAppleに転送し、アクションへのレスポンスを提供します。プッシュ通知フローの一般的なアーキテクチャについては、アーキテクチャヘルプセクションで学ぶことができます。
主要概念
iOSプッシュ通知の主要概念を以下に説明します。
APNsとデバイストークン
iOSプッシュ通知はApple Push Notifications service(APNs)によって処理されます。アプリがユーザーのデバイスにインストールされるとAPNsサーバーに接続され、サーバーがAPNsに転送する通知をユーザーが受信できるようになります。Catalystはサーバーの役割を担います:プッシュメッセージを取得し、あなたに代わってAPNsに転送し、APNsがクライアントデバイスにルーティングします。
このプロセスにはデバイストークンが関与しており、グローバルに一意で単一のアプリとデバイスの組み合わせを識別します。ユーザーデバイスがアプリを起動するたびに、APNsとの接続を確立するリクエストが送信されます。正常に確立されると、APNsからデバイストークンが提供され、それをCatalystに転送して安全に保存できます。このプロセスにより、アプリとデバイス間のチャネルが確立されます。詳細については、Appleの公式開発者ドキュメントで学ぶことができます。
このプロセスの最初のステップは、Appleが発行するAPNs証明書を取得し、Catalystにアップロードすることです。APNs証明書により、開発者はAppleデバイスにインストールされたアプリにプッシュ通知データを送信できます。この証明書をCatalystにアップロードすると、CatalystサーバーとAPNs間の安全な接続が確立されます。完全な手順はこちらを参照してください。
開発モードと本番モードでのテスト
Catalystでは、iOSのプッシュ通知を開発と本番の2つの異なるモードでテストできます。これらはサンドボックスモードとライブモードと考えることができます。Appleは両方のモードに異なるサーバーをサポートおよび提供しています。
Catalystコンソールで開発モードを選択してテスト通知を送信すると、CatalystはAppleのテストサーバーに通知を転送します。同様に、本番モードを選択してテスト通知を送信すると、CatalystはAppleのライブサーバーに通知を転送します。
テスト通知がデバイスに正常に配信されれば、APNs接続はアプリと正しく設定されています。アプリから通知が送信された場合、受信するAPIレスポンスから配信ステータスを判断できます。
ユーザーデバイスの登録
iOSアプリの場合、プッシュ通知を送信するデバイスをAPNsに登録する必要があります。ユーザーはアプリがプッシュ通知を送信するための明示的な許可を提供する必要もあります。これは、ユーザーが許可または拒否できる許可プロンプトを送信することで、アプリのロジックで処理できます。許可が提供された後、デバイスにテスト通知を送信できます。
iOSプッシュ通知の要素
Appleはプッシュ通知に含めることができるさまざまなリッチメディアと要素をサポートしています。Catalystは主にテキストコンテンツを含むiOS通知をサポートしています。オーディオやビデオの添付ファイル、画像、ハイパーリンク、コールトゥアクションボタンなどの他の要素もJSONパッケージとして含めることができます。CatalystはiOSプッシュ通知での通知バッジカウントもサポートしています。これにより、通知バッジに未読の通知数が表示されます。
iOSプッシュ通知ではさまざまなアクションも実行できます。例えば:
- ユーザーに表示される前の通知コンテンツの変更
- バックグラウンドタスクの実行
- 通知のスレッドへのグループ化
- _Like_ボタンなどのインタラクティブUIの通知への提供
ただし、iOSプッシュ通知のアクションを定義する前に、Appleが定義する基準を認識し、ガイドラインに従う必要があります。これに関する詳細、および文字数、ペイロード制限、その他の詳細については、リモート通知の生成に関するAppleの公式ドキュメントを参照してください。
iOSプッシュ通知の設定と登録
iOSアプリのCatalyst Push Notificationサービスの設定と登録手順を、論理的な順序で以下に示します:
ステップ1:AppleでiOSアプリを登録する
APNs証明書を取得する前に、Apple開発者アカウントにサインインしてiOSアプリをAppleに登録する必要があります。アプリIDを作成する際、iOS SDKをダウンロードした際にCatalystで指定したものと同じバンドルIDをアプリに指定してください。詳細については、AppleのDeveloper Account Helpページを参照してください。
ステップ2:Keychain Accessから証明書を生成する
Mac OSターミナルからCertificate Signing Request(CSR)を生成し、Apple Push Notifications Portalにアップロードする必要があります。_Keychain Access_からCSRを生成するには:
-
Mac OSターミナルで_Keychain Access_アプリケーションを起動します。
-
Keychain Access < Certificate Assistant > Request a Certificate From a Certificate Authorityを選択します。
-
メールアドレスを入力し、証明書をディスクに保存するオプションにチェックを入れます。
-
証明書を保存します。
ステップ3:Appleが提供するAPNs証明書を生成してダウンロードする
CSRを生成した後、Apple開発者アカウントを開いて以下の手順でAPNs証明書を生成します:
-
_App IDs_リストからアプリを選択し、Editをクリックします。
-
_Development SSL Certificates_セクションで、Create Certificateをクリックし、Continueをクリックします。
-
前のステップで作成したCSRファイルをアップロードし、Continueをクリックします。
-
生成されたAPNs証明書をダウンロードし、Doneをクリックします。
ステップ4:ダウンロードしたAPNs証明書を_.p12_形式に変換する
Appleからダウンロードした APNs証明書は._cer_形式であり、Catalystにアップロードする前に._p12_に変換する必要があります。._cer_証明書を._p12_形式に変換するには、以下の方法を使用します:
-
ダウンロードした証明書をMac上でダブルクリックして_Keychain Access_にインストールします。
-
_Keychain Access_を開き、_Certificates_セクションでインストールした証明書を見つけます。
-
証明書の横の矢印をクリックしてキーを表示し、選択します。
-
Fileを選択し、Export Items…をクリックします。
-
エクスポートファイルの名前を指定します。ファイルを._p12_形式で保存します。
-
証明書を保護するためのパスワードを指定します。Catalyst Push Notificationサービスへの登録時にこのパスワードが必要になります。OKをクリックします。
-
エクスポートを有効にするためにMacのパスワードを入力します。Allowをクリックします。
APNs証明書が._p12_形式で保存されました。
APNs証明書をCatalystコンソールにアップロードし、Catalyst Push Notificationサービスに登録できるようになりました。これにより、iOSアプリのCatalystとAPNs間の接続が確立されます。手順を以下に説明します。
ステップ5:CatalystでiOS Push Notificationサービスに登録する
APNs証明書をアップロードし、Catalyst Push Notificationサービスに登録するために必要な情報を提供できます。
CatalystでiOSアプリのプッシュ通知に登録するには:
- CloudScaleに移動し、_Notify_の下のPush Notificationsをクリックします。
- iOSタブをクリックし、Configureをクリックします。
- Appleから生成したAPNs証明書をアップロードします。アプリのバンドルIDと、前のステップでAPNs証明書に対して作成したパスワードも入力する必要があります。Enrollをクリックします。
これにより、Catalyst iOS Push Notificationサービスに登録されます。APNs証明書がアップロードされ資格情報が提供されると、CatalystはiOSアプリのAPNsとの接続を確立します。その後、モバイルデバイスを登録した後、コンソールを使用してテスト通知を送信できます。
登録後、テストモバイルデバイスを登録する必要があります。これにより、デバイスは送信されたプッシュ通知を受信できるようになります。
ステップ6:テストモバイルデバイスを登録する
iOSモバイルデバイスをテストデバイスとして登録するには、以下のコードスニペットに示すように、必要なパラメータでregisterNotification()メソッドを呼び出す必要があります:
ZCatalystApp.shared.registerNotification(token: e5********21, appID: 12345678, testDevice: false) { error in
if let error = error
{
return print("Error : \( error )")
}
print("Registered successfully")
}
パラメータ:
-
token:APNSでリモートプッシュ通知用にデバイスを登録した後に取得したデバイストークン。
-
appID:CatalystでiOSアプリを登録した際にCatalystがアプリに対して生成したAppConfigurationDevelopment.plist / AppConfigurationProduction.plistファイルから取得したnotificationAppID。
-
testDevice:テストデバイスの場合はtrueに、本番デバイスの場合はfalseに設定します。
モバイルデバイスが登録された後、ユーザーは許可プロンプトからAllowをクリックして、アプリがプッシュ通知を送信する許可を提供する必要があります。これが完了すると、デバイスにテスト通知を送信できるようになります。
モバイルデバイスの登録解除
以下のコードスニペットを使用して、Catalyst iOSプッシュ通知に登録されたデバイスの登録を解除できます。
ZCatalystApp.shared.deregisterNotification(token: e5********21, appID: 1234567, testDevice: true) { error in
if let error = error
{
return print("Error : \( error )")
}
print("UnRegistered successfully")
}
パラメータ:
-
token:APNSでリモートプッシュ通知用にデバイスを登録した後に取得したデバイストークン。
-
appID:CatalystでiOSアプリを登録した際にCatalystがアプリに対して生成したAppConfigurationDevelopment.plist / AppConfigurationProduction.plistファイルから取得したnotificationAppID。
-
testDevice:テストデバイスの場合はtrueに、本番デバイスの場合はfalseに設定します。
iOSプッシュ通知のテスト
Catalystでは、前のステップでテストデバイスモードで登録されたすべてのユーザーデバイスにテキスト形式のテスト通知を送信できます。コンソールから本番モードと開発モードの両方で通知を送信できます。Appleはこれらのモードごとに異なるサーバーを割り当てています。
デバイスの登録時にdevelopment plistファイルのappIDを設定した場合、それらはAppleの開発モードに追加されます。同様に、production plistファイルのappIDを設定した場合、本番モードに追加されます。
APIからもテストプッシュ通知を送信できます。
登録済みのすべてのテストデバイスにiOSアプリでテストプッシュ通知を送信するには:
-
プロジェクトのPush NotificationsコンポーネントのiOSセクションに移動します。
-
ProductionまたはDevelopmentタブのいずれかをクリックします。
-
プッシュ通知のメッセージを入力し、Sendをクリックします。
メッセージは、iOSアプリに登録されたテストユーザーデバイスにプッシュ通知として送信されます。
最終更新日 2026-02-23 18:09:41 +0530 IST
Yes
No
Send your feedback to us



