2017-07-12 4 views
5

NotificationHubsで、通知が黙ってiOSクライアントに配信されないことがある問題が発生しています。NotificationSystemErrorによるハッシュ配信エラー:InvalidToken

My Notification Hubは、(従来の証明書認証ではなく)APNSでトークン認証を使用するように設定されています。

通知ハブの価格設定を標準に更新しました。そのため、より詳細な情報を得ることができました。ほとんどの時間(95%以上)の通知は正しく行われます。通知ハブでキューに入れられた各プッシュ通知のNotificationIdを追跡するためのログを追加しました。その後、私は失敗を警告されたとき、私は以下のメソッドを介してその特定の通知の詳細を行って、見上げ:

var details = await notificationHub.GetNotificationOutcomeDetailsAsync("<notification id>"); 

は、私はしばらくの状態が「完了」していることに気づい詳細を点検(意味NotificationHubsが持っていました受信した操作を処理し)PnsErrorDetailsUriは、通知を提供する問題があったことを示す、null以外の値を持っていた:ブラウザでPnsErrorDetailsUriの値にナビゲート

enter image description here

には、以下のファイルがダウンロードされる原因となりました:

enter image description here

はここでは、私はNotificationSystemErrorは "InvalidToken" はあったと言うことに気づきました。このトークンは、AzureとAPNSの間の「カバーしている」通信に関連しているようです。 NotificationHubsに登録されているデバイストークンが無効であることは間違いありません。 registrationIdがまだ通知ハブにあり、正しいデバイスを指していることを確認しました。さらに、未処理のNotificationBodyを詳細から取得し、同じタグで再送信すると、新しい通知が正常に配信されます。

InvalidTokenが何を参照しているか、またはこれらの間欠的なNotificationHub配信エラーの原因が何であるかを知っている人はいますか?

UPDATE:

私はそれらの一つは、私のInvalidTokenエラーであること、異なるNotificationSystemErrors hereの言及を発見しました。しかし、私はこれらのエラーの実際の原因が何であるかの説明を見つけることができません。

+0

あなたのサービスで認証が有効になっていますか?はいの場合、有効なアクセストークンを含むリクエストにX-ZUMO-AUTHヘッダを提示する必要があります。そうしないと、無効なトークン・エラーが発生します。 – Amor

+0

私はC#のNotificationHubsのnugetパッケージを使用しています。これは私のためにすべてのヘッダーを管理する必要があります。また、私の通知は、AzureサービスのバスキューによってトリガされるAzure関数からキューに入れられます。認証機能は有効になっていません。 – lehn0058

+0

この問題は引き続き発生していますか?これをさらに詳しく調べるには、ネームスペースとハブの詳細と[email protected]までの時間枠を教えてください。 – Sateesh

答えて

0

エラーが発生した理由は決して確定していませんが、問題を解決できたようです。

私たちは2つの通知ネームスペース/ハブを持っています.1つはリンゴ生産通知用、もう1つはアップルサンドボックス通知用です。デバイスが適切なハブに登録されるように、スイッチが設置されています。私はすべての登録を調査し、彼らはすべて正しい場所にいるように見えました。

しかし、この検査では、多くのデバイスに多数の登録があることに気付きました。これらの登録にはそれぞれSNSリンゴPNS識別子(有効なトークン)が含まれていましたが、登録された同じPNSトークンの数十(1つの場合は数百)が奇妙に思えました。後にハイフネーションされた数字が増えたことを除いて、各RegistrationIDは同じでした(たとえば、1231231231235396312-6910179870480973035-1,1231231231235396312-6910179870480973035-2,1231231231235396312-6910179870480973035-3など)。私がNotificationHubClientを呼び出すたびに見えます。CreateAppleNativeRegistrationAsync、それはde-dupingせずに新しいエントリを追加しています。これらの重複した項目をクリアすると、私が直面していた問題が解決されたようです。 NotificationHubsがデバイスにリンクされている登録が多すぎると混乱しているようです。

私は当分の間、重複を除外しようと私の最後にいくつかのコードを追加しました。しかし、私はNotificationHubsが私のためにこれを処理する必要があると思います...

関連する問題