我在 Visual Studio 2013 update 5 中使用 C# 和 Windows Phone 8.1
我正在尝试让我的 Windows Phone 应用程序注册到我的 Azure 通知中心。
如果我使用 RegisterNativeAsync()
方法,它注册没有问题。
如果我尝试使用 RegisterTemplateAsync()
方法,则会失败并出现错误;
The bodyTemplate is not in accepted XML format. The first node of the bodyTemplate should be Tile/Toast, except for raw template.
我使用的模板与示例中完全相同,即
var customTemplate = string.Format(@"<toast><visual><binding template=""ToastText01"">
<text id=""1"">$(message)</text></binding></visual></toast>");
在我看到的例子和MSDN上的视频[ link ] 不对字符串执行任何特殊处理。
我相信我需要使用模板来使跨平台通知正常工作,因此确实需要解决这个问题。
当您自己尝试时,在演示中完成的事情不起作用,这是令人沮丧的。
关于我需要做什么才能让它正常工作的任何想法都感激不尽?
我正在这样调用该方法;
var reg = await hub.RegisterTemplateAsync(e.ChannelUri.ToString(), customTemplate, @"dltemplate", tags);
最佳答案
所以,
经过更多挖掘,并且最初不相信答案,我可以说此链接包含正确的解决方案。 [Link]
令人难以置信的是,BOM 正在阻止通知中心方法将 xml 识别为有效。
这肯定是一个应该在测试中发现的错误,或者至少在文档中提到。 (虽然很穷)。
无论如何,去寻找下一个错误/功能。
关于c# - Azure 通知中心注册模板 xml 无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32400379/