通过pushwoosh推送Windows Phone 8.1的Toast Notifications

时间:2017-03-21 17:50:15

标签: c# windows push-notification notifications windows-phone-8.1

我是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进行验证。

enter image description here enter image description here

为什么我在标题中获取包名称而没有图像?为什么不显示真实的消息而不是新消息? 任何人都可以帮我解决这个问题。 先感谢您。

1 个答案:

答案 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选项卡中撰写邮件:

windows push dashboard