メニュー
Amazon Simple Notification Service
開発者ガイド (API Version 2010-03-31)

Apple Push Notification Service の使用開始

Apple Push Notification Service (APNS) は、iOS および OS X アプリケーションにプッシュ通知メッセージを送信できるようにするサービスです。このセクションでは、APNS の前提条件を取得し、Amazon SNS および APNS を使用してプッシュ通知メッセージを送信する方法について説明します。

APNS の前提条件

Amazon SNS および APNS を使用してモバイルデバイスにプッシュ通知を送信するには、以下を取得する必用があります。

  • APNS に登録された iOS アプリ

  • APNS SSL 証明書

  • アプリケーションプライベートキー

  • デバイストークン

すでにこれらの前提条件を満たしている場合は、Amazon SNS コンソールまたは Amazon SNS API を使用して iOS アプリにプッシュ通知メッセージを送信できます。Amazon SNS コンソールの使用方法の詳細については、「Amazon SNS モバイルプッシュの使用」を参照してください。Amazon SNS API の使用方法の詳細については、「Amazon SNS および APNS を使用して iOS アプリにプッシュ通知メッセージを送信する」を参照してください。

ステップ 1: iOS アプリを作成する

iOS アプリへのプッシュ通知メッセージの送信を開始するには、Apple 開発者アカウントを持ち、App ID (アプリケーション ID) の作成、iOS デバイスの登録、および iOS プロビジョニングプロファイルの作成を完了している必用があります。詳細については、iOS Developer Library の「Local and Remote Notification Programming Guide」を参照してください。

注記

iOS アプリを APNS に登録していない場合は、手始めに AWS が提供するサンプル iOS アプリをテンプレートとして使用することもできます。詳細については、「ステップ 5: デバイス トークンを取得する」を参照してください。

ステップ 2: APNS SSL 証明書を取得する

Amazon SNS には、Amazon SNS API の使用時にアプリの .pem 形式の APNS SSL 証明書が必要です。.p12 形式の証明書は Amazon SNS コンソールでアップロードできます。Amazon SNS によってその証明書は .pem に変換され、コンソールに表示されます。Mac コンピュータ上の Keychain Access アプリケーションを使用して APNS SSL 証明書をエクスポートします。SSL 証明書の詳細については、Apple の『Local and Push Notification Programming Guide』の「Provisioning and Development」を参照してください。

APNS SSL 証明書をダウンロードするには

  1. Apple の Developer ウェブサイトで、[Member Center]、[Certificates, Identifiers and Profiles]、[Certificates] の順にクリックします。

  2. iOS APNS 開発用に作成した証明書を選択し、[Download] をクリックして、ファイル (拡張子は .cer) を保存します。

APNS SSL 証明書を .cer 形式から .pem 形式に変換するには

以下の手順では、openssl ユーティリティを使用します。

  • コマンドプロンプトで、次のコマンドを入力します。myapnsappcert.cer を Apple の Developer ウェブサイトからダウンロードした証明書の名前に置き換えます。

    Copy
    openssl x509 -in myapnsappcert.cer -inform DER -out myapnsappcert.pem

    新しく作成した .pem ファイルは、モバイルプッシュ通知メッセージを送信するように Amazon SNS を設定するために使用します。

ステップ 3: アプリケーションプライベートキーを取得する

Amazon SNS には、.pem 形式のアプリケーションプライベートキーが必要です。Mac コンピュータ上の Keychain Access アプリケーションを使用して、アプリケーションプライベートキーをエクスポートします。

アプリケーションプライベートキーを取得するには

SSL 証明書に関連付けられたプライベートキーは、Mac コンピュータ上の Keychain Access アプリケーションからエクスポートできます。これは、Apple の Developer ウェブサイトからダウンロードした .cer ファイルが Keychain Access にインポートされていることを前提としています。そのためには、.cer ファイルを Keychain Access にコピーするか、.cer ファイルをダブルクリックします。

  1. [Keychain Access] を開き、[Keys] を選択して、自分のアプリケーションプライベートキーを強調表示します。

  2. [File]、[Export Items...] の順にクリックし、[Save As:] フィールドに名前を入力します。

  3. デフォルトのファイル形式 .p12 をそのまま使用して、[Save] をクリックします。

    .p12 ファイルは .pem ファイル形式に変換されます。

アプリケーションプライベートキーを .p12 形式から .pem 形式に変換するには

  • コマンドプロンプトで、次のコマンドを入力します。myapnsappprivatekey.p12 を Keychain Access からエクスポートしたプライベートキーの名前に置き換えます。

    Copy
    openssl pkcs12 -in myapnsappprivatekey.p12 -out myapnsappprivatekey.pem -nodes -clcerts

    新しく作成した .pem ファイルは、モバイルプッシュ通知メッセージを送信するように Amazon SNS を設定するために使用します。

ステップ 4: 証明書とアプリケーションプライベートキーを検証する

.pem 証明書とプライベートキーファイルは、APNS に接続するために使用することで検証できます。

APNS に接続することで証明書とプライベートキーを検証するには

  • コマンドプロンプトで、次のコマンドを入力します。myapnsappcert.pemmyapnsappprivatekey.pem をそれぞれ証明書とプライベートキーの名前に置き換えます。

    Copy
    openssl s_client -connect gateway.sandbox.push.apple.com:2195 -cert myapnsappcert.pem -key myapnsappprivatekey.pem

ステップ 5: デバイス トークンを取得する

プッシュ通知メッセージを受信するためにアプリケーションを APNS に登録すると、デバイストークン (64 バイトの 16 進値) が生成されます。以下の手順は、AWS によって提供されるサンプル iOS アプリを使用して APNS からデバイストークンを取得する方法について説明しています。Amazon SNS プッシュ通知の使用を開始するときは、このサンプル iOS アプリが役立ちます。詳細については、Apple の『Local and Remote Notification Programming Guide』の「リモート通知サポートの設定」を参照してください。

アプリ用の APNS からデバイストークンを取得するには

  1. snsmobilepush.zip ファイルをダウンロードして解凍します。

  2. AppleMobilePushApp フォルダーに移動し、iOS 7 and earlier フォルダーまたは iOS 8 フォルダーを開きます。

  3. Xcode で、AmazonMobilePush.xcodeproj プロジェクトを開きます。

  4. Xcode でアプリを実行します。出力ウィンドウに、以下のようなデバイストークンが表示されます。

    Copy
    Device Token = <examp1e 29z6j5c4 df46f809 505189c4 c83fjcgf 7f6257e9 8542d2jt 3395kj73>

    注記

    Amazon SNS に送信するときは、デバイストークンにスペースを含めないでください。

次のステップ

この時点で、プッシュ通知メッセージをモバイルエンドポイントに送信するために必要な情報 (SSL 証明書、アプリケーションプライベートキー、デバイストークン) を APNS から入手している必要があります。これで、Amazon SNS コンソールまたは Amazon SNS API を使用して、デバイスの iOS アプリに通知を送信できます。