¿Cómo puedo implementar una compra de "deshabilitar anuncios" en mi juego?

18

Me gustaría agregar un servicio "sin anuncios" a mi juego para que los anuncios se puedan eliminar con un solo pago. ¿Cómo puedo implementar esto correctamente?

Si solo guardo el hecho de que el servicio se pagó localmente en el dispositivo, el usuario tendría que pagar nuevamente si de alguna manera borran los datos de la aplicación.

usuario3807592
fuente
1
La segunda parte de la pregunta es demasiado amplia (veo que Byte ya la ha editado); La primera parte de la pregunta no está clara. ¿Estás preguntando si esto está bien, moral o éticamente? ¿O está preguntando cómo guardar el hecho de que el servicio ha sido pagado en el dispositivo?
1
Por ahora solo voy a asumir que estás preguntando cómo, ya que esa es la única forma remotamente temática de interpretar la pregunta.

Respuestas:

29

Si utiliza las API de compra en la aplicación de Google Play para implementar su compra de 'deshabilitar anuncios', esto se maneja básicamente por usted. Querrá crear un producto no consumible que los usuarios puedan comprar. Los productos no consumibles representan, esencialmente, un beneficio permanente o desbloqueo. El usuario puede restaurar dichas compras a teléfonos limpiados / limpios / nuevos, por lo que nunca tendrá que volver a comprar el anuncio deshabilitado.

Esta página contiene instrucciones detalladas sobre cómo integrar la API IAP con su juego. Los pasos son, esencialmente:

  • Agregue la biblioteca a su proyecto y actualice sus archivos de manifiesto.
  • Enlace a IInAppBillingServicetravés de una conexión de servicio.
  • Envíe y reciba los datos apropiados al servicio a través de esa interfaz ( getSkuDetailspara obtener la lista de productos disponibles, getBuyIntentcomenzar la transacción de compra, etc.).

También deberá probar, a través de getPurchases, para ver si un usuario ha comprado el elemento 'desactivar anuncios' (y, en caso afirmativo, desactivar los anuncios).

Usted crea el artículo real de 'deshabilitar anuncios' desde su consola de desarrollador de Google Play.


fuente
Entonces, espera, ¿Google sabe de antemano si una aplicación tiene IAP "consumibles" o no? Realmente deberían revelar eso en la tienda entonces; "tiene compras en la aplicación" podría significar cualquier cosa.
Random832
3
@ Random832 No, no lo creo. Solo sabe si un producto es una suscripción o no. Puede enviar una solicitud de "consumePurchase" para cualquier producto sin suscripción, no es el producto en sí el que es consumible. Supongo que, en teoría, podrían intentar escanear su binario y buscar llamadas en esa interfaz, pero dudo que se molesten.
1
Tal vez no sea una coincidencia que IAP y API sean anagramas entre sí.
ArtOfCode
Giro mi propia lengua tratando de pronunciar API IAP ...
StorymasterQ
10

Si no está utilizando las herramientas de Google Play como en la respuesta de Josh (aunque, le recomiendo que use esas herramientas). Tendría que administrar esta información usted mismo.

Desea evitar almacenar algo localmente en el dispositivo del usuario. Los usuarios no quieren tener que pagar para eliminar anuncios por dispositivo o por instalación.

Necesita mantener una base de datos con los usuarios que han pagado. Al iniciarse (cada vez, en caso de que compren la eliminación de anuncios en un dispositivo diferente), su aplicación verifica la base de datos, si se encuentra la cuenta de usuario, deshabilitaría los anuncios permanentemente para esa instalación. La información de la cuenta del usuario debe ser exclusiva del usuario, idealmente la cuenta de Google que usaron para comprar la eliminación de anuncios.

Cuando un usuario compra la eliminación de anuncios, debe agregar la información de su cuenta a la base de datos y deshabilitar sus anuncios.

MichaelHouse
fuente