2017-07-29 77 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

相关问题