【问题标题】:Azure Notification Hub installationId - when to re-generate?Azure 通知中心 installationId - 何时重新生成?
【发布时间】:2023-03-12 23:30:01
【问题描述】:

我们正在使用安装模型来管理我们的推送通知。

我的问题很简单:我们什么时候应该重新生成installationId

a) 对于新安装的应用程序

b) 对于应用的新安装更新?

对于现有的installationId,我们遇到了一些问题更新模板,所以想知道我们是否应该执行选项 b)?

installationId 的预期生命周期到底是多少?

编辑

我们看到的问题如下:

  1. 用户安装使用推送通知模板 xyz 的应用程序版本,向 Azure NH 注册。生成新的installationId
  2. 用户收到推送通知,一切正常。
  3. 用户安装了应用版本的更新,注册发生在带有更新模板但相同installationId的Azure NH。
  4. 用户收到模板的推送通知

换句话说 - 当installationId 相同时,模板不会出现更新

编辑 2

这里有一些重现步骤。 App 是一个 iPhone 应用程序,它与 .NET 后端通信以注册推送通知。 .NET 后端与 Azure NH 对话。 (Microsoft.Azure.NotificationHubs v1.0.7)。后端正在使用安装模型(例如CreateOrUpdateInstallationAsync,接受应用程序生成的installationId,以及一堆模板/标签)。

复制步骤:

  • 已删除应用
  • 从应用商店安装的应用(旧模板)
  • 打开应用,测试推送,效果很好(使用预期模板)
  • 已下载最新版本的应用(新模板)
  • 打开应用,应用使用新模板调用 .NET 后端到 CreateOrUpdateInstallation
  • 测试推送并获得旧模板。 (错误)
  • 多次打开和关闭应用程序以强制更新,但仍获取旧模板。

【问题讨论】:

  • @Mimi Xu 希望你能帮助我。
  • installationId 和设备令牌之间应该存在 1:1 的映射关系。这意味着您根本不必重新生成installationIds。你有什么样的问题? (如果您怀疑这是服务器端的错误,您能否提及您的命名空间和发生该错误的大致时间范围?)
  • @NikitaG。 - 更新了更多信息的问题。命名空间是homely-notificationhub。过去 24 小时内发生过。
  • 正如 Nikita 所说,只要设备上有一个唯一的应用程序安装,就无需更改各种安装的安装 ID。如果您怀疑安装没有正确更新,我们希望获得更多信息!如果您不介意分享重现步骤和您正在使用的 sdk/api,我们的团队可以仔细查看。
  • @rpm1984,首先要确保的一件重要事情是registrations are not confused with installations。 (在您的问题中,您提到了installationId 以及“注册发生”。)另外,您能否始终如一地重现该场景?如果您进行模板更新然后立即进行推送,则新模板可能仍在更新,因此使用旧模板。但通常会在几秒钟内得到处理。

标签: azure-notificationhub


【解决方案1】:

当您更新应用程序时, 新模板与相同的安装 ID 一起使用。然后您使用 createOrUpdateInstallation(),虽然名称中包含“更新”,但 NotificationHub 文档建议我们将 PatchInstallationAsync() 与补丁更新过程一起使用。 PatchInstallationAsync()

【讨论】:

    猜你喜欢
    • 2018-03-29
    • 2017-09-06
    • 2019-10-19
    • 2020-05-22
    • 2018-04-24
    • 2020-07-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多