【发布时间】:2015-02-06 21:12:44
【问题描述】:
在我的推送通知中,我有可以发送的动态参数。我可以通过定期通知来做到这一点并动态创建我的有效负载。但我想为此使用模板,因为我需要发送到 iOS、android 和 WP。例如:
var payloadAndroid = "{'data':{'message':'$(message)','icon':'$(icon)','url':'/test/test'}}";
var payloadAndroid = "{'data':{'message':'$(message)','icon':'$(icon)','action':'delete'}}";
所以我正在尝试像这样为android注册一个动态模板,但我不确定这是否可行:
var payloadAndroid = "{'data':{'message':'$(message)','icon':'$(icon)',$(params)}}";
registration = new GcmTemplateRegistrationDescription(deviceToken, payloadAndroid);
然后,我会使用这些参数:
var dictionary = new Dictionary<string, string>();
dictionary.Add("message", "My message test");
dictionary.Add("icon", "icon.png");
dictionary.Add("params", "'url':'/test/index.aspx','action':'myaction'");
hub.SendTemplateNotificationAsync(dictionary, "myTag");
这会引发 XmlException,但想知道是否有人对此有其他解决方案?
我也试过这些,同样的例外:
var payloadAndroid = "{'data':{'message':'$(message)','icon':'$(icon)',{$(params)}}}";
var payloadAndroid = "{'data':{'message':'$(message)','icon':'$(icon)',#(params)}}";
我不想在负载中添加所有可能的参数,因为它们来自数据库,可以更改并且负载对于 iOS 来说可能太大。
【问题讨论】:
标签: c# azure azure-notificationhub