• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

ios - 如果设备 token 更改,如何向多个设备(属于一个用户)发送推送通知?

[复制链接]
菜鸟教程小白 发表于 2022-12-11 18:27:39 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

情况是这样的:

  1. 用户在其 iPhone A 上登录应用
  2. 用户在 iPhone B 上登录同一个应用

现在,在数据库中,一个用户有 2 个 token ,这是正确的。

+---------+-------------------+
| user_id |   device_token    |
+---------+-------------------+
|       1 | 1st_device_token1 |
|       1 | 2nd_device_token1 |
+---------+-------------------+

假设,该用户删除了应用程序,然后再次安装(在两台设备上),这意味着 APN 中的 token 发生了变化,因此在我们的数据库中,有 4 个唯一 token 。

+---------+-----------------------+
| user_id |     device_token      |
+---------+-----------------------+
|       1 | 1st_device_token1     |
|       1 | 2nd_device_token1     |
|       1 | 1st_device_token1_new |
|       1 | 2nd_device_token1_new |
+---------+-----------------------+

现在,该用户的推送通知将发送到 4 个设备(4 个 token )。 如果他们继续删除和安装应用程序(可能发生),我会在数据库中为一个用户拥有大量 token ,并认为他们拥有如此大量的设备,而实际上,有很多无效 token 。

如何预防?



Best Answer-推荐答案


Pushwoosh 会定期从无效 token 中清除其数据库(每天一次左右),因此拥有“大量”条目应该不是问题。至于向一个用户的多个设备发送推送,有一个具体的Push by UserID本案例的功能。

这个想法是在登录事件上设置一个特定的用户 ID,并在注销时使用以下方法将其重置为默认值:

[[PushNotificationManager pushManager] setUserId“external_user_1”]

一旦设置了 UserID,您就可以使用“users”参数发送您的/createMessage API 请求:

{
  "request": {
    "application": "APPLICATION_CODE",
    "auth": "API_ACCESS_TOKEN",
    "notifications": [{
      "send_date": "now",
      "content": "Hello world!",
      "users":["external_user_1"]
    }]
  }
}

所有付款计划都可以使用此功能,因此您应该可以使用它。

关于ios - 如果设备 token 更改,如何向多个设备(属于一个用户)发送推送通知?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41400431/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap