请问你们会为了更新 iOS deviceToken 单独设计一个接口么?

2021-05-05 20:27:45 +08:00
 Phishion

我发现获取 deviceToken 必须联网才行,既然要联网,我想了 2 个方案

1 )先等待获取 deviceToken 再将这个字段写到注册接口中,好处是不用单独写一个接口,缺点是,苹果万一出 bug 没给这个东西,我就凉了

2 )直接设计一个接口,拿到这个数据后再请求服务器,缺点是毕竟还是多请求了一遍网络

请问你们是怎么设计这块儿东西的呢?这一块儿还有哪些坑?求大佬告知。

1379 次点击
所在节点    程序员
7 条回复
icyalala
2021-05-05 20:53:06 +08:00
当然是啥时候拿到 Token 啥时候发。。
Push 权限随时会开启或关闭,注册账户也会注销和切换,这些都要处理好。
Phishion
2021-05-05 21:11:08 +08:00
@icyalala 那这个有持续更新的必要么?每次都访问一遍接口是不是有点浪费?比如我把它持久化,如果发现数值不一样再提交接口可好?
GTim
2021-05-05 22:02:50 +08:00
deviceToken 不和用户挂钩,只和 client_id 挂钩..,第二就是变化了就保存。
Phishion
2021-05-05 23:24:18 +08:00
@GTim 您好,我没法获取唯一的 client_id 呀,苹果每次删除重装 APP 这些标识符都会变化,我不跟用户绑定该如何推送呢?
GTim
2021-05-06 08:41:42 +08:00
@Phishion 每次重装就重新来一个啊。反正客户端生成,如果删除重装,deviceToken 也会变啊
oxromantic
2021-05-06 11:47:04 +08:00
不要考虑更新逻辑优化,如果仅仅是冷启动时更新一个 client id 对应的 push token 就产生性能问题,那么服务端程序员可以拉出去祭天了;之所以让每次都更新,是增加一定的容错率,万一服务端自己有 bug,导致 token 被清空,也能及时恢复过来,我相信服务端肯定希望你每次启动不管变没变都要更新
Phishion
2021-05-06 12:03:40 +08:00
@oxromantic
@GTim
@icyalala

好的,谢谢大佬

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/775024

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX