标签: azure-notificationhub

使用Azure通知中心向各个用户发送通知

我正在为应用程序创建Web API后端.该应用程序目前仅针对WP8进行规划,但我们还计划在以后推出其他平台的版本.

我们将推送通知基于Azure通知中心.该应用程序不会直接注册,但会调用Web API方法,该方法将为应用程序进行注册.

有两件事我无法绕过头脑:

  1. 我找不到有关向个别WP8用户发送通知的任何文档.我不想播出; 我只想向一个用户发送一个通知.这个用例是否受支持?如何使用Microsoft.ServiceBus.NotificationsAPI 完成此操作?

  2. 我发现了这个:http://www.windowsazure.com/en-us/documentation/articles/notification-hubs-aspnet-notify-users/ - 在通知方面,它实现了我需要的许多功能.该示例仅包含iOS和Windows应用商店应用.这是因为WP8不支持这个用例吗?我不明白为什么,但我对WP8有点新意.

azure windows-phone-8 azure-notificationhub

10
推荐指数
1
解决办法
9274
查看次数

发送通知时,Azure通知中心注册将消失

最近,我们的Azure通知中心变成了一个非常神秘的实体.当Apple设备注册时,我们可以在Service Bus Explorer中看到它们,一旦我们尝试发送任何通知(来自SBE或Azure门户),我们就会收到"通知成功"消息,但设备上没有任何内容.刷新注册列表揭示了注册被删除的事实.

我们没有在代码中的任何地方删除它们,并且TTL尚未过期.

有什么建议?

notifications azure ios azure-notificationhub

10
推荐指数
2
解决办法
2902
查看次数

Azure Notification Hubs templateName的用法

我已经创建了一个带有Cordova的示例App和一个与Azure Notification Hubs对话的Mvc5应用程序.注册由后端处理,因为标签必须是安全的.

我们使用了从后端注册的三种不同的模板,用于iOS,WP8和Android平台; 后端可以$message使用有效载荷发送推送通知sendtemplatenotificationasync.

它工作但我们没有使用templateName.

从您的app后端文档中读取注册,我发现了这个:

"您可以使用注册的TemplateName属性来识别模板".

一旦我使用templateName成功创建了一个注册,我该怎么办呢?

我期望找到一个API发送方法,除了标签或标签表达外,还能指定一个特定的templateName; 我还没有找到这样的东西.

什么是含义和一般用例templateName

c# azure push-notification azure-notificationhub

9
推荐指数
1
解决办法
1104
查看次数

WNS推送仅发送到某些标签

大纲

我正在尝试为我的应用游戏实施WNS.我目前在创建具有以下功能的新用户时发送通知,该功能有效:

public async void SendNotificationToTag(string tag, string content)
{
    var wnsToast = "<toast><visual><binding template=\"ToastText01\">"
        + "<text id=\"1\">Breaking " +content + "An WNS News!"
        + "</text></binding></visual></toast>";

    WindowsPushMessage wnsMessage = new WindowsPushMessage();
    wnsMessage.XmlPayload = wnsToast;

    await Services.Push.HubClient.SendWindowsNativeNotificationAsync(wnsToast, tag);
    Services.Log.Info("WNS TEST - SendWindowsNativeNotificationAsync - done");
}
Run Code Online (Sandbox Code Playgroud)

我得到了每个用户名的通知,即个人通知.然后我更新用户监听的标签,查看集线器数据库,这似乎也有效:

  1. -Usernamecph - gameID1151 - gameID1152 - gameID1153 - gameID1154 - gameID1155 - gameID1156 - gameID1157 - gameID1158
  2. -gameID1157 - UsernameFyn - gameID1151 - gameID1153 - gameID1155 - gameID1156-

使用此检查从集线器中提取标签

foreach (Microsoft.ServiceBus.Notifications.RegistrationDescription t in a)
{ …
Run Code Online (Sandbox Code Playgroud)

c# azure push-notification azure-notificationhub wns

9
推荐指数
0
解决办法
361
查看次数

在Postman中为Azure通知中心创建注册

我在Azure门户中创建了一个服务总线/通知中心.

现在我正在尝试使用基于此doc的Postman的Azure REST API :https: //msdn.microsoft.com/en-us/library/azure/dn223265.aspx

这是我的Postman配置:

这是以下网址的POST方法(创建注册) https://mysite.servicebus.windows.net/mysite-notif/registrations/?api-version=2015-01 (出于隐私原因,我在该网址中替换为mysite)

标题中,我输入了2个条目:

Content-Type application/atom + xml; type = entry; charset = utf-8

授权 Endpoint = sb:// [mysite] .servicebus.windows.net /; SharedAccessKeyName = DefaultFullSharedAccessSignature; SharedAccessKey = [mykey](这是我从Azure门户复制的连接信息)

Body中,我选择了raw-XML(txt/xml)并粘贴:

<?xml version="1.0" encoding="utf-8"?>
<entry xmlns="http://www.w3.org/2005/Atom">
    <content type="application/xml">
        <WindowsRegistrationDescription xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.microsoft.com/netservices/2010/10/servicebus/connect">
            <Tags>myTag, myOtherTag</Tags>
            <ChannelUri>{ChannelUri}</ChannelUri>
        </WindowsRegistrationDescription>
    </content>
</entry>
Run Code Online (Sandbox Code Playgroud)

(这是Windows Notification Service示例的本机注册)

当我从邮递员中发送此电话时,我收到401错误:

<Error>
    <Code>401</Code>
    <Detail>MalformedToken: The credentials contained in …
Run Code Online (Sandbox Code Playgroud)

api rest azure-notificationhub postman

8
推荐指数
2
解决办法
7023
查看次数

两个应用程序的相同表,通知中心和服务器

我们被微软放弃Silverlight并专注于UWP而陷入困境.最终我们不得不开发两个双重关注的应用程序(UWP和Silverlight),这给我们带来了两个无法捆绑/打包在一起的应用程序.因此,我们决定将这些应用作为配套应用.

这两个应用程序都使用身份验证,目前它使用Microsoft身份验证.用于身份验证的服务属于该类型Azure App Service - Mobile.除身份验证之外的服务还提供通知集线器,blob存储和SQL存储的接口.

因此,问题是是否可以拥有一个App Service - Mobile(不是移动服务),并使用相同的服务验证两个不同的应用程序?此外,可以使用相同的通知中心向不同的应用发送通知吗?

或者我们需要为每个应用程序创建两个不同的服务,以便于使用身份验证和推送消息.然后我们可以将同一个数据库链接到两个App Service - Mobile?但这会使通知中心的问题没有相同的注册?

azure azure-notificationhub azure-web-app-service

8
推荐指数
1
解决办法
224
查看次数

App Center推送与通知中心

因此,似乎在整个地方都有文档的精神,docs.microsoft再次取得了成功.

考虑发送推送通知,我遇到了这两个页面:

  1. https://docs.microsoft.com/en-us/appcenter/sdk/push/uwp

  2. https://docs.microsoft.com/en-us/azure/app-service-mobile/app-service-mobile-windows-store-dotnet-get-started-push

请注意,从任一页面到另一页面都没有引用.

所以我尝试搜索谷歌,对这个问题的标题进行类似的搜索,只发现上述两页以外的内容.

这让我想到了这个问题:App Center Push和Azure Notification Hub之间的关系(和/或区别)是什么?

push-notification azure-notificationhub uwp visual-studio-app-center

8
推荐指数
1
解决办法
2250
查看次数

Azure NotificationHubClient 在 Azure 函数上密集使用时抛出 SocketException

我们正在使用 Azure 函数通过 Azure NotificationHubClient 发送推送通知。这个函数在实时环境的高峰时间被调用很多,因此我们从 NotificationHubClient.SendNotificationAsync() 方法中抛出了很多 SocketExceptions。

异常详情:

Microsoft.Azure.NotificationHubs.Messaging.MessagingException: Unexpected exception encountered TimeStamp:2020-03-27T04:14:35.4655705Z ---> System.Net.Http.HttpRequestException: Cannot assign requested address ---> System.Net.Sockets.SocketException: Cannot assign requested address
   at System.Net.Http.ConnectHelper.ConnectAsync(String host, Int32 port, CancellationToken cancellationToken)
   --- End of inner exception stack trace ---
   at System.Net.Http.ConnectHelper.ConnectAsync(String host, Int32 port, CancellationToken cancellationToken)
   at System.Threading.Tasks.ValueTask`1.get_Result()
   at System.Net.Http.HttpConnectionPool.CreateConnectionAsync(HttpRequestMessage request, CancellationToken cancellationToken)
   at System.Threading.Tasks.ValueTask`1.get_Result()
   at System.Net.Http.HttpConnectionPool.WaitForCreatedConnectionAsync(ValueTask`1 creationTask)
   at System.Threading.Tasks.ValueTask`1.get_Result()
   at System.Net.Http.HttpConnectionPool.SendWithRetryAsync(HttpRequestMessage request, Boolean doRequestAuth, CancellationToken cancellationToken)
   at System.Net.Http.RedirectHandler.SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
   at System.Net.Http.DiagnosticsHandler.SendAsync(HttpRequestMessage request, CancellationToken cancellationToken) …
Run Code Online (Sandbox Code Playgroud)

azure azure-notificationhub azure-functions azure-hub

7
推荐指数
1
解决办法
524
查看次数

如何设置发送到 NotificationHub 的推送通知的高优先级

我已经成功实现了 Azure Function,它向 Android、iOS 和 UWP 的 NotificationHub 发送推送通知。在测试过程中,我发现当 Android 设备处于 Doze 模式时,锁定屏幕上不会发送推送通知。只有在我解锁手机时才会交付。

我发现了这个 stackoverflow 帖子,它帮助我使用方法SendFcmNativeNotificationAsync修复它。我使用了这个代码:

string payload = @"{
                    ""data"":{
                        ""notificationtype"":""sap"",
                        ""title"":""value2"",
                    },
                        ""priority"":""high""
                    }";

await hub.SendFcmNativeNotificationAsync(payload);
Run Code Online (Sandbox Code Playgroud)

然而,我使用SendNotificationAsync方法的实现适用于所有 3 个平台,但不适用于打盹模式。这是我发送通知的代码:

Dictionary<string, string> templateParameters = new Dictionary<string, string>();

templateParameters["alert"] = "Test";
templateParameters["title"] = "Whosap";

var notification = new TemplateNotification(templateParameters);
await hub.SendNotificationAsync(notification);
Run Code Online (Sandbox Code Playgroud)

我试图设置通知标题:

var headers = new Dictionary<string, string> { { "android", @"{""priority"": ""high""}" } };
notification.Headers = headers;
Run Code Online (Sandbox Code Playgroud)

但这没有用。有人知道如何在 TemplateNotification 对象中设置优先级并使用 SendNotificationAsync 方法发送它吗?

这就是我强制/取消强制设备进入打盹模式的方式: …

android azure xamarin.android xamarin azure-notificationhub

7
推荐指数
1
解决办法
2894
查看次数

Azure 通知中心的 Firebase 云消息传递 (FCM) Api 密钥

我正在创建一个 Xamarin 项目来测试 Azure 通知中心,但在执行本文中的步骤时遇到问题

在“创建 Firebase 项目并启用 Firebase Cloud Messaging ” 部分下,第 6 步已过时,因为 Google 似乎已更改其模型以获取服务器密钥,或者服务器密钥不适用于 FCM。

任何人都可以阐明如何获取Azure 通知中心的 Api 密钥吗

azure firebase xamarin azure-notificationhub firebase-cloud-messaging

7
推荐指数
2
解决办法
2535
查看次数