2

私はXamarin.Formsアプリケーションでプッシュ通知を実装しようとしています。
私はthis Microsoft docに従ってきましたが、Xamarin.Forms Azureプッシュ通知 - "MobileServiceInvalidOperationException:このディレクトリまたはページを表示する権限がありません"

await push.RegisterAsync(RegistrationID, templates); 

ライン上Unauthorizedエラーを取得しています。次のように例外がある:
Microsoft.WindowsAzure.MobileServices.MobileServiceInvalidOperationException: You do not have permission to view this directory or page.

私が追加したSender ID(Firebaseから)

public class PushHandlerBroadcastReceiver : GcmBroadcastReceiverBase<GcmService> 
{ 
    public static string[] SENDER_IDS = new string[] { "<my_sender_id_here>" }; 
} 

私もFirebaseから(Server keyを追加した(彼らは、ドキュメントの「プロジェクト番号」それを呼び出します) )をAzureポータルの通知欄の「Google(GCM)APIキー」に追加します。

私のAVDでGoogleアカウントにサインインしました。 (Azure AD B2Cを使用してAzure MobileServicesClientにサインインしましたが、ここでは問題はないと思っています)

other people with this same issueが見つかりました(「許可」を検索し、直接リンクは機能しません)。それの1つのインスタンスのみ。そして誰もその解決法を提供しません。

私には何が欠けていますか?

答えて

4

私はこの半ダースの時間に答えたので、あなたは私の回答を見たことがないと思う。

現在、App Service Pushに問題があります。 Azure App Serviceを介して修正プログラムを配布する必要があるため、迅速に対応することはできません。

代わりに、http://aka.ms/zumobookで私の本の第5章を見てください。それはあなたが必要とする正確な代替コードを提供します。提供されているコードは修正プログラムの後でも動作しますので、コードを再度変更する必要はありません。

+0

古典的なGoogle。 – Marcus

+1

これは私のために働きました。私は、 'push.RegisterAsync(...))の代わりに、代わりのコード(' client.InvokeApiAsync (...) 'メソッドを使いました。ありがとうエイドリアン! – Marcus

0

私はもっと妥当な解決策を見つけたと思う。 Mobile Appsのチュートリアルに従っていたので、私たちはバックエンドに認証を追加しました。私たちのデバイスでプッシュ通知を登録すると、最初に認証されなかったため、すべてのデバイス登録が失敗しました(Visual Studioの[デバイス登録]タブに表示されませんでした)。リクエストが認証されなかったときに '匿名リクエストを許可する(何もしない)'という操作が行われました!デバイスが表示され、プッシュ通知が送信されます!

関連する問題