Добрый день форумчане!
Вопрос внутри-покупок в приложении.
[syntax=java] Purchase premiumPurchase = inventory.getPurchase(SKU_PREMIUM);
mIsPremium = (premiumPurchase != null && verifyDeveloperPayload(premiumPurchase));[/syntax]
это маленький кусочек из апи покупок вроде версии 3.0 с сайта разработчиков.
Мы отправляем запрос на гугл, а в ответе - mIsPremium - это ключ, которым определено куплен ли в приложение премиум доступ.
Если на устройстве один аккаунт - будет true (если приложение покупалось)
Если два и более - будет false(даже если куплен на один акк). И это фейл...
Сначала я сделал просто:
отправляю запрос: если возвращается true, записываю в переменную по которой в приложении идет процесс сверки премиум\непремиум. А при следующем запуске не делать проверку на предмет покупок. Но тут вопрос безопастности, - переменные в SharedPreferences можно ведь спокойно просмотреть и изменить? И таким образом мое платное - становится бесплатным?
И этот вариант тоже не подходит...
покупки в приложении
покупки в приложении
Мой первенец: MyMoney. Менеджер расходов
Бьем рекорды русских топов
Могу ответить на любые вопросы по маркетингу и развитию.
Бьем рекорды русских топов
Могу ответить на любые вопросы по маркетингу и развитию.
Re: покупки в приложении
Эти переменные можно именовать динамически при каждом запуске выполняя проверку, вариантов усложнения жизни злоумышленникам масса, 100% защиты не существует, потому SharedPreferences вполне нормальный выбор. Ну или вы можете построить свою систему проверок и распространять приложение не через play.. Или просто запретить использовать несколько аккаунтов на одном девайсе. Как бы вообще поддержка нескольких аков в billing репортировалась, как баг https://code.google.com/p/android/issue ... l?id=53307
P.S. ну и как бы вы можете сохранить настройки удаленно и обращаться только при смене аккаунта к ним.
P.S. ну и как бы вы можете сохранить настройки удаленно и обращаться только при смене аккаунта к ним.