Azure 通知中心注册模板 xml 无效
Posted
技术标签:
【中文标题】Azure 通知中心注册模板 xml 无效【英文标题】:Azure notification hub register template xml not valid 【发布时间】:2015-09-04 14:20:54 【问题描述】:我在 Visual Studio 2013 update 5 中使用 C# 和 windows phone 8.1
我正在尝试让我的 Windows Phone 应用注册到我的 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);
【问题讨论】:
模板看起来完全没问题,你能再贴一些代码吗,例如你怎么称呼RegisterTemplateAsync()
?
【参考方案1】:
所以,
经过更多挖掘,并且最初并不相信答案,我可以说这个链接包含正确的解决方案。 [Link]
令人难以置信的是,BOM正在阻止通知中心方法将 xml 识别为有效。
肯定是应该在测试中发现的错误,或者至少应该在文档中提及。 (虽然很可怜)。
无论如何,去寻找下一个错误/功能。
【讨论】:
以上是关于Azure 通知中心注册模板 xml 无效的主要内容,如果未能解决你的问题,请参考以下文章
如何向 Azure 通知中心注册的每个设备发送不同的推送通知?
Azure 通知中心 - 从移动应用注册并通过应用后端发送通知