

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

# モバイル通知用のデバイストークンと Amazon SNS の統合
<a name="mobile-push-send-devicetoken"></a>

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

次の方法を使用して、デバイストークンや登録 ID を Amazon SNS に追加できます。
+ を介して 1 つのトークンを手動で追加する AWS マネジメントコンソール
+ [https://docs.aws.amazon.com/sns/latest/api/API_CreatePlatformEndpoint.html](https://docs.aws.amazon.com/sns/latest/api/API_CreatePlatformEndpoint.html) API を使用して複数のトークンをアップロードする
+ 今後のデバイスのトークンを登録する

****デバイストークンまたは登録 ID を手動で追加するには****

1. [Amazon SNS コンソール](https://console.aws.amazon.com/sns/home)にサインインします。

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

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

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

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

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

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

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

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

次の手順は、 が提供するサンプル Java アプリ (`bulkupload` パッケージ) を使用して AWS 、複数のトークン (デバイストークンまたは登録 IDs) を Amazon SNS にアップロードする方法を示しています。既存のトークンのアップロードを開始するには、このサンプルアプリを使用できます。
**注記**  
以下の手順では、Eclipse Java IDE を使用します。この手順では、 をインストール AWS SDK for Java し、 AWS のセキュリティ認証情報があることを前提としています AWS アカウント。詳細については、「[AWS SDK for Java](https://aws.amazon.com/sdkforjava/)」を参照してください。認証情報の詳細については、「*IAM ユーザーガイド*」の「[AWS セキュリティ認証情報](https://docs.aws.amazon.com/general/latest/gr/getting-aws-sec-creds.html)」を参照してください。

1. [snsmobilepush.zip](samples/snsmobilepush.zip) ファイルをダウンロードして解凍します。

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

1. [OpenCSV library](http://sourceforge.net/projects/opencsv/) をダウンロードし、ビルドパスに追加します。

1. `BulkUpload.properties` ファイルで、次のように指定します。
   + `ApplicationArn` (プラットフォームアプリケーション ARN)。
   + トークンを含む CSV ファイルへの絶対パス。
   + 成功したトークンと失敗したトークンのログファイル名。例えば、`goodTokens.csv` と `badTokens.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
   ```

1.  **BatchCreatePlatformEndpointSample.java** アプリケーションを実行してトークンを Amazon SNS にアップロードします。正常にアップロードされたトークンは `goodTokens.csv` に記録され、不正な形式のトークンは `badTokens.csv` に記録されます。

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

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

**Amazon Cognito サービスを使用する**  
モバイルアプリは、一時的なセキュリティ認証情報を使用してエンドポイントを作成できます。一時的な認証情報を生成するには、Amazon Cognito をお勧めします。詳細については、「*[Amazon Cognito デベロッパーガイド](https://docs.aws.amazon.com/cognito/latest/developerguide/)*」を参照してください。  
アプリの[登録](application-event-notifications.md)を追跡するには、Amazon SNS イベントを使用して、新しいエンドポイント ARNsの作成時に通知を受信します。  
また、[https://docs.aws.amazon.com/sns/latest/api/API_ListEndpointsByPlatformApplication.html](https://docs.aws.amazon.com/sns/latest/api/API_ListEndpointsByPlatformApplication.html) API を使用して、登録されたエンドポイントのリストを取得することもできます。

**プロキシサーバーの使用**  
アプリケーションのインフラストラクチャがインストール時のデバイス登録を既にサポートしている場合は、お使いのサーバーをプロキシとして使用できます。デバイストークンは [https://docs.aws.amazon.com/sns/latest/api/API_CreatePlatformEndpoint.html](https://docs.aws.amazon.com/sns/latest/api/API_CreatePlatformEndpoint.html) API を介して Amazon SNS に転送されます。  
Amazon SNS によって作成されたエンドポイント ARN が返され、今後のメッセージを発行するためにサーバーで保存できます。