2012-02-17 19 views
6

Estoy buscando un pequeño tutorial o una explicación de cómo puedo eliminar la publicidad en mi aplicación con la aplicación de compra desde la mesita. Pondré algunos anuncios con admob en mi aplicación, pero también quiero que el usuario pueda deshabilitar el anuncio cuando pague una pequeña donación. ¿Conoces un lado o tutorial donde puedo encontrar una pequeña explicación paso a paso para hacer esto? ¿O debo publicar 2 versiones de mi aplicación? ¿Uno con anuncios y otro sin anuncios para pagar?Eliminación de anuncios con la compra en la aplicación

Respuesta

5

No utilice el método SharedPreferences porque si el usuario vacía los datos de la aplicación o desinstala/reinstala su aplicación, se perderá su estado sin anuncios.

Un par de ideas:

  1. Si su aplicación tiene ningún tipo de inicio de sesión basado en web o autorización, puede marcar el usuario como haber comprado la versión libre de publicidad mediante la actualización de los datos del cliente de la base de datos de internet y luego desactivar anuncios en el código después del inicio de sesión y la verificación. Esto tiene el beneficio adicional de seguir al usuario a nuevos dispositivos.
  2. Utilice una de las diversas formas de obtener una identificación de dispositivo única y guárdela en una base de datos de servidor web. Al inicio, consulte el DB para ver si el dispositivo no tiene anuncios. Ver Android Unique Device ID. Sin embargo, esto solo funcionará para ese dispositivo en particular.

El enfoque de las dos aplicaciones es lo suficientemente simple como para hacer el trabajo también. :)

+0

suena como buenas ideas pero no tengo una autenticación o un inicio de sesión para el usuario (porque no es necesario). ¿No puede el mercado manejar esta información? Creo que el mercado también sabe si el usuario compró inn-app-stuff o no. ¿No es posible verificarlo desde el mercado? – Informatic0re

+2

Consulte la sección "Restauración de la información de transacción" de los documentos [aquí] (http://developer.android.com/guide/market/billing/billing_integrate.html). En resumen: Una solicitud RESTORE_TRANSACTIONS ... ... contiene la información detallada de la transacción. La información de la transacción está contenida en una cadena JSON firmada (sin encriptar). 'Solicitud de paquete = makeRequestBundle (" RESTORE_TRANSACTIONS "); request.putLong (REQUEST_NONCE, mNonce); Respuesta del paquete = mService.sendBillingRequest (solicitud); // Haga algo con esta respuesta. – Maz

+1

Corrección pequeña: si el usuario desinstala e instala la aplicación, los datos 'SharedPreference' no se eliminan. Se elimina ** solo ** cuando el usuario borra intencionalmente los datos de la aplicación en la página de desinstalación de la aplicación o formatea el dispositivo. Pero de lo contrario, tu respuesta es correcta. –

1

Esta presentación parece explicar un ejemplo e incluye un enlace al código fuente en github: http://gotocon.com/dl/2011/GeekNights/Tjen_penge_p%C3%A5_Android_ARH.pdf. Almacena la actualización comprada en una preferencia compartida.

Sin embargo, todavía estoy buscando una solución más segura y robusta que se resuelve el caso de uso se explica aquí: http://vlingo-en.custhelp.com/app/answers/detail/a_id/1785/~/moving-in-app-purchase-(ad-removal)-to-new-android-phone/p/180

+2

Corrija el enlace de vlingo-en. Estaba roto –

Cuestiones relacionadas