我正在使用C#,而Visual Studio 2013中的Windows Phone 8.1更新5
我正在尝试将我的Windows手机应用程序注册到我的Azure通知中心。
如果我使用RegisterNativeAsync()
方法,则注册没有问题。
如果我尝试使用RegisterTemplateAsync()
方法,则会因错误而失败;
bodyTemplate不是可接受的XML格式。的第一个节点 bodyTemplate应该是Tile / Toast,原始模板除外。
我正在使用与示例完全相同的模板,即
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);
答案 0 :(得分:2)
所以,
经过多次挖掘,而不是最初相信答案,我可以说这个链接包含正确的解决方案。 [Link]
令人难以置信的是,BOM 阻止通知中心方法将xml识别为有效。
肯定是一个应该在测试中获取的错误,或者至少在文档中提到过。 (虽然很差)。
无论如何,关闭以找到下一个错误/功能。