2

我的祝酒词是

 string ToastPushXML = "<?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:Param>{2}</wp:Param>" + "</wp:Toast>" + "</wp:Notification>";

当我的应用程序正在运行时,我可以在 ShellToastNotificationReceived(object sender, NotificationEventArgs e) 事件处理程序上接收我的自定义参数(wp:myCustomParam1 和其他)作为 e.Collection 中的键

但是当我的应用程序没有运行并且通知到来时,用户点击弹出通知并且应用程序启动,ShellToastNotificationReceived 没有调用并且通知丢失。

那么,在这种情况下如何获取我的自定义参数呢?

4

1 回答 1

1

虽然该参数在这种情况下不可用,但我相信该区域的预期行为是 toast 会驱使用户启动应用程序。一旦应用程序(重新)启动,它将向服务器发出请求以获取所需的最新信息。自应用程序上次启动以来可能已经发送了任意数量的祝酒词,或者应用程序可能使用“社交时间”机制在半夜(或同等时间)不发送祝酒词,因此任何数量的通知也可能没有已经送走了。

有效负载中的param参数仅在应用程序运行时收到通知时使用。在这种情况下,该参数用于将另一个往返保存到服务器以获取更多信息。

文本是为用户而存在的。该param应用程序在那里。期望是,在任何一个通知中最多只有一个是相关的/使用的。当用户不使用应用程序时,文本就在那里,并告诉他们可能希望他们打开应用程序的内容。

于 2013-03-11T12:31:26.347 回答