メニュー
Amazon Simple Notification Service
開発者ガイド (API Version 2010-03-31)

MPNS の使用開始

Windows Phone 用 Microsoft プッシュ通知サービス (MPNS) は、Windows Phone 7 以降と Windows Phone 8.0 のアプリにプッシュ通知メッセージを送信できるようにするサービスです。このセクションでは、MPNS の前提条件を取得し、Amazon SNS および MPNS を使用してプッシュ通知メッセージを送信する方法について説明します。MPNS では、認証されていないプッシュ通知メッセージと認証されたプッシュ通知メッセージの両方を送信できます。MPNS でのセキュリティの強化とスロットリング制限の回避のためには、認証されたプッシュ通知メッセージを送信する必要があります。

MPNS の前提条件

Amazon SNS および MPNS を使用して Windows Phone アプリに認証されていないプッシュ通知メッセージを送信するには、以下が必要です。

  • MPNS を使用するように設定されている Windows Phone アプリ

  • MPNS からのプッシュ通知 URI

Amazon SNS および MPNS を使用して Windows Phone アプリに認証されたプッシュ通知メッセージを送信するには、以下も必要です。

  • MPNS からの HTTPS プッシュ通知 URI

  • Windows アプリ開発者としての登録

  • Transport Layer Security (TLS) 証明書

すでにこれらの前提条件を満たしている場合は、Amazon SNS コンソールまたは Amazon SNS API を使用して Windows Phone アプリにプッシュ通知メッセージを送信できます。Amazon SNS コンソールの使用方法の詳細については、「Amazon SNS モバイルプッシュの使用」を参照してください。Amazon SNS API の使用方法の詳細については、「ステップ 5: Amazon SNS および MPNS を使って Windows Phone アプリにプッシュ通知メッセージを送信する」を参照してください。

ステップ 1: プッシュ通知メッセージを受信するように Windows Phone アプリをセットアップする

Windows Phone アプリにプッシュ通知メッセージを送信するには、MPNS サービスに対してタイプを有効にする必要があります。詳細については、「Windows Phone 8 のプッシュ通知を受信するためのアプリのセットアップ」を参照してください。

ステップ 2: MPNS からプッシュ通知 URI を取得する

Amazon SNS でモバイルエンドポイントを作成するには、MPNS から 通知 URI をプッシュする必要があります。MPNS から HTTP または HTTPS のプッシュ通知 URI を取得できます。MPNS でのセキュリティの強化とスロットリング制限の回避のためには、認証されたメッセージを送信するための HTTPS プッシュ通知 URI を取得する必要があります。HTTPS プッシュ通知 URI を取得する方法の詳細については、「Windows Phone 8 のプッシュ通知を送信するための認証されたウェブサービスの設定」を参照してください。

ステップ 3: Windows 開発者アカウントを作成する

MPNS 使用して認証されたメッセージを送信するには、Windows 開発者アカウントを作成する必要があります。Windows 開発者アカウントの作成方法の詳細については、「開発者アカウントの作成」を参照してください。

ステップ 4: TLS 証明書をアップロードする

MPNS を使用して認証されたメッセージを送信するには、Windows Phone のいずれかの信頼された証明機関 (CA) から取得した TLS 証明書を Windows 開発者アカウントにアップロードする必要があります。また、完全な TLS 証明書チェーンおよび関連するプライベートキーを Amazon SNS に送信する必要もあります。これらの情報は、Amazon SNS がお客様用に MPNS への安全な接続を確立するために利用します。Amazon SNS には、.pem 形式の TLS 証明書とプライベートキーが必要です。証明書の変換とエクスポートには、openssl などさまざまなユーティリティを使用できます。詳細については、「Windows Phone 8 のプッシュ通知を送信するための認証されたウェブサービスの設定」と「Windows Phone OS 7.1 の SSL ルート証明書」を参照してください。openssl の詳細については、http://www.openssl.org/ を参照してください。

ステップ 5: Amazon SNS および MPNS を使って Windows Phone アプリにプッシュ通知メッセージを送信する

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

Amazon SNS コンソールを使用することもできます。ただし、トースト通知を送信するには、Amazon SNS API を使用する必要があります。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 で開き、sample.demoMPNSAppNotification(); のコメントを解除します。これは次のように表示されます。

    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. demoMPNSAppNotification メソッドを探し、notificationChannelURI 文字列の値に、MPNS から受信した通知 URI を入力します。

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

    String applicationName = "mpnspushapp";
  4. .pem ファイル形式の MPNS TLS 証明書を入力します。ルート CA 証明書で始まり、発行された証明書で終わる、完全な証明書チェーンを含める必要があります。証明書の各行の先頭には、\n を追加する必要があります。たとえば、次のようになります。

    String certificateChain = "-----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. .pem ファイル形式の MPNS TLS 証明書のプライベートキーを入力します。証明書の各行の先頭には、\n を追加する必要があります。たとえば、次のようになります。

    String privateKey = "-----BEGIN RSA PR1VATE KEY-----\nMJICiTCHAfICCQD9m7oRw0uXOjANBgkqhkiG7w0BAQUFADCBiDELMAkGA1UEBhMC\nWVMxCzAJBgNVBAgTAldBMRAwDgYDVQQHEwdTZWF0dGx2MQ8wDQYDVQQKEwZBbWF6\nVVMxCzAJBgNVBAgTAldBMRAwDgYDVQQHEwdTZWF0dGxlMQ8wDQYDVQQKEwZBbWF6\n4MXNchZOFFreg4Rr3Xzhb9RhvlIRgsr3wU4/FYai3z96EXAMPLE=\n-----END RSA PR1VATE KEY-----";
  6. アプリケーションを実行します。IDE の出力ウィンドウに次のような出力が表示されます。

    =========================================== Getting Started with Amazon SNS =========================================== {PlatformApplicationArn: arn:aws:sns:us-west-2:111122223333:app/MPNS/TestApp} {EndpointArn: arn:aws:sns:us-west-2:111122223333:endpoint/MPNS/TestApp/557597f8-be4a-3035-8c6d-bb7fa8b20fef} {Message Body: {"MPNS":"<?xml version=\"1.0\" encoding=\"utf-8\"?><wp:Notification xmlns:wp=\"WPNotification\"><wp:Tile><wp:Count>23</wp:Count><wp:Title>This is a tile notification</wp:Title></wp:Tile></wp:Notification>"}} {Message Attributes: ("AWS.SNS.MOBILE.MPNS.Type": "token"),("AWS.SNS.MOBILE.MPNS.NotificationClass": "realtime")} Published! {MessageId=ce9855bf-395f-5a1a-a4b9-19ace305780d}

    Windows Phone で、プッシュ通知メッセージがアプリ内に表示されます。