0

我刚想出了一个新问题,但同样的上下文是天蓝色的。现在我正在尝试实现 Multilinqual(localized) 推送通知,所以我正在关注这个本地化推送通知,所以这个链接包含了很多制作类别的工作,我只是想省略它们,所以我尝试使用直接代码订阅 toast 通知生成 toast 通知的 Bachend 客户端应用程序中给出的标记的基础......这是后端客户端应用程序代码..

NotificationHubClient hub = NotificationHubClient.CreateClientFromConnectionString("Endpoint=sb://samplenotificationhub-ns.servicebus.windows.net/;SharedAccessKeyName=DefaultFullSharedAccessSignature;SharedAccessKey=", "samplenotificationhub");

        var notification = new Dictionary<string, string>() {
                        {"News_English", "World News in English!"},
                        {"News_French", "World News in French!"},
                        {"News_Mandarin", "World News in Mandarin!"}};
        await hub.SendTemplateNotificationAsync(notification, "World");

首先,我在我以前工作的示例应用程序上尝试了它,它也可以根据标签接收推送通知,所以我只是尝试更新它的代码以获取基于模板的 toaste 通知,但不幸的是我没有得到任何东西..这里是代码..

private void AcquirePushChannel()
    {
        CurrentChannel = HttpNotificationChannel.Find("mychannel");

        if (CurrentChannel == null)
        {
            CurrentChannel = new HttpNotificationChannel("mychannel");
            CurrentChannel.Open();
            CurrentChannel.BindToShellToast();
            CurrentChannel.BindToShellTile();

        }

        CurrentChannel.ChannelUriUpdated += new EventHandler<NotificationChannelUriEventArgs>(async (o, args) =>
        {
            var tags = new HashSet<string>();
            tags.Add("World");
            var hub = new NotificationHub("samplenotificationhub", "Endpoint=sb://samplenotificationhub-ns.servicebus.windows.net/;SharedAccessKeyName=DefaultListenSharedAccessSignature;SharedAccessKey=");
            var template = String.Format(@"<toast><visual><binding template=""ToastText01""><text id=""1"">$(News_English)</text></binding></visual></toast>");
            await hub.RegisterTemplateAsync(args.ChannelUri.ToString(),template,"hello", tags);


         //   await hub.RegisterNativeAsync(args.ChannelUri.ToString(),tags);
        });
    }

因此,如果您对此有所了解..请指导我,任何帮助或建议都将不胜感激..

4

1 回答 1

0

你好朋友我再次能够解决我的问题所以我在这里做的错误是我盲目地关注链接,因为它适用于 Windows 商店应用程序,我想为 Windows Phone 8 实现相同的,所以我做错的是使用Windows Phone 8 的 Windows 商店应用程序中使用的相同模板。所以我的理解是,如果想从通知中心定位多个平台,那么发送 toast 通知的客户端应用程序对所有人都有相同的通知,但你的所有平台都会以不同的方式处理它就像 Windows 8 一样,我正在使用的模板将工作,但 windows phone 这个模板可以工作。

 string toast = "<?xml version=\"1.0\" encoding=\"utf-8\"?>" +
     "<wp:Notification xmlns:wp=\"WPNotification\">" +
        "<wp:Toast>" +
             "<wp:Text1>Hello Windows phone</wp:Text1>" +
        "</wp:Toast> " +
     "</wp:Notification>";

所以不同的平台会有不同的平台。希望它也能帮助别人。

于 2013-10-03T18:50:23.020 回答