デバイストークンまたは登録 ID を追加する - Amazon Simple Notification Service

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

デバイストークンまたは登録 ID を追加する

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

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

  • AWS Management Console を使用して手動で AWS に 1 つのトークンを追加する

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

  • 将来アプリケーションをインストールするデバイスからトークンを登録する

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

  2. [モバイル] を選択して [プッシュ通知] を選択します。

  3. [プラットフォームアプリケーション] セクションでアプリケーションを選択し、[編集] を選択します。プラットフォームアプリケーションをまだ作成していない場合は、ここで作成します。これを行う手順については、「プラットフォームアプリケーションを作成する」を参照してください。

  4. [エンドポイントの追加] を選択します。

  5. [エンドトークン] ボックスに、通知サービスに応じてトークン ID または登録 ID を入力します。例えば、ADM や FCM では、登録 ID を入力します。

  6. (オプション) [ユーザーデータ] ボックスに、エンドポイントに関連付ける任意の情報を入力します。Amazon SNS はこのデータは使用しません。データは UTF-8 形式で、2 KB 未満でなければなりません。

  7. 最後に、[エンドポイントの追加] を選択します。

    これでエンドポイントを作成したので、直接モバイルデバイスにメッセージを送信したり、トピックにサブスクリプションしているモバイルデバイスにメッセージを送信したりできます。

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

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

注記

以下の手順では、Eclipse Java IDE を使用します。これらの手順では、AWS SDK for Java をインストールし、AWS アカウント の AWS セキュリティ認証情報があることを前提としています。詳細については、「AWS SDK for Java」を参照してください。認証情報の取得方法の詳細については、https://docs.aws.amazon.com/general/latest/gr/getting-aws-sec-creds.htmlの「AWS 全般のリファレンスセキュリティ認証情報の取得方法」を参照してください。

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

  2. Eclipse で新しい Java プロジェクトを作成します。

  3. 新しく作成したされた Java プロジェクトの最上位ディレクトリに SNSSamples フォルダーをインポートします。Eclipse で、Java プロジェクトの名前を右クリックし、[Import] を選択して、[General] を展開します。次に、[File System]、[Next] の順に選択し、SNSSamples フォルダーを参照します。その後、[OK]、[Finish] の順に選択します。

  4. OpenCSV library のコピーをダウンロードし、bulkupload パッケージのビルドパスに追加します。

  5. bulkupload パッケージに含まれている BulkUpload.properties ファイルを開きます。

  6. 以下を BulkUpload.properties に追加します。

    • エンドポイントを追加する ApplicationArn

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

    • Amazon SNS が正しく解析するトークンと、解析に失敗するトークンのログ記録のために作成される CSV ファイルの名前 (goodTokens.csvbadTokens.csv など)。

    • (オプション) トークンを含む CSV ファイルで区切り記号と引用符を指定する文字。

    • (オプション) エンドポイントを同時に作成するために使用するスレッドの数。デフォルトは 1 スレッドです。

    完了した 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
  7. BatchCreatePlatformEndpointSample.java アプリケーションを実行してトークンを Amazon SNS にアップロードします。

    この例では、正常に Amazon SNS にアップロードされたトークン用に作成されたエンドポイントは goodTokens.csv に記録され、正しい形式でないトークンは badTokens.csv に記録されます。さらに、次のような内容を含む STD OUT ログが Eclipse のコンソールに書き込まれます。

    <1>[SUCCESS] The endpoint was created with Arn arn:aws:sns:us-west-2:111122223333:app/FCM/fcmpushapp/165j2214-051z-3176-b586-138o3d420071 <2>[ERROR: MALFORMED CSV FILE] Null token found in /mytokendirectory/mytokens.csv
将来アプリをインストールするデバイスからトークンを登録するには

次の 2 つのオプションのうちの 1 つを使用できます。

  • Use the Amazon Cognito service: モバイルアプリケーションでは、Amazon SNS プラットフォームアプリケーションと関連付けられた認証情報を作成するために、認証情報が必要です。一定期間後に有効期限が切れる一時認証情報を使用することをお勧めします。ほとんどの場合、Amazon Cognito を使用して一時的なセキュリティ認証情報を作成することをお勧めします。詳細については、「Amazon Cognito デベロッパーガイド」をご覧ください。アプリケーションが Amazon SNS に登録したときに通知を受信する場合は、新しいエンドポイント ARN を提供する Amazon SNS イベントを受信するように登録できます。ListEndpointByPlatformApplication API を使用して、Amazon SNS に登録されたエンドポイントの詳細な一覧を取得することもできます。

  • [Use a proxy server]: 各インストールで呼び出し、登録するためにモバイルアプリケーション用にアプリケーションのインフラストラクチャがすでにセットアップされている場合は、引き続きこのセットアップを使用できます。サーバーはプロキシとして動作し、保存したいユーザーデータとともに、Amazon SNS モバイルプッシュ通知にデバイストークンを渡します。そのためには、プロキシサーバーは AWS の認証情報を使用して Amazon SNS に接続し、CreatePlatformEndpoint API コールを使用してトークン情報をアップロードします。新しく作成されたエンドポイント Amazon リソースネーム (ARN) が返され、サーバーは Amazon SNS にそれ以降に発行の呼び出しを行うためにこれを保存できます。