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 通知中心注册的每个设备发送不同的推送通知?

缺少通知中心设备注册

Azure 通知中心 - 从移动应用注册并通过应用后端发送通知

Azure 通知中心和 Apple APNS 推送通知取消注册设备

如何在 iOS 的 Azure 移动应用通知中心注册目标推送通知