【问题标题】:Not receiving any notifications when using service bus notification hub使用服务总线通知中心时未收到任何通知
【发布时间】:2023-03-12 22:14:01
【问题描述】:

按照“通知中心入门”逐行检查并验证我已正确完成所有操作。从我能看到的。但是,我在 Windows 应用商店应用中没有收到任何通知消息。

代码运行,没有错误。我可以看到注册出现在 NH 仪表板上,因为图表显示了操作。

但什么也没发生。

我该如何解决这个问题?

        //register yourself with WNS and tell it you are ready to receive Push Notifications
        var channel = await PushNotificationChannelManager.CreatePushNotificationChannelForApplicationAsync();

        //connect to service bus
        var cn = ConnectionString.CreateUsingSharedAccessKey(new Uri("sb://<namespace>.servicebus.windows.net"),
            "<sharedaccesskeyname>", "<sharedaccesskey>");

        //connect to Notification Hub
        NotificationHub hub = new NotificationHub("<hub name>", cn);

        //Send the channel.Uri from WNS to Notification Hubs
        await hub.RegisterNativeAsync(channel.Uri);

然后后端代码是执行此操作的简单控制台应用程序;

        var client = NotificationHubClient.CreateClientFromConnectionString(
            "Endpoint=sb://<namespace>.servicebus.windows.net/;SharedAccessKeyName=<sharedkeyname>;SharedAccessKey=<sharedaccesskey>",
            "<hub name>");

        //send a message through NH
        await client.SendWindowsNativeNotificationAsync(String.Format("<toast><visual><binding template=\"ToastText01\"><text id=\"1\">{0}</text></binding></visual></toast>", 
            "Hello!"));

【问题讨论】:

    标签: azureservicebus azure-notificationhub


    【解决方案1】:

    调试推送通知可能很棘手(我们正在努力改善调试体验)。 确实没有足够的信息可以帮助您,但我会提供一些指示,如果您仍然被阻止,请随时与我联系。 我将参考 Windowsazure.com (http://www.windowsazure.com/en-us/manage/services/notification-hubs/getting-started-windows-dotnet/) 上的入门教程。

    一些提示:

    1. 查看仪表板:

      • 传入消息(如果您没有任何消息,那么您要么发送到错误的集线器,要么没有)
      • 成功通知(如果您看到这些,则您的客户端应用程序无法显示 toast,请检查 xml 或确保在清单中启用了 toast,教程部分的第二步“从后端发送通知")
      • WNS 身份验证错误(在通知中心的“配置”选项卡中验证您的 PackageSID 和客户端密码)
      • 无效的通道错误(确保将客户端应用代码与 Windows 应用商店应用相关联,教程中“向 Windows 应用商店注册应用”部分的第 4 步)
    2. 尝试在 NotificationHubClient (http://msdn.microsoft.com/en-us/library/microsoft.servicebus.notifications.notificationhubclient.enabletestsend.aspx) 上启用 EnableTestSend 属性。 这将使您的发送方法返回您的通知所针对的注册列表和各个结果。如果您没有看到您的通知针对的注册,那么您要么没有正确注册,要么正在发送和/或注册到不匹配的标签。 重要提示:不要在生产中使用测试发送,因为它只会广播到 5 台设备并且受到严重限制。

    【讨论】:

    • 这里有一些好的建议。谢谢。我看到的唯一计数器是注册。永远不会在收到的消息中看到任何提示。
    • 如果是这种情况,请确保:
    • 1) 您正在发送到正确的集线器,2) 在异步调用返回之前控制台应用程序未退出(确保您可以使用调试器读取 SendResult 实例或查看异常)
    猜你喜欢
    • 2015-06-07
    • 1970-01-01
    • 1970-01-01
    • 2016-08-19
    • 2014-07-30
    • 2022-11-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多