プッシュ通知機能の移行
このトピックには、プッシュ通知機能領域の移行ガイダンスが含まれています。
重要
現在、未加工のプッシュ通知とアプリプッシュ通知のみがサポートされています。 バッジ プッシュ通知とタイル プッシュ通知はサポートされていません。
API と機能の違いの概要
プッシュ通知は、4 つの異なるステージに分けることができます。
段階 | UWP | Windows App SDK |
---|---|---|
ID | パートナー センター (MSA) | Azure アプリの登録 (AAD) |
チャネル要求 | 非同期 | 非同期 Azure アプリの登録 ID 組み込まれている再試行ロジック (最大 5 回の再試行) |
ライセンス認証 | インプロセス, PushTrigger*, COM ライセンス認証* | インプロセス、COM アクティブ化、ShellExecute |
プッシュ通知を送信する | login.live.com エンドポイントを使用してアクセス トークンを受信します | トークン要求に https://login.microsoftonline.com/{tenantID}/oauth2/token エンドポイントを使用します |
* Windows 10 バージョン 2004 (10.0; ビルド 19041) 以降でサポートされています。
ID の設定
Windows App SDK では、プッシュ通知機能で Azure アプリ登録 (AAD) の ID が使用されます。これにより、プッシュ通知を使用するために、パートナー センターからパッケージ ファミリ名 (PFN) を持つ必要がなくなります。
- UWP アプリの場合は、Windows ストア パートナー センターにサインアップし、アプリケーションを登録します。
- Windows App SDK アプリの場合は、Azure アカウントを作成し、Azure アプリの登録 (AAD) を作成します。
チャネル要求
チャネル要求は非同期的に処理され、Azure アプリID GUID と Azure tenantID が必要です (AAD アプリの登録からAzure アプリID とテナント ID を受け取ります)。 UWP アプリで使用するパッケージ ファミリ名 (PFN) の代わりに、ID に Azure アプリID を使用します。 要求で再試行可能なエラーが発生した場合、通知プラットフォームは複数回の再試行します。
Windows App SDK アプリは、チャネル要求の状態を確認できます。
ライセンス認証
Windows アプリ SDK登録とアクティブ化の手順については、「プッシュ通知を受信するようにアプリを構成する」を参照してください。
プッシュ通知を送信する
Windows App SDK アプリは、MSA エンドポイントからではなく、AAD エンドポイントからアクセス トークンを要求する必要があります。
アクセス トークン要求
UWP アプリの場合:
POST /accesstoken.srf HTTP/1.1
Host: login.live.com
Content-Type: application/x-www-form-urlencoded
Cookie: MSCC=73.140.231.96-US
Content-Length: 112
grant_type=client_credentials&client_id=<AppID_Here>&client_secret=<Client_Secret_Here>&scope=notify.windows.com
Windows App SDK アプリの場合 (AAD アクセス トークン要求):
POST /{tenantID}/oauth2/v2.0/token Http/1.1
Host: login.microsoftonline.com
Content-Type: application/x-www-form-urlencoded
Content-Length: 160
grant_type=client_credentials&client_id=<Azure_App_Registration_AppId_Here>&client_secret=<Azure_App_Registration_Secret_Here>&resource=https://wns.windows.com/
WNS への HTTP POST
HTTP POST 要求を WNS に送信する場合、UWP からの変更はありません。 アクセス トークンは、引き続き承認ヘッダーで渡されます。
POST /?token=[ChannelURI] HTTP/1.1
Host: dm3p.notify.windows.com
Content-Type: application/octet-stream
X-WNS-Type: wns/raw
Authorization: Bearer [your access token]
Content-Length: 46
{ Sync: "Hello from the Contoso App Service" }
参照
Windows developer