Существует несколько сообщений и обсуждений по поводу отслеживания удаления приложений iOS и Android. Мы также хотели бы достичь этого и попробовали предложенные решения, но мы выяснили, что это работает не так, как ожидалось.
Способ, которым это должно быть сделано, это отправить молчаливый пу sh на токен устройства и затем проверка ответа, если он был успешно. В нашем случае ответ всегда
success: 1
до тех пор, пока само устройство не запросит или не получит новый токен, и это происходит только при установке приложения.
Возможно, срок действия токена истекает сам по себе, но это не вариант (я нашел комментарий, в котором упоминается, что срок действия токена истечет через 24 месяца, это слишком долго для отслеживания удаления).
Может быть, мы делаем что-то не так, но это наш путь:
Silent pu sh via https://fcm.googleapis.com/fcm/send
{
"to" : "{device-token}",
"content_available": true,
}
ответ
{
"multicast_id": {any-id},
"success": 1,
"failure": 0,
"canonical_ids": 0,
"results": [
{
"message_id": "{any-id}"
}
]
}
этот ответ только успешен: 0 сбой: 1, когда само приложение получает / запрашивает новый токен, а сообщение отправляется на предыдущий, но это только в том случае, если оно все еще установлено.
Другой идеей было бы отправить беззвучный pu sh, который запускает веб-вызов из приложения на сервер. Если вызов получен в течение определенного времени, приложение устанавливается, если нет, оно помечается как удаленное. Но это работает только в том случае, если приложение не было полностью закрыто на android (принудительное закрытие).
Мы также пробовали ttl или apns-expiration, но это не работает так, как мы ожидаем.
Вопрос: что мы должны изменить, чтобы распознать удаление через тихое уведомление pu sh, или каковы требования для достижения этого, или мы должны знать об этом? Как и когда токен pu sh становится недействительным при удалении приложения?