2017-02-21 95 views
0

我一直在嘗試從Xamarin Android項目中註冊NH。我設法配置FireBase,但是當我嘗試在客戶端註冊Notification Hub時,我得到未經授權的例外。我相信我已經使用了正確的連接憑證,因爲我在UWP項目中使用了相同的連接憑證,並且在那裏工作。無法註冊Xamarin Android項目中的通知中心

這裏是我的代碼:

Hub = new NotificationHub(Constants.NotificationHubName, "Endpoint=sb://namespace.servicebus.windows.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=mykey=", 
             context); 
      try 
      { 
       Hub.UnregisterAll(registrationId); 
      } 
      catch (Exception ex) 
      { 
       Log.Error(MyBroadcastReceiver.TAG, ex.Message); 
      } 

      var tags = new List<string>() { "droid" }; // create tags if you want 
      // var tags = new List<string>() { }; 

      try 
      { 
       var hubRegistration = Hub.Register(registrationId, tags.ToArray()); 
      } 
      catch (Exception ex) 
      { 
       Log.Error(MyBroadcastReceiver.TAG, ex.Message); 
      } 

我從兩種方法UnregisterAll和註冊獲得未經授權的例外。請任何意見,如何解決這個問題。

回答

0

它表明您的通知中心憑據錯誤或無效。你能確保你指的是正確的通知中心和相應的連接字符串。

在旁邊注意,你不需要調用註銷api。註冊API充當CreateOrUpdate。如果它不存在,它會照顧創建註冊。

+0

謝謝你的回答。我使用正確的憑據。正如我所說的,我使用與UWP項目相同的註冊工作。 –

+0

還有一點需要注意,通過MobileServiceClient獲取的Push對象的註冊工作,但其方法RegisterAsync不允許註冊標籤。它僅適用於模板。 –

+0

查看http://aka.ms/zumobook - 第5章中的代碼 - 其中包括用於向標籤註冊的代碼。 –

0

既然您提到了通過MobileServiceClient工作,您可以通過App Service Push進行註冊。檢出http://aka.ms/zumobook - 第5章。這包括每個平臺的代碼,以瞭解如何向標籤註冊。