Я собираюсь использовать GCM для Android и APNS для ios в своем приложении.push-уведомление DB management
на моей стороне сервера Я сохраняю в своей БД идентификатор устройства и идентификатор учетной записи каждого входа.
Когда пользователь выходит из системы я удалить эту запись, так что пользователь не будет получать его больше (и даже если он входит в системе с другой учетной записью на одном устройстве)
Сценария им думать о том, когда пользователь удаляет приложение, пока он все еще входит в систему. Это означает, что пользователь не прошел запрос на выход, который является запросом, который удаляет запись идентификатора устройства в моей БД.
Теперь пользователь снова устанавливает приложение, но входит в систему с другой учетной записью.
В моей БД у меня будет тот же идентификатор устройства с 2 идентификаторами учетной записи, что означает, что пользователь получит уведомления о том, что ему не принадлежит (его устройство будет получать уведомления для предыдущей зарегистрированной учетной записи).
Насколько я знаю, андроид получил идентификатор устройства для каждого приложения «экземпляр», поэтому у меня нет проблемы здесь (даже если сообщение будет отправлено на призрачное устройство, которое странно), но на ios я знаю, что идентификатор устройства вы отправить APNS является уникальным для каждого устройства ...
Нижняя линия -
ли я что-нибудь не так?
Решение Я думал о устанавливаете тайм-аут для устройства такого же, как тайм-аут входа в системе (еще чересстрочное время будет получать уведомление от 2 счета)
Тем не менее эта проблема выглядит очень тривиально, и что должно быть чистым решением.
Да, я тоже об этом думал, я думаю, это единственный способ. вручную вручную управлять им в моей БД в соответствии с переменной bool, посланной пользователем в случае новой установки. –
После некоторой работы мой разработчик ios заявил, что он не может получить идентификатор устройства, если пользователь не одобрит подсказку push. Если это так, в случае, если пользователь не одобрил, я не буду иметь идентификатор устройства, чтобы он соответствовал моей БД и удалял его, то есть до тех пор, пока пользователь не одобрит его. сейчас, я пошлю толки к тому же идентификатору устройства (подталкивает к учетной записи перед деинсталляцией). Даже если яблоко знает, что приложение было удалено, и оно не отправляет их, то это очень неэффективно с моей стороны, чтобы отправить эти «призрачные толчки» Любые идеи? –
@sharongur Я понимаю проблему, но на самом деле у меня нет идеи. Может быть, вариант будет Keychain. Он предлагает безопасное хранилище и будет сохраняться, даже если приложение будет удалено. Вы можете сохранить свой первый подтвержденный идентификатор устройства. Если при установке там уже есть один ID, повторно используйте его или отмените подписку и приступите к новой. – Templar