c# - 使用 Azure 移动服务 .Net 后端仅进行推送

标签 c# azure push-notification azure-mobile-services

我正在为推送和许多其他工作创建 Azure 后台辅助角色。

Azure Push Notification Hub example不同为了发送原始 JsonPayload 字符串,Azure 移动服务(又名 ZUMO)库提供了更具体和方便的推送功能。

例如,this document下面介绍如何发送GCM推送。

GooglePushMessage message = new GooglePushMessage();
message.Data.Add("greeting", "Hello World!");
message.DelayWhileIdle = true;
message.TimeToLiveInSeconds = 60 * 60 * 2;
message.Add("myKey1", "myValue");
await Services.Push.SendAsync(message);

简而言之,我想使用 GooglePushMessage : Microsoft.WindowsAzure.Mobile.Service.Notifications.IPushMessage 类发送推送。它看起来对 iOS 和 WNS 也很有用。

我的问题是,服务需要初始化,但很难找到应该给出哪些配置。 Azure 门户自动生成的示例源提供了大量 MS_ 设置,这些设置在 web.config 中可能对我有用,也可能不可用。

Services的基本初始化代码可能类似如下,但是如何正确执行呢?

ConfigOptions options = new ConfigOptions();
HttpConfiguration config = ServiceConfig.Initialize(new ConfigBuilder(options));
ApiServices Services = new ApiServices(config);

最佳答案

您可以使用 NuGet 中的服务总线库。它有一个命名空间,用于管理通知中心并使用特定于平台的通知类或更通用的方法(与模板一起使用)发送通知。
http://msdn.microsoft.com/en-us/library/azure/microsoft.servicebus.notifications.aspx

我承认它目前没有那么多好的辅助方法,但它比 JSON 字符串在所有方面都好一点。

我建议使用带有通知中心的模板,特别是如果您希望拥有多个客户端平台,因为它使您能够发送原始数据并让客户通过其模板决定他们希望如何接收该数据以及显示它。例如,您可能让 Android 将消息作为警报处理,然后让 IOS 显示徽章或在通知中心放置通知。在 Windows/WinPhone 上,您可以根据发送到通知中心的相同原始数据进行图 block 更新或烘烤所有驱动。

在许多情况下,Azure 移动服务内容只能在 Azure 移动服务中托管工作,因为它们的运行时会为您注入(inject)其中一些服务。您可能可以让它工作,但它曾经/打算在 Azure 移动服务中托管工作。这是增值的一部分。

综上所述,您可以设置 Azure 移动服务并让它仅托管推送通知方面。然后,您可以通过自定义 API(只需添加常规 ASP.NET Web API Controller )与其交互以调用推送通知。或者将与推送通知相关的计划工作放入移动服务计划作业中,而不是工作人员角色中。

关于c# - 使用 Azure 移动服务 .Net 后端仅进行推送,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25860167/

相关文章:

azure - 应用洞察 : SQL Dependency result code "-2"

c# - 在 Windows 8.1 channel 上使用相同的推送通知 channel

c# - 从 lambda 表达式参数读取和写入模型属性

azure - 同步失败: access denied to azure compute emulator

c# - 为什么我的列表在函数调用中分配后为空?

C# - Azure 函数问题

php - 如何在 PHP 中发送 HTTP/2 POST 请求

iphone - 从客户端发送推送通知

c# - 如果字符串本身就是 char 数组,那么使用 String.ToCharArray 有什么意义呢?

c# - 如何在 Asp.Net Core 上使用 MongoDB.Driver 进行迁移和种子?