Я разрабатываю приложение для Android, и планирую выпустить эту сборку в «Open Beta» на Google Play Store.Безопасность приложения для Android
Я хочу реализовать логику безопасности приложение, которое может гарантировать, что бета строить не будет работать после определенной датыдд/ММ/ГГГГ.
В настоящее время я могу думать о двух подходах к этой логике:
Получить текущую дату с устройства (используя Android кода, чтобы получить время системы)
Проблемы: Пользователь может изменить дату устройства для взлома системы безопасности
Использовать сервер времени для проверки валюты т дата
Issue: Мое приложение не требуется подключение к Интернету и, следовательно, это будет плохой пользовательский опыт, если я прошу для подключения к Интернету в начале приложения
У меня есть следующие вопросы:
- что альтернативный подход (другие, то проверка даты) могут быть использованы для того, чтобы приложение не будет работать после даты дд/мм/гггг?
- Как определить, что пользователь изменил дату устройства вручную?
- Другие подходы к поиску текущей даты, даже если устройство отключено?
EDIT: бета билд имеет все функции премиум бесплатно и, следовательно, я не хочу, бета-билд работать после даты ДД/ММ/ГГГГ.
НОВЫЙ ВОПРОС:
Я реализовал код, чтобы проверить реальную дату, используя сервер времени на старте приложения. Какие возможные хаки могут быть сделаны пользователями для доступа к приложению после даты dd/MM/YYYY?
Заранее спасибо.
Одна альтернатива, которую вы можете придумать, - это то, что приложение допускается запускать в бета-версии. В любом случае, может ли его дата/время пользователь всегда очищать кеш приложения или backdate. Дата проверки в Интернете будет лучшей ставкой для предотвращения злоупотребления –
Вам не нужно уведомлять пользователей, когда вы подключаетесь к Интернету, сделайте это на фоне. если время сервера превышает дату, запретите доступ к приложению и покажите пользователю сообщение о превышении бета-приложения. –
Благодарим вас за комментарии. Мы можем выполнять проверку даты в фоновом режиме, но поскольку приложение может работать в автономном режиме, многие устройства пользователя могут быть в автономном режиме. –