2017-07-29 75 views
0

我正在嘗試向我的Xamarin Forms應用中的特定用戶推送通知的POC。在Xaramin和Azure通知中心註冊用戶標籤

我與所有文檔有問題,作爲大量參考GCM,現在已被棄用,但尚未更新到Firebase,並專門與Azure通知中心集成。

我的目標是:

  1. 當我的應用程序加載時,它在Azure中註冊設備。
  2. 我有一個Azure函數,它會將消息傳遞給Notifcation Hub以發送給特定用戶。

從我收集的信息中,我可以使用標籤將消息發送給特定用戶(爲每個設備創建一個標籤),但是我看不到如何從Xamarin內部爲用戶創建標籤。我正在使用Microsoft.WindowsAzure.MobileServices,但它似乎沒有處理標籤。

我也見過Azure Messaging component,但在一年中還沒有被觸及,有不少人抱怨它沒有工作,我不確定如何在Visual Studio中使用該組件。

我已經看了一下移動應用程序,但不確定是否真的需要這個。我希望,因爲這是一個POC,我不必部署和額外的Web API來處理這個問題,我只是希望將設備ID(或安裝ID)傳遞到通知中心並使用它。

任何提示正確的方向將不勝感激。

感謝

+0

爲什麼通過設備ID不爲你工作?什麼是POC? –

+0

抱歉 - 概念驗證。所以這不是假設生產就緒的代碼。 – ADringer

+0

我將如何傳遞設備ID?無法看到如何與Azure – ADringer

回答

1

當您在

Andoid註冊推送通知:

public class PushHandlerService : GcmServiceBase 
{ 
..... 
var tags = new List<string>() { "deviceID" }; // create tags if you want 
var hubRegistration = Hub.Register(registrationId, tags.ToArray()); 
..... 
} 

的iOS:

public override void RegisteredForRemoteNotifications(UIApplication application, NSData deviceToken) 
{ 
...... 
       NSSet tags = new NSSet(new string[] { "deviiceID" }); // create tags if you want 
       this.Hub.RegisterNativeAsync(deviceToken, tags, registerError => 
       { 
        if (registerError != null) 
        { 
         Console.WriteLine($"Error registering {registerError}"); 
        } 
       }); 
...... 
} 

此處瞭解詳情:

https://docs.microsoft.com/en-us/azure/notification-hubs/xamarin-notification-hubs-ios-push-notification-apns-get-started

https://docs.microsoft.com/en-us/azure/notification-hubs/xamarin-notification-hubs-push-notifications-android-gcm

+0

GCM現在已被FCM取代,似乎無法爲' Hub類 - 這是什麼? – ADringer

+0

請閱讀我展示的鏈接。這些都包括必需組件 –

+0

教程已過時,如果您嘗試創建新的Google雲項目,則會將其重定向到Firebase。看看文章結尾處的評論,很少有人抱怨它已經過時 – ADringer

相關問題