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

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

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

Пример:

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

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

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

Ответы [ 2 ]

4 голосов
/ 10 января 2012

Я не могу говорить за iOS. Вы не можете получить контроль, когда ваше приложение удалено в Android.

2 голосов
/ 10 января 2012

Это зависит от того, какую службу push вы используете.Afaik, если вы используете C2DM , процесс удаления приложения автоматически отменит его регистрацию в C2DM.

Edit:

Oh, ио iOS - afaik не напрямую отслеживает удаленные приложения, однако он все же поставляется с ошибочным уведомлением feedback service, что после последовательности неудачных уведомлений (сообщаемых устройством *)1014 * в push-сеть) уведомит вас, что позволит вам выполнить очистку после удаления приложения.

...