2015-08-18 2 views
1

Я использую Android Parse API для push-уведомлений (v1.9.4), и я хотел бы знать, как очистить данные приложения Parse (объекты установки, пользователя и сеанса), поскольку приложение удаленный пользователем. Это вообще возможно? Я видел некоторые сообщения от 2-1 лет назад, что указывает, что такое невозможно, и мне интересно, если что-то есть разные, и если есть новые обходные пути для этого:Очистка данных анализа после удаления приложения

Эти сообщения выше относятся только к удалению объекта установки, и я не смог найти информацию в Интернете о том, как удалить сеанс и данные пользователя. Я действительно нужно очистить все, или еще какие-то странные вещи, такие как ParseException «имя пользователя XXX уже принято», когда пользователь пытается зарегистрироваться (вызывая signUpInBackground) после повторной установки приложения, не говоря уже о избыточных уведомлениях, отправленных для ghost parse installation ...

Большое спасибо за любую помощь!

+0

Говорит ли андроид приложение (запустите его, я думаю), что его удалили? Я сомневаюсь (даже перед тем, как прочитать это: http://stackoverflow.com/questions/6209730/is-it-possible-to-detect-android-app-uninstall). Поскольку, вероятно, нет, то, вероятно, нет вашего вопроса. Рассмотрите возможность измерения бездействия в течение некоторого длительного периода времени в качестве эвристики для удаления. – danh

+0

Спасибо, danh, я использовал код облака с триггером beforeSave в ParseInstallation для обнаружения дублирующих объектов установки для данного пользователя. И теперь, несмотря на отсутствие дублирующих установок, я продолжаю получать ошибку «имя пользователя XXX, уже взятое» на signUpOnBackground ... Конечно, пользователь уже существует, и я ожидал, что синтаксический анализ обработает эти ситуации, но, видимо, это еще одно ограничение parse ... У вас есть идея о том, как преодолеть эту проблему? Должен ли я использовать резервный метод в случае, если это произойдет? –

+0

Почему вы называете это ограничением? У вас не может быть нескольких пользователей с одинаковым именем пользователя, это функция, а не ограничение. И это связано с таблицей пользователя, а не с таблицей установки. – deadbeef

ответ

0

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

К примеру, я добавил новый столбец в Installation который сохранить указатель на следующий раз так User логин пользователя я искать и удалить предыдущую Installation этого пользователя, чтобы создать новую после. Таким образом, у вас будет только одна установка (с включенным токеном устройства) для каждого пользователя.

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

+0

Спасибо Arturo, я использовал код облака с триггером beforeSave в ParseInstallation для обнаружения дублирующих объектов установки для данного пользователя. И теперь, несмотря на отсутствие дублирующих установок, я продолжаю получать ошибку «имя пользователя XXX, уже взятое» на signUpOnBackground ... Конечно, пользователь уже существует, и я ожидал, что синтаксический анализ обработает эти ситуации, но, видимо, это еще одно ограничение parse ... У вас есть идея о том, как преодолеть эту проблему? Должен ли я использовать резервный метод в случае, если это произойдет? –

Смежные вопросы