如何从Windows Phone中的toastnotification事件中读取通道uri

时间:2015-03-05 13:41:22

标签: c# windows-phone-7 windows-phone-8 windows-phone windows-phone-8.1

我正在开发一个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以便我可以回复发件人?我发现它在发件人中可用 - &gt; ChannelUri-&gt;绝对URI
  2. 如果发送者想要发送更多参数,我们可以添加更多toast xml标签,除了wp:Text1和wp:Text2还是我们只需要使用wp:param吗?
  3. 在聊天应用程序这样的场景中,我的代码应首先存储某个数据库中每个设备的channeluri,然后当它想要向特定用户/设备发送消息时,它应该根据他的id或emailid读取该特定用户的channeluri ?关于如何维护用户信息以交换消息的任何其他建议?

1 个答案:

答案 0 :(得分:2)

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

2。 在祝酒通知中,您只能使用这些参数。

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

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

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