Как поймать удаление приложения на устройстве и сообщить об этом серверу (iOS/Android)

Описание проблемы:

У нас есть сервис, который имеет приложения для основных мобильных ОС. Мы используем push-уведомления. Когда пользователь входит в систему, мы храним данные авторизации его устройства (допустим, токен) для последующего использования в push-сервисе. Проблема заключается в том, чтобы сохранить несколько авторизаций для одного пользователя и правильно сохранить их, когда пользователь удалит приложение.

Пример:

Я дал свой логин в систему нескольким людям, чтобы они попробовали. Они вошли в систему через приложение mob. и система автоматически добавила несколько авторизаций устройств в базу данных (токены). Так что теперь у нас есть N токенов устройств для 1 пользователя. Таким образом, если мы отправим push-уведомление, его получат все. Теперь предположим, что те, кто установил приложение, хотят его удалить. Не выходя из системы, они удаляют приложение через диспетчер приложений. И в это время у нас есть НЕ ВАЛИДНЫЕ данные для авторизованного устройства. И если мы попытаемся их уведомить, то уведомление никуда не будет отправлено. Что неправильно, и бесполезная работа для сервера. Как сообщить ядру, что некоторые из хранимых данных больше не действительны?

Коротко - есть ли в Android / iOS возможность запускать событие удаления приложения. Если приложение удаляется, то приложение вызывает сервер для очистки данных в хранилище. Или если приложение открыто и пользователь удаляет его, сработает ли там onDestroy()? Или что-то другое?

Я не iOS разработчик, не Android разработчик, просто немного знаю о втором и ничего о первом. Любой совет будет оценен по достоинству. Заранее спасибо.

8
задан devdRew 10 January 2012 в 12:21
поделиться