我是Windows手机开发和推送通知的新手。我在我的应用程序中实现了pushwoosh通知。我按照文档PushWoosh WP收到了通知,但确切的通知文本没有显示在通知栏上。我只得到了 “新通知”
这是我的代码。
private async void OnPushNotification(PushNotificationChannel sender, PushNotificationReceivedEventArgs e)
{
String notificationContent = String.Empty;
switch (e.NotificationType)
{
case PushNotificationType.Badge:
notificationContent = e.BadgeNotification.Content.GetXml();
break;
case PushNotificationType.Tile:
notificationContent = e.TileNotification.Content.GetXml();
break;
case PushNotificationType.Toast:
ToastTemplateType toastType = ToastTemplateType.ToastText02;
XmlDocument toastXml = ToastNotificationManager.GetTemplateContent(toastType);
toastXml = e.ToastNotification.Content;
XmlNodeList toastTextElement = toastXml.GetElementsByTagName("text");
toastTextElement[0].AppendChild(toastXml.CreateTextNode("eg"));
//toastTextElement (toastTextElement[0] as XmlElement).InnerText = message;
IXmlNode toastNode = toastXml.SelectSingleNode("/toast");
((XmlElement)toastNode).SetAttribute("duration", "long");
ToastNotification toast = new ToastNotification(toastXml);
ToastNotificationManager.CreateToastNotifier().Show(toast);
break;
case PushNotificationType.Raw:
notificationContent = e.RawNotification.Content;
break;
}
e.Cancel = true;
}
我试图获得确切的推送消息,但无法这样做..请参阅随附的SS进行验证。
为什么我在标题中获取包名称而没有图像?为什么不显示真实的消息而不是新消息? 任何人都可以帮我解决这个问题。 先感谢您。
答案 0 :(得分:1)
请注意,对于Windows Phone 8.1及更高版本,Pushwoosh SDK集成流程与您所遵循的不同:
http://docs.pushwoosh.com/docs/windows-8-sdk-integration
这是由于WP8.1使用WNS(Windows推送通知服务)进行推送消息传递而不是WP8.0及之前使用的MPNS。请注意,MPNS API仍可用于向后兼容 - 这就是您仍然收到通知的原因,但其内容应该不同,以便在WP8.1设备上显示,特别是它应该是以MIME形式在MIME的base64中编码的XML或原始内容(language1:'content1',language2:'content2')OR String。
如果您通过Pushwoosh Remote API发送推送,则应在“wns_content”中指定通知文本,而不是仅在“内容”中指定:
"wns_content": {
"en": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48YmFkZ2UgdmFsdWU9ImF2YWlsYWJsZSIvPg==",
"de": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48YmFkZ2UgdmFsdWU9Im5ld01lc3NhZ2UiLz4="
}
如果您通过Pushwoosh仪表板发送通知,则应在单独的Windows选项卡中撰写邮件: