如何在windowsphone中读取toast通知事件中的通道uri



我正在开发一个windows phone应用程序,我可以根据该设备的频道uri向另一个windows phone设备发送消息。

 public static HttpNotificationChannel pushChannel;
 App.pushChannel = new HttpNotificationChannel(channelName);
 App.pushChannel.ShellToastNotificationReceived += new EventHandler<NotificationEventArgs>(PushChannel_ShellToastNotificationReceived);
 void PushChannel_ShellToastNotificationReceived(object sender, NotificationEventArgs e)
  {
   //TODO:
  }

我有以下与上述代码相关的问题:

  1. 如何读取发件人的channelUri以便回复发件人?我看到它在sender->ChannelUri->AbsoluteUri中可用
  2. 如果发送方想要发送更多的参数,我们可以在wp:Text1和wp:Text2之外添加更多的toast xml标记吗?还是只需要使用wp:param
  3. 在像聊天应用程序这样的场景中,我的代码应该首先将每个设备的channeluri存储在某个数据库中,然后当它想向特定用户/设备发送消息时,它应该根据该特定用户的id或电子邮件id读取该用户的channeluri吗?在这一点上,关于如何维护用户信息以交换消息,还有其他建议吗

1。您无法获得通道Uri,因为它们不是为直接设备到设备通信而构建的。你必须自己传送。

2。在toast通知中,您只有这些参数可用。

3。如果没有管理设备/用户/通道ID的额外服务器,您的应用程序可能无法工作。推送通知不用于直接的设备到设备通信。

ChannelUris可能随时更改,因此您的应用程序必须不时将其发送到服务器(建议每次启动时都发送)。

此外,通知的有效负载非常有限,因此您需要以另一种方式传输完整的消息和用户数据。

最新更新