向iOS用户发送通知时,对于其中一些用户,我会收到响应状态码400(BadDeviceToken)或代码410(未注册).
从Apple关于"BadDeviceToken"的文档:
指定的设备令牌很糟糕.验证请求是否包含有效令牌以及令牌是否与环境匹配.
"坏"是什么意思?我知道设备令牌在某些时候是有效的.用户如何使其设备令牌变坏?
从关于"未注册"的文档:
设备令牌对于指定的主题处于非活动状态.
这是否意味着应用程序已被删除?或者这种反应可能还有其他原因.
apple-push-notifications http-headers ios http-status-code-400 http-status-code-410
我有一个问题,用户在卸载并重新安装我的应用程序后开始接收双重通知,因为设备向我的服务器发送了2个不同的APNS令牌 - 一个来自第一个安装,另一个来自重新安装应用程序.由于令牌不同,我不知道这是同一个设备.
在iOS 9问世之前,每次我卸载并重新安装应用程序时,我总是拥有相同的APNS,因此很容易知道这是用户以前使用的相同设备.从iOS 9开始,似乎每次安装都会更改APNS令牌.
我的问题是如何判断客户端是否卸载并重新安装应用程序,并更新其APNS令牌而不是添加新令牌?
我问,因为这听起来像大多数iOS开发人员必须处理的事情,但我找不到Apple如何解决这个问题的最佳做法,所以我希望其他人可以分享他们在这个问题上的经验.
我将在应用程序商店和1个城市飞艇帐户上有多个应用程序,以向所有这些设备发送推送通知.我想知道的是,每个Apple设备是否在所有应用程序中都具有相同的"推送令牌"?这更像是一个数据库体系结构的东西,所以如果一个设备使用我的许多应用程序,我就不会多次复制推送令牌.
如果每个Apple设备为其安装的每个应用程序生成一个唯一的推送令牌,我的架构需要更改.
根据这个论坛帖子APNS设备令牌是否曾经改变,一旦创建?设备令牌可能会过期,或者APNS可能会更改设备令牌.我的问题是,如果服务器将此过期令牌发送给Apple,APNS是否会使用过期令牌进行通知?APNS可以将此过期令牌用于其他设备吗?
使用APNS,当设备注册时,它注册的令牌有多长时间?应用程序安装的整个时间?我似乎记得在文档中的一个注释说它只有在同步/重置之前才有用,但是再次查看文档我找不到那个注释(并且它在我的(不可否认的非广泛的)测试中并不成立) .任何人都可以确认每个令牌的有效期是多长?
当我第一次安装应用程序并且它要求获得通知的权限时,如果我按是,则生成设备令牌,但每当我重新启动应用程序时,我都会收到错误消息:
Failed to fetch APNS token Error Domain=com.firebase.iid Code=1001 "(null)
Run Code Online (Sandbox Code Playgroud)
任何人都可以告诉每次启动应用程序时是否生成设备令牌?
在安装应用程序并在任何类型的方案中注册通知后,是否有可能更改设备令牌.
场景如:
我正在注册我的iPhone应用程序进行远程通知.
在这里我的场景:
我的问题是:
iphone notifications objective-c push-notification apple-push-notifications
ios ×4
iphone ×3
objective-c ×3
devicetoken ×2
cocoa-touch ×1
firebase ×1
http-headers ×1
push ×1