Pushwoosh 为 windows Phone 8.1 推送 Toast 通知
Posted
技术标签:
【中文标题】Pushwoosh 为 windows Phone 8.1 推送 Toast 通知【英文标题】:Push Toast Notifications for windows Phone 8.1 by pushwoosh 【发布时间】:2017-08-13 13:30:00 【问题描述】:我是 Windows Phone 开发和推送通知的新手。我已经在我的应用程序中实现了 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 以进行校准。
为什么我在标题中得到包名而没有图像?为什么不显示真正的消息而不是新通知? 谁能帮我解决这个问题。? 先感谢您。
【问题讨论】:
【参考方案1】:请注意,对于 Windows Phone 8.1 及更高版本,Pushwoosh SDK 集成流程与您所遵循的不同:
http://docs.pushwoosh.com/docs/windows-8-sdk-integration
这是由于 WP8.1 使用 WNS (Windows Push Notification ServiceS) 来推送消息,而不是 WP8.0 和更早版本上使用的 MPNS。请注意,MPNS API 仍可用于向后兼容 - 这就是您仍会收到通知的原因,但是其内容应该与在 WP8.1 设备上显示的内容不同,特别是它应该是 XML 或以对象形式以 MIME 的 base64 编码的原始内容(语言1:'content1',语言2:'content2')或字符串。
如果您通过 Pushwoosh Remote API 发送推送,您应该在“wns_content”中指定通知文本,而不仅仅是在“content”中:
"wns_content":
"en": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48YmFkZ2UgdmFsdWU9ImF2YWlsYWJsZSIvPg==",
"de": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48YmFkZ2UgdmFsdWU9Im5ld01lc3NhZ2UiLz4="
如果您通过 Pushwoosh Dashboard 发送通知,您应该在单独的 Windows 选项卡中撰写消息:
【讨论】:
以上是关于Pushwoosh 为 windows Phone 8.1 推送 Toast 通知的主要内容,如果未能解决你的问题,请参考以下文章
推送通知 (Pushwoosh) 的 iOS SSL 证书配置,生成错误
是否可以将 Windows Phone App 项目转换为 Windows Phone 类库?
未找到模块 com.pushwoosh.plugins.pushwoosh.PushNotification