Amazon Simple Notification Service
開発者ガイド (API バージョン 2010-03-31)

ステップ 6: Amazon SNS および Baidu を使用してモバイルエンドポイントにプッシュ通知メッセージ送信する

このセクションでは、モバイルエンドポイントにプッシュ通知メッセージを送信する方法について説明します。AWS のサンプルファイル SNSMobilePush.java に、収集された前提条件情報を追加します。サンプルファイルは snsmobilepush.zip ファイルに含まれています。SNSMobilePush.java ファイルには、モバイルエンドポイントを作成し、メッセージを構成するためにメッセージ属性を使用する方法についての例が含まれています。モバイルエンドポイントの作成と、Baidu でのメッセージ属性の使用の方法に関するその他の情報と例については、「Baidu 用の Amazon SNS エンドポイントの作成」と「メッセージを構築するためのメッセージ属性の使用」を参照してください。

注記

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

サンプルを Eclipse に追加するには

  1. Eclipse で新しい Java プロジェクトを作成します ([File] | [New] | [Java Project])。

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

  3. SNSSamples\src\com\amazonaws\sns\samples\mobilepush フォルダーで、AwsCredentials.properties ファイルを開き、AWS の認証情報を追加します。

ビルドパスに AWS SDK for Java を追加するには

  1. Java Project フォルダーを右クリックし、[Build Path] をクリックしてから、[Configure Build Path...] をクリックします。

  2. [Libraries] タブをクリックし、[Add Library...] をクリックします。

  3. [AWS SDK for Java] をクリックし、[Next] をクリックしてから、[Finish] をクリックします。

前提条件情報を SNSMobilePush.java に追加するには

  1. SNSSamples\src\com\amazonaws\sns\samples\mobilepush フォルダーの SNSMobilePush.java を Eclipse で開き、sample.demoBaiduAppNotification(); のコメントを解除します。これは次のように表示されます。

    SNSMobilePush sample = new SNSMobilePush(sns); // TODO: Uncomment the services you wish to use. //sample.demoAndroidAppNotification(); //sample.demoKindleAppNotification(); //sample.demoAppleAppNotification(); //sample.demoAppleSandboxAppNotification(); sample.demoBaiduAppNotification(); //sample.demoWNSAppNotification(); //sample.demoMPNSAppNotification();
  2. demoBaiduAppNotification メソッドを探し、userId および channelId 文字列の値として、Baidu から受け取ったユーザー ID およびチャネル ID を入力します。たとえば、次のようになります。

    String userId = "EXAMPLE-kLMchcX0v3xOxWVhG6TfdBp...KT2TGkvnKyTvLuSpzK_qsHgxVB_UpmcUa7Gl6g3EXAMPLE"; String channelId = "EXAMPLE<channelId>EXAMPLE";
  3. アプリケーションのシークレットキーを入力します。たとえば、次のようになります。

    String secretKey = "EXAMPLE<secretkey>EXAMPLE";
  4. アプリケーションの API キーを入力します。たとえば、次のようになります。

    String apiKey = "EXAMPLExV2lcV2zEKTLNYs625zfk2jh4EXAMPLE";
  5. アプリケーションの名前を入力します。アプリケーション名は大文字および小文字の ASCII 文字、数字、アンダースコア、ハイフン、およびピリオドのみで構成され、1~256 文字の長さである必要があります。たとえば、次のようになります。

    String applicationName = "baidupushapp";
  6. アプリケーションを実行します。IDE の出力ウィンドウに次のような出力が表示されます。

    =========================================== Getting Started with Amazon SNS =========================================== {PlatformApplicationArn: arn:aws:sns:us-west-2:111122223333:app/BAIDU/TestApp} {EndpointArn: arn:aws:sns:us-west-2:111122223333:endpoint/BAIDU/TestApp/8f3fdf0d-520b-38d1-8ed2-3301a477eef3} {Message Body: {"BAIDU":"{\"title\":\"New Notification Received from SNS\",\"description\":\"Hello World!\"}"}} {Message Attributes: ("AWS.SNS.MOBILE.BAIDU.MessageKey": "default-channel-msg-key"),("AWS.SNS.MOBILE.BAIDU.DeployStatus": "1"),("AWS.SNS.MOBILE.BAIDU.MessageType": "0")} Published! {MessageId=56a3a3e6-4b4b-59b4-8d1d-eff592c0ffa1}

    Android デバイスで、次のようなプッシュ通知メッセージが Android アプリ内に表示されます。