2

我从应用程序中获得了我的网址。它开始于:

http://sn1.notify.live.net/throttledthirdparty/01.00/

如果我使用浏览器导航到该 URL,我会收到以下消息:

Microsoft Push Notification Server

然后我抓住了微软提供的代码。

http://msdn.microsoft.com/en-us/library/ff402545%28v=VS.92%29.aspx

如果我采用 C# 代码并按原样使用它(仅更改 URL,Payload 为空字节数组,并将“”字符串更改为 Guid.NewGuid().ToString()

我每次都收到404。

因为我没有通过浏览器获得 404,所以内容必须很重要,并且推送通知服务器依赖于内容,所以如果我通过删除通知消息并添加(按照他们的建议)将其更改为简单的原始通知:

        byte[] notificationMessage = new byte[] {0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08};
        sendNotificationRequest.Headers.Add("X-NotificationClass", "13"); 

我仍然每次都得到404。我试过用同样的结果做吐司通知。

我究竟做错了什么?

4

2 回答 2

1

您收到 404 的原因是您发送的 notificationMessage 数据不是它所期望的。试试这个,看看它是否有效。

你可以在这里找到一个教程:http: //benjii.me/2011/04/push-notifications-in-windows-phone-7-3-push-that-notification/

string template =
        "<?xml version='1.0' encoding='utf-8'?>" +
        "<wp:notification xmlns:wp='WPNotification'>" +
            "<wp:toast>" +
                "<wp:text1>{0}</wp:text1>" +
                "<wp:text2>{1}</wp:text2>" +
            "</wp:toast>" +
        "</wp:notification>";

string toastXML = string.Format(template, "Testing", "This is a test");

byte[] notificationMessage = new UTF8Encoding().GetBytes(toastXML);
于 2011-05-27T00:28:53.320 回答
0

在将 toast 通知绑定到 shell 后,我最终让我的工作。我有一个方法可以做到这一点,但在某些情况下并没有调用该方法。

于 2011-06-07T15:35:35.930 回答