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

Amazon SNS および APNS を使用して iOS アプリにプッシュ通知メッセージを送信する

このセクションでは、Amazon SNS と APNS を使用して iOS アプリにプッシュ通知メッセージを送信するための Amazon SNS API の前提条件情報の使用方法について説明します。AWS のサンプルファイル SNSMobilePush.java に前提条件情報を追加します。サンプルファイルは snsmobilepush.zip ファイルに含まれています。

Amazon SNS コンソールを使用することもできます。Amazon SNS コンソールの使用方法の詳細については、「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 で開きます。

  2. 使用している APNS によって、sample.demoAppleAppNotification(); または sample.demoAppleSandboxAppNotification(); のいずれかのコメントを解除します。たとえば、demoAppleSandboxAppNotification を使用している場合は、次のようになります。

    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();
  3. demoAppleSandboxAppNotification メソッドを探し、デバイストークン文字列の値として、APNS から受け取ったデバイストークンを入力します。たとえば、次のようになります。

    String deviceToken = "examp1e29z6j5c4df46f809505189c4c83fjcgf7f6257e98542d2jt3395kj73";
  4. アプリケーション用の APNS SSL 証明書を入力します。証明書の各行の先頭には、\n を追加する必要があります。たとえば、次のようになります。

    String certificate = "-----BEGIN CERTIFICATE-----\nMIICiTCCAfICCQD6m7oRw0uXOjANBgkqhkiG9w0BAQUFADCBiDELMAkGA1UEBhMC\nVVMxCzAJBgNVBAgTAldBMRAwDgYDVQQHEwdTZWF0dGxlMQ8wDQYDVQQKEwZBbWF6\nb24xFDASBgNVBAsTC0lBTSBDb25zb2xlMRIwEAYDVQQDEwlUZXN0Q2lsYWMxHzAd\nBgkqhkiG9w0BCQEWEG5vb25lQGFtYXpvbi5jb20wHhcNMTEwNDI1MjA0NTIxWhcN\nMTIwNDI0MjA0NTIxWjCBiDELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAldBMRAwDgYD\nVQQHEwdTZWF0dGxlMQ8wDQYDVQQKEwZBbWF6b24xFDASBgNVBAsTC0lBTSBDb25z\nb2xlMRIwEAYDVQQDEwlUZXN0Q2lsYWMxHzAdBgkqhkiG9w0BCQEWEG5vb25lQGFt\nYXpvbi5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAMaK0dn+a4GmWIWJ\n21uUSfwfEvySWtC2XADZ4nB+BLYgVIk60CpiwsZ3G93vUEIO3IyNoH/f0wYK8m9T\nrDHudUZg3qX4waLG5M43q7Wgc/MbQITxOUSQv7c7ugFFDzQGBzZswY6786m86gpE\nIbb3OhjZnzcvQAaRHhdlQWIMm2nrAgMBAAEwDQYJKoZIhvcNAQEFBQADgYEAtCu4\nnUhVVxYUntneD9+h8Mg9q6q+auNKyExzyLwaxlAoo7TJHidbtS4J5iNmZgXL0Fkb\nFFBjvSfpJIlJ00zbhNYS5f6GuoEDmFJl0ZxBHjJnyp378OD8uTs7fLvjx79LjSTb\nNYiytVbZPQUQ5Yaxu2jXnimvw3rrszlaEXAMPLE=\n-----END CERTIFICATE-----";
  5. アプリケーション用のプライベートキーを入力します。証明書の各行の先頭には、\n を追加する必要があります。たとえば、次のようになります。

    String privateKey = "-----BEGIN RSA PR1VATE KEY-----\nMJICiTCHAfICCQD9m7oRw0uXOjANBgkqhkiG7w0BAQUFADCBiDELMAkGA1UEBhMC\nWVMxCzAJBgNVBAgTAldBMRAwDgYDVQQHEwdTZWF0dGx2MQ8wDQYDVQQKEwZBbWF6\nVVMxCzAJBgNVBAgTAldBMRAwDgYDVQQHEwdTZWF0dGxlMQ8wDQYDVQQKEwZBbWF6\n4MXNchZOFFreg4Rr3Xzhb9RhvlIRgsr3wU4/FYai3z96EXAMPLE=\n-----END RSA PR1VATE KEY-----";
  6. アプリの名前を入力します。アプリ名は大文字および小文字の ASCII 文字、数字、アンダースコア、ハイフン、およびピリオドのみで構成され、1~256 文字の長さである必要があります。たとえば、次のようになります。

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

    =========================================== Getting Started with Amazon SNS =========================================== {PlatformApplicationArn: arn:aws:sns:us-west-2:111122223333:app/APNS_SANDBOX/mypushappname} {EndpointArn: arn:aws:sns:us-west-2:111122223333:endpoint/APNS_SANDBOX/pushapp/97e9ced9-f136-3893-9d60-775467eafebb} {"default":"This is the default Message","APNS_SANDBOX":"{ \"aps\" : { \"alert\" : \"You have got email.\", \"badge\" : 9,\"sound\" :\"default\"}}"} Published. MessageId=d65fb4bb-b903-5e37-83d4-feb4818d6da3

    iOS デバイスで、メッセージ通知を確認します。