gpt4 book ai didi

c# - 移动服务 Azure 推送 URI

转载 作者:行者123 更新时间:2023-12-03 05:09:51 24 4
gpt4 key购买 nike

所以我一直在关注这个教程: http://www.windowsazure.com/en-us/develop/mobile/tutorials/get-started-with-push-dotnet

和第二个教程 http://www.windowsazure.com/en-us/develop/mobile/tutorials/push-notifications-to-users-dotnet/

我想问的是“Channel”表是做什么用的?现在,在我完成第二个教程后,每次启动应用程序时都会在该表中创建一个新条目。

我想做的是为一个用户提供一个 channel (他们通过 Live-User-ID 来区分,我通过单点登录通过 live sdk 获得)..

我正在做一个笔记应用程序,我必须做什么才能让每个用户只收到那些仅适用于他的用户 ID 的推送通知(新笔记项目)?

我是否需要更改 Azure 管理门户中“插入”脚本中的任何内容?

private async void AcquirePushChannel()
{
CurrentChannel =
await PushNotificationChannelManager.CreatePushNotificationChannelForApplicationAsync();


IMobileServiceTable<Channel> channelTable = App.MobileService.GetTable<Channel>();
var channel = new Channel { Uri = CurrentChannel.Uri };
await channelTable.InsertAsync(channel);
}

这是负责创建推送 channel 的代码。

最佳答案

channel 表本质上是存储所有访问过该服务的用户的事件 channel ,但它不会清除旧 channel 。由于 VS 每次都重新部署您的应用程序,因此您每次都会获得一个新的。在商店部署的应用程序中,您不会看到这种行为;但是, channel 确实会过期,只是不是每次运行应用程序时都会过期。您的应用程序可以缓存最后使用的 channel (可能在 LocalSettings 中),并在发布新 channel 时清除服务器端存储(本教程不执行此操作)。

教程实现的方式似乎是,最近插入待办事项的任何人都会在其他人也输入待办事项时收到通知。我在 channel 表中看不到任何将 channel 与特定用户关联起来的信息。

也就是说,您可以添加这一点,但要意识到该 channel 与特定用户的特定计算机上的特定应用程序相关联,因此如果同一用户在两台不同的计算机上使用 ToDo 应用程序,则会有两个不同的“该用户的“事件” channel ,并且通知将发送给两者。因此,您并不是真正想要“一个用户一个 channel ”,而是“每台机器一个用户一个 channel ”。

如果将用户 ID 添加到 channel 表中,并在插入中添加一个 where ,如下所示:

var channelTable = tables.getTable('Channel').where({userId : userId});

您应该非常接近您要寻找的内容。

关于c# - 移动服务 Azure 推送 URI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15794610/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com