Удаление пользователей, которые удалили приложение из базы данных - iOS

В настоящее время у меня есть таблица в базе данных mysql со всеми токенами apn пользователей моего приложения iOS.

Каждые 24 часа мой сервер запускает скрипт, который отправляет уведомление каждому пользователю в таблице.

Я уверен, что некоторые пользователи больше не активны/удалили приложение, и мне интересно, есть ли способ идентифицировать их/удалить их из этой таблицы?

Уведомление включает в себя вызов службы API погоды (которая не является бесплатной), поэтому я стараюсь избегать ненужных вызовов!


person inSo23    schedule 22.07.2018    source источник
comment
Ответ от APNS сообщает вам, когда токен больше не действителен: developer.apple.com/library/archive/documentation/   -  person Paulw11    schedule 22.07.2018
comment
На самом деле я не был полностью ясен изначально - мне все еще нужно сделать вызов API погоды, если пользователь не включает push-уведомления. Поэтому мне нужно быть уверенным, установлено ли у пользователя приложение или нет.   -  person inSo23    schedule 22.07.2018
comment
Единственный способ узнать, установил ли пользователь приложение, — это неудачная отправка. Вероятно, вам следует зарегистрировать все устройства для удаленного уведомления. Вам нужно разрешение, чтобы на самом деле отображать уведомление, но вы можете зарегистрироваться и отправлять удаленные уведомления, не запрашивая у пользователя никаких разрешений. Вы даже можете использовать бесшумное нажатие зонда, чтобы проверить, установлено ли приложение.   -  person Paulw11    schedule 22.07.2018


Ответы (1)


В документе Apple говорится, что если вы получите

400

http-код с

BadDeviceToken

как причина тогда

Указанный токен устройства недействителен. Убедитесь, что запрос содержит допустимый маркер и что маркер соответствует среде.

Я проверяю каждый ответ от APN и аннулирую/удаляю плохие токены из своей базы данных.

Но вам все равно нужно сделать запрос погоды еще раз для каждого устройства, пока оно не будет удалено из вашей БД.

Вы можете отправить беззвучное уведомление перед вашим запросом, чтобы проверить, действителен ли токен устройства, но это будет два уведомления за одно.

person BraveButter    schedule 23.07.2018
comment
Спасибо! Просто хотел добавить, что я видел ответ 410 - The device token is no longer active for the topic в своем тестировании после попытки отправить уведомление после удаления приложения. - person inSo23; 30.07.2018