Правильный и безопасный способ - использовать сервер, как уже писал Paulw11. Тем не менее, существуют способы определения пользователей, которые в конечном итоге вернули время на свое устройство, но лично я бы не использовал их на производстве для ограничения доступа к функциям или контенту, потому что они ненадежны, и я бы предпочел, чтобы кто-то пользовался моим сервисом бесплатно, чем, возможно, несколько, кого я ошибочно исключаю. Я использовал следующие подходы только для того, чтобы понять, сколько пользователей на самом деле пытались получить доступ, повернув время своего устройства назад, и оказалось, что это число было таким маленьким, что я решил, что не стоит тратить больше времени на что.
Достаточно вафля, вот мои подходы:
1) Каждый раз, когда вы делаете локальную проверку квитанции, вы можете сохранить текущее время по умолчанию для пользователя и сравнить последнее сохраненное значение с текущее время устройства.
2) Извлечь текущее время из некоторых API часов из inte rnet (например, http://worldclockapi.com/)