【问题标题】:Sending tags containing special characters to Azure Notification Hub将包含特殊字符的标签发送到 Azure 通知中心
【发布时间】:2016-03-01 00:51:00
【问题描述】:

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

test+10@gmail.com

test%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)

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

我们无法想象这是不可能的,因为它一定是一个常见的场景。 希望有人能帮忙。

干杯

【问题讨论】:

    标签: azure azure-notificationhub


    【解决方案1】:

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

    您可以对任意字符串进行编码,方法是先将其编码为二进制,然后再编码为十六进制。

    Info Source

    【讨论】:

    • 这在实践中似乎不太正确:在 iOS 上使用 registerNativeWithDeviceToken 注册带有波浪号 (~) 的标签时,我收到“错误请求”/400 错误。没有就好。
    【解决方案2】:

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

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

    Source

    所以“~”无效(我可以根据经验确认)。

    【讨论】:

      猜你喜欢
      • 2020-12-24
      • 2020-11-16
      • 1970-01-01
      • 2013-02-11
      • 2017-02-24
      • 2022-10-18
      • 2018-03-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多