Azure 通知中心的 Xamarin.Forms PushNotifications

Posted

技术标签:

【中文标题】Azure 通知中心的 Xamarin.Forms PushNotifications【英文标题】:Xamarin.Forms PushNotifications from Azure Notification Hub 【发布时间】:2015-09-11 12:48:55 【问题描述】:

我正在尝试从 Xamarin.Forms 上的 Azure 通知中心接收推送通知。我尝试了 Azure 的 android 示例。问题是,Azure's tutorial 连接到数据库,该数据库在数据库更改时发送通知。我不想那样。已经有一个 CMS 可以触发推送通知。

那么如何将应用程序连接到通知中心并收听通知?

【问题讨论】:

【参考方案1】:

找到了解决办法。我也必须注册 Azure 通知中心。如果有人被卡住,请按照以下步骤操作:

https://azure.microsoft.com/en-us/documentation/articles/partner-xamarin-notification-hubs-android-get-started/

或者,按照此处 Xamarin 的“Azure 消息传递”组件中给出的示例进行操作:https://components.xamarin.com/gettingstarted/azure-messaging

【讨论】:

【参考方案2】:

这一刻我实际上正在做这件事。不是使用 Xamarin,而是使用 Windows Phone 应用程序。希望这能有所帮助。

    确保向开发门户注册您的应用并创建 WNS 关联。 完成后,您可以返回移动服务或通知中心,添加您刚刚从开发门户获得的包 ssid 和客户端密码。

    添加代码以将您的应用与通知中心相关联

    var channel = await PushNotificationChannelManager.CreatePushNotificationChannelForApplicationAsync();

    var hub = new NotificationHub("", ""); var 结果 = 等待 hub.RegisterNativeAsync(channel.Uri);

这可以进入 App.xaml.cs 中的 OnLaunched 事件。这会将应用程序注册到集线器。确保选择应用程序将在包清单中显示的通知类型(toast..etc..)

    为了执行通知,听起来您可能需要自定义 API 来调用通知中心。这就是我正在做的事情。当发生特定操作时,我会调用自定义 API,它会发出推送。

这个详细写在下面的urlhttps://azure.microsoft.com/en-us/documentation/articles/notification-hubs-windows-store-dotnet-get-started/

如果您不想通知所有人,还有其他一些不错的文档,例如仅通知某个类别的订阅者。希望这可以帮助。使用 Xamarin 可能不是 100%,但应该很接近。

【讨论】:

我已经为 WinRT 通用项目完成了这个。这很容易。但我无法为 Xamarin 找到相同的 我不确定你在问什么。您提到 Azure 文档显示了如何在更改数据库时触发推送。我记录了如何创建一个 API,当你的 CMS 发生变化时,你的 CMS 可以访问 > 已经有一个 CMS 可以触发推送通知。我需要的是客户端代码,即 Xamarin.Forms 或 Xamarin.Android 至少接收推送通知。

以上是关于Azure 通知中心的 Xamarin.Forms PushNotifications的主要内容,如果未能解决你的问题,请参考以下文章

多表离线同步 Xamarin.Forms & Azure

Xamarin.Forms:与 Azure MobileServices 同步太慢

Xamarin.forms 安排本地通知

xamarin.forms 中的推送通知

401 未经授权在 Xamarin.Forms 上使用 Azure b2c

在 Xamarin.Forms 中打开通知