モバイル通知用のデバイストークンと Amazon SNS の統合 - Amazon Simple Notification Service

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

モバイル通知用のデバイストークンと Amazon SNS の統合

Apple Push Notification Service (APNs) や Firebase Cloud Messaging (FCM) などの通知サービスに初めてアプリケーションやモバイルデバイスを登録すると、それらサービスからデバイストークンまたは登録 ID が返されます。これらのトークンや ID は Amazon SNS に追加され、PlatformApplicationArn API を使用して、アプリやデバイス向けのエンドポイントが作成されます。エンドポイントが作成されると、EndpointArn が返されます。Amazon SNS はこれを使用して、通知を適切なアプリケーションやデバイスに送信します。

次の方法を使用して、デバイストークンや登録 ID を Amazon SNS に追加できます。

  • を介して 1 つのトークンを手動で追加する AWS マネジメントコンソール

  • CreatePlatformEndpoint API を使用して複数のトークンをアップロードする

  • 今後のデバイスのトークンを登録する

デバイストークンまたは登録 ID を手動で追加するには
  1. Amazon SNS コンソールにサインインします。

  2. ナビゲーションペインで、[プッシュ通知] を選択します。

  3. [プラットフォームアプリケーション] セクションでアプリケーションを選択し、[編集] を選択します。プラットフォームアプリケーションをまだ作成していない場合は、「Amazon SNS プラットフォームアプリケーションの作成」Amazon SNS プラットフォームアプリケーションの作成ガイドに従って今すぐ作成してください。

  4. エンドポイントの作成 を選択します。

  5. 使用している通知サービスに応じて、[エンドポイントトークン] ボックスにトークンまたは登録 ID を入力します (例: FCM 登録 ID)。

  6. (オプション) [ユーザーデータ] フィールドに追加のデータを入力します。このデータは UTF-8 でエンコードされ、2 KB 未満である必要があります。

  7. エンドポイントの作成 を選択します。

エンドポイントが作成されると、そのエンドポイントの対象となるモバイルデバイス、またはAmazon SNS トピックにサブスクライブされているモバイルデバイスにメッセージを直接送信することができます。

CreatePlatformEndpoint API を使用して複数のトークンをアップロードするには

次の手順は、 が提供するサンプル Java アプリ (bulkupload パッケージ) を使用して AWS 、複数のトークン (デバイストークンまたは登録 IDs) を Amazon SNS にアップロードする方法を示しています。既存のトークンのアップロードを開始するには、このサンプルアプリを使用できます。

注記

以下の手順では、Eclipse Java IDE を使用します。この手順では、 をインストール AWS SDK for Java し、 AWS のセキュリティ認証情報があることを前提としています AWS アカウント。詳細については、「AWS SDK for Java」を参照してください。認証情報の詳細については、「IAM ユーザーガイド」の「AWS セキュリティ認証情報」を参照してください。

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

  2. Eclipse で新しい Java プロジェクトを作成し、SNSSamples フォルダをプロジェクトにインポートします。

  3. OpenCSV library をダウンロードし、ビルドパスに追加します。

  4. BulkUpload.properties ファイルで、次のように指定します。

    • ApplicationArn (プラットフォームアプリケーション ARN)。

    • トークンを含む CSV ファイルへの絶対パス。

    • 成功したトークンと失敗したトークンのログファイル名。例えば、goodTokens.csvbadTokens.csv です。

    • (オプション) 区切り文字、引用符文字、使用するスレッドの数の設定。

    完了した BulkUpload.properties は次のようになります。

    applicationarn: arn:aws:sns:us-west-2:111122223333:app/FCM/fcmpushapp csvfilename: C:\\mytokendirectory\\mytokens.csv goodfilename: C:\\mylogfiles\\goodtokens.csv badfilename: C:\\mylogfiles\\badtokens.csv delimiterchar: ',' quotechar: '"' numofthreads: 5
  5. BatchCreatePlatformEndpointSample.java アプリケーションを実行してトークンを Amazon SNS にアップロードします。正常にアップロードされたトークンは goodTokens.csv に記録され、不正な形式のトークンは badTokens.csv に記録されます。

今後のアプリケーションインストールのためにデバイスからトークンを登録するには

このプロセスには 2 つのオプションがあります。

Amazon Cognito サービスを使用する

モバイルアプリは、一時的なセキュリティ認証情報を使用してエンドポイントを作成できます。一時的な認証情報を生成するには、Amazon Cognito をお勧めします。詳細については、「Amazon Cognito デベロッパーガイド」を参照してください。

アプリの登録を追跡するには、Amazon SNS イベントを使用して、新しいエンドポイント ARNsの作成時に通知を受信します。

また、ListEndpointByPlatformApplication API を使用して、登録されたエンドポイントのリストを取得することもできます。

プロキシサーバーの使用

アプリケーションのインフラストラクチャがインストール時のデバイス登録を既にサポートしている場合は、お使いのサーバーをプロキシとして使用できます。デバイストークンは CreatePlatformEndpoint API を介して Amazon SNS に転送されます。

Amazon SNS によって作成されたエンドポイント ARN が返され、今後のメッセージを発行するためにサーバーで保存できます。