3

我们想在我们的 iPad 应用程序中使用 Azure 通知中心,但我们遇到了问题。确定谁收到推送消息的标签是电子邮件地址,如果它只包含普通字符,它就可以正常工作。但是当我们尝试发送如下所示的标签时它不起作用:

测试+10@gmail.com

或者

测试%10@gmail.com

我们正在使用这种方法从后端发送推送:

http://msdn.microsoft.com/en-us/library/windowsazure/dn539552.aspx

当我们这样做时,我们会收到以下消息:

无效标签 test+10@gmail.com.TrackingId:48b6f399-3f27-40b4-a6f9-b0838623c9c3_G19,TimeStamp:12/10/2013 12:38:38 PM

无效请求 (400)

我们查看了文档,看看它是否在某处声明我们需要以特殊方式对标签进行编码,但什么也没找到。

我们无法想象这是不可能的,因为它必须是一个常见的场景。希望有人可以提供帮助。

干杯

4

2 回答 2

4

标签中允许的字符是:ASCII-7 字母数字字符加上{‘.’, ’-’, ’_’, ’~’, ‘:’, ‘@’, ‘#’}. 最大长度为 120 个字符。

您可以通过将任意字符串编码为二进制然后十六进制来编码。

信息来源

于 2014-01-18T02:46:18.210 回答
3

我发现与 Elio 略有不同的信息:

标签可以是任何字符串,最多 120 个字符,包含字母数字和以下非字母数字字符:'_'、'@'、'#'、'.'、':'、'-'。

资源

所以'~'是无效的(我可以从经验中确认)。

于 2016-02-29T16:43:17.513 回答