Several problems here.
While the token was valid (as in it was a correct token correct) at first, the update token has changed (no longer functional for that device), but you were still sending to the same token.
You need to check for token updates in your app, and once a new update token is sent to your app, you need to contact your server to invalidate the old token and start using the new one. This is explained in Starting and updating Live Activities with ActivityKit push notifications
Second issue here is the number and frequency of updates you are sending. You were sending updates every few seconds as high priority updates. This will quickly run down your budget for updates and the remaining update pushes will simply be ignored.
As explained in
Determine the update frequency
section of Live Activities documentation, high priority updates will draw down your budget. While yo can send low priority updates (which will not effect your budget) but will not be able to be delivered to the device at the rates you are sending.
While you can enable your Live Activities to receive frequent ActivityKit push notifications, and if the users may opt in to them, even in that case your updates are way over what your budgets would allow.
I am not sure what your objective is, but that will need rethinking.
Argun Tekant /
DTS Engineer /
Core Technologies