0

按照“通知中心入门”逐行遍历并验证我已正确完成所有操作。从我能看到的。但是,我没有收到 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!"));
4

1 回答 1

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 个设备并且受到严重限制。

于 2013-09-23T21:57:14.080 回答