2

PushSharp バージョン: バージョン 2.2.1 問題の説明

  • Windows Phone アプリ 8.1 にプッシュ通知を送信するために pushsharp を使用しています。

  • Windows Phone にアプリをインストールし、チャネル URI を取得しました。同じチャネル URI を使用すると、プッシュ通知が機能しました。

  • 次に、Windows Phoneでアプリをアンインストールして再度インストールしました。これにより、更新されたチャネル URI が得られました。

  • 更新されたチャネル URI を使用すると、プッシュ通知は次のエラーで失敗します:「デバイス サブスクリプションの期限が切れました: PushSharp.Windows.WindowsPushService -> <>」

  • アプリを再インストールした後 (つまり、新しいチャネル URI を使用した場合) に通知が失敗するために、何か間違ったことをしていることを教えてください。

サンプルコード

push.RegisterWindowsService(new WindowsPushChannelSettings("package name", "package security identifier", "client secret")); push.QueueNotification(new WindowsToastNotification() .AsToastText01("This is a test notification") .ForChannelUri("https://db5.notify.windows.com/?token=AwYAAADhaxGQuJHxAGCdCOJa+kyrZ012wjF19Zm+VfriKZVxKqM3Dt4kQz9t6EllMZHgiA4oE1uvij2wdiTwItmp7UUnGoAPp3hc9FnLkJqpckt1xQAux/wez++MVGaty0QKRNk="));

例外

「デバイス サブスクリプションの有効期限が切れました: PushSharp.Windows.WindowsPushService -> 新しいチャネル URI」 ここに画像の説明を入力

4

1 に答える 1

1

問題を解決しました。angular UI から pushsharp アプリへの送信中に、デバイス トークンの URL がデコードされていました。エンコーディングは、実際のチャネル URI を取得するのにも役立ちました。

System.Web.HttpUtility.UrlEncode(DeviceToken);
于 2016-05-20T18:02:37.797 に答える