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 证书配置,生成错误

设备未在 pushwoosh 中注册

是否可以将 Windows Phone App 项目转换为 Windows Phone 类库?

未找到模块 com.pushwoosh.plugins.pushwoosh.PushNotification

com.pushwoosh.plugins.pushwoosh 3.6.15 粉碎应用

Pushwoosh iOS SDK,在后台模式下禁用 pushwoosh 生成的警报