2012-02-17 1 views
6

Я ищу небольшое учебное пособие или объяснение того, как я могу удалить рекламу в своем приложении с покупкой inn-app? Я добавлю некоторые объявления с admob в мое приложение, но я также хочу, чтобы пользователь мог отключить рекламу, когда он платил небольшую пожертвования. Знаете ли вы бок или учебник, где я могу найти небольшое пошаговое объяснение, чтобы сделать это? Или мне нужно опубликовать 2 версии моего приложения? Один с объявлениями и один без рекламы для оплаты?Удаление объявлений с покупкой в ​​приложении

ответ

5

Не используйте метод SharedPreferences, потому что если пользователь удаляет данные приложения или удаляет/переустанавливает ваше приложение, их статус без рекламы будет потерян.

Пара идей:

  1. Если ваше приложение имеет какие-то веб-основе логин или авторизации, вы можете помечать пользователь, как купив объявление бесплатную версию путем обновления данных о клиентах веб-базы данных, а затем отключить объявления в коде после входа и проверки. Это имеет дополнительное преимущество, следуя за пользователем на новые устройства.
  2. Используйте один из нескольких способов получения уникального идентификатора устройства и сохраните его в базе данных веб-сервера. При запуске запросите БД, чтобы узнать, не является ли устройство без рекламы. См. Android Unique Device ID. Однако это будет работать только на этом устройстве.

Подход двух приложений достаточно прост, чтобы выполнить свою работу. :)

+0

звучит как хорошие идеи, но я не имею проверку подлинности или логин для пользователя (потому что это не нужно). Не может ли рынок справиться с этой информацией? Я думаю, что рынок также знает, купил ли пользователь приложение-приложение или нет. Невозможно ли это проверить на рынке? – Informatic0re

+2

См. Раздел «Восстановление информации транзакции» документов [здесь] (http://developer.android.com/guide/market/billing/billing_integrate.html). Вкратце: Запрос RESTORE_TRANSACTIONS ... ... содержит подробную информацию о транзакции. Информация о транзакции содержится в подписанной строке JSON (незашифрованной). 'Bundle request = makeRequestBundle (" RESTORE_TRANSACTIONS "); request.putLong (REQUEST_NONCE, mNonce); Ответ от блока = mService.sendBillingRequest (запрос); // Сделайте что-нибудь с этим ответом. ' – Maz

+1

Небольшая коррекция: если пользователь удаляет и устанавливает приложение, данные' SharedPreference' не удаляются. Он удаляется ** только **, когда пользователь намеренно очищает данные приложения на странице удаления приложения или форматирует устройство. Но в противном случае ваш ответ правильный. –

1

Эта презентация, кажется, объясняет пример и включает ссылку на исходный код в github: http://gotocon.com/dl/2011/GeekNights/Tjen_penge_p%C3%A5_Android_ARH.pdf. Он хранит приобретенное обновление в sharedpreference.

Однако, я все еще ищу более безопасное и надежное решение, которое отрабатывает вариант использование описано здесь: http://vlingo-en.custhelp.com/app/answers/detail/a_id/1785/~/moving-in-app-purchase-(ad-removal)-to-new-android-phone/p/180

+2

Пожалуйста, исправьте ссылку vlingo-en. Он был сломан –