Cómo migrar a Amazon desde la compra de aplicaciones desde Google

Lo que vas a crear

Bienvenido. Si es nuevo en Amazon Appstore, consulte nuestra guía introductoria reciente, Cómo enviar su aplicación a Amazon Appstore. En el episodio de hoy, lo guiaré a través de los beneficios y requisitos de las compras integradas en la aplicación (IAP) de Amazon. Específicamente, describiré cómo aquellos de ustedes con aplicaciones de Google Play que aprovechan el IAB de Google pueden migrar fácilmente sus aplicaciones para trabajar con Amazon IAP.

Beneficios de la Amazon Appstore

Antes de comenzar, solo quiero resumir los beneficios de Amazon Appstore. 

Cuando agrega su aplicación a Amazon Appstore, es visible para los usuarios de Android y Fire en más de 200 países, y los desarrolladores ahora pueden enumerar sus aplicaciones web para PC, Mac y HTML5, así como las aplicaciones de Android. Al enviar su aplicación, aplicación web o juego al programa, puede aumentar su negocio e ingresos.

Según Statista, actualmente hay más de 600,000 aplicaciones en la Tienda de aplicaciones de Amazon.

Además del tutorial de hoy, puede encontrar una gran cantidad de información útil en el portal de desarrolladores de Amazon.

Pasando de Google Play a la tienda de aplicaciones de Amazon

Si su aplicación de Android ya está en la tienda Google Play, es aún más fácil unirse a Amazon Appstore. Amazon informa que más del 85% de las aplicaciones de Android solo funcionan en Kindle Fire sin necesidad de desarrollo adicional. Aquí hay un breve video que lo guía a través del proceso, Pasando de Google Play a Amazon Appstore (video):

Pero si usa el IAB de Google, deberá cambiar y le mostraré cómo.

Antes de seguir adelante, quiero alentarlo a que se comunique con cualquier pregunta que pueda tener sobre el tutorial. Publícalos en los comentarios a continuación o para mí @lookahead_io en Twitter. Háganos saber si desea ver más tutoriales sobre Amazon AppStore o AWS en general.

Entendiendo la API de compras en la aplicación

Con la API de compras dentro de la aplicación, puede habilitar conjuntos de características y escenarios convincentes como:

  • Creación de un modelo "freemium" para su aplicación, donde la aplicación en sí es gratuita pero cobra una prima por servicios avanzados o funcionalidad
  • Permitir que los clientes compren dinero en la aplicación directamente dentro de su experiencia de aplicación
  • Permitir a los clientes suscribirse al contenido disponible dentro de su aplicación
  • Hacer que el contenido esté disponible para su compra para que pueda verse dentro de su aplicación

La API de compras integradas de Amazon permite que su aplicación presente, procese y realice compras de contenido digital y suscripciones dentro de su experiencia de aplicación. Para habilitar este conjunto de características, simplemente implemente la API de compras en la aplicación como se detalla en la sección de implementación a continuación:

La API de compras en la aplicación está diseñada para encapsular la complejidad detrás del proceso de compra al tiempo que proporciona una API con todas las funciones. La API de compras en la aplicación manejará los detalles sobre el flujo de compra, el procesamiento de pagos, el recibo de su aplicación y la gestión de los derechos sobre el contenido que se puede comprar..

Una vez que construyas un escaparate, puedes usar la API de compras en la aplicación para vender artículos que puedes comprar:

Hay tres tipos de artículos que se pueden comprar:

  • Consumibles: el contenido que no requiere derechos o derechos de acceso para su uso, puede ser comprado varias veces por un cliente, está disponible solo en el dispositivo desde el que se compró y no requiere ningún tipo de verificación de derechos para usar.
  • Derechos: el contenido que requiere un derecho o derechos de acceso para su uso, puede ser comprado una sola vez por un cliente y está disponible en todos los dispositivos compatibles registrados en la cuenta del cliente.
  • Suscripciones: contenido que requiere derechos o derechos de acceso para su uso, está sujeto a un período de tiempo, se renueva automáticamente y está disponible en todos los dispositivos elegibles registrados en la cuenta de Amazon del cliente

El cliente amazon

El cliente de Amazon es una parte integral de la API de compras dentro de la aplicación. Una vez que inicia una compra, el Cliente de Amazon aparece y presenta una interfaz de usuario de la marca Amazon para completar la transacción. Este flujo es utilizado por todas las aplicaciones que eligen emplear la API de compras dentro de la aplicación..

Si el Cliente de Amazon no está instalado o no está disponible, se enviará un mensaje al cliente indicando el curso de acción apropiado.

Amazon Client presenta la interfaz de usuario para todos los aspectos del flujo de trabajo de compra. Proporciona la lógica para mostrar el artículo que se puede comprar, realizar la compra de 1-Clic y manejar cualquier condición previa o escenario de error que surja.

Proporcionar un enlace directamente al Cliente de Amazon desde su aplicación es una herramienta eficaz para promocionar sus aplicaciones. Este tipo de enlace se conoce como un enlace profundo. Más información sobre enlaces profundos se puede encontrar en la documentación..

Separación de responsabilidades

Al desarrollar con la API de compras en la aplicación de Amazon, es importante comprender qué partes del flujo de compras debe implementar la aplicación y qué partes son manejadas por el Cliente de Amazon..

El Cliente de Amazon se encargará del flujo de trabajo de compra, comenzando cuando el cliente decida comprar un artículo y finalice cuando la tienda proporcione a la aplicación un recibo por la compra (u otro estado en el caso de una compra fallida). Los desarrolladores no deben proporcionar diálogos de compra, lógica de tiempo de espera de transacción o diálogos de "Gracias". Todos estos son proporcionados por el cliente de Amazon. Consulte la sección Pautas y convenciones de la interfaz de usuario para obtener más detalles..

En el caso de que una compra no tenga éxito, el Cliente de Amazon presentará mensajes al cliente; su aplicación no debe enviar un mensaje al cliente. Por ejemplo, si el cliente no tiene una tarjeta de crédito válida en el archivo, el cliente redirige al cliente a una página donde puede actualizar su información de pago.. No debe proporcionar una confirmación u otro diálogo intersticial al cliente con respecto al flujo de compra.

Su aplicación Amazonas
Presenta el catálogo de artículos en la aplicación al cliente para su compra. Gestiona el flujo de compra.
Desbloquea la funcionalidad comprable. Realiza el procesamiento de pagos.
Descargas de contenido entregado de forma remota Maneja la comunicación segura con la plataforma de Amazon, incluida la seguridad de pago.
Muestra y utiliza productos digitales descargados.
Verifica los derechos y valida los recibos de compra.
Rastrea las compras de clientes y el inventario de consumibles.
Gestiona las suscripciones, incluida la renovación automática y la revocación de derechos.

Fuentes de contenido

Su aplicación puede aprovechar la API de compras en la aplicación de varias maneras. La forma en que elija implementarlo puede afectar la forma en que construye su aplicación. No importa cómo elija implementarlo, hay dos flujos básicos disponibles para usted: contenido disponible localmente y contenido entregable.

Contenido disponible localmente

El contenido disponible localmente se desbloquea o se pone a disposición del cliente al realizar la compra. Bajo este modelo, su aplicación ya tiene todo lo que necesita para que el cliente use el artículo que se puede comprar, excepto el derecho a usarlo. Puedes usar los tres tipos de artículos que puedes comprar con este modelo.

Su aplicación debe contener los identificadores únicos para cada artículo comprable (SKU), la capacidad de presentar un catálogo al cliente y la lógica dentro de la aplicación para desbloquear el artículo comprable en una transacción exitosa.

Contenido de entrega

El contenido entregable le permite hacer que el contenido nuevo esté disponible para el cliente. Bajo este modelo, su aplicación descargará el nuevo contenido de sus servidores y lo pondrá a disposición del cliente.

Su aplicación debe contener los identificadores únicos para cada artículo comprable (SKU), la capacidad de presentar un catálogo al cliente y la lógica dentro de la aplicación para descargar, persistir y poner a disposición el contenido descargado luego de una transacción exitosa.

Recuerde: IAP v1.0 ha quedado en desuso

En julio de 2014, Amazon lanzó la API v2.0 In-App Purchasing (IAP), que incluye varias actualizaciones importantes. A partir del 30 de abril de 2016, Amazon desaprobó IAP v1.0 para el envío de aplicaciones nuevas y actualizadas. Si bien esta desaprobación no afecta a las aplicaciones que ya estaban en vivo en Amazon Appstore, cualquier aplicación enviada como una aplicación nueva o actualizada después del 11 de mayo de 2016 deberá utilizar IAP v2.0. 

  • Para obtener más información sobre esta desaprobación, consulte la publicación del blog Migre sus aplicaciones IAP v1.0 a v2.0.
  • Para obtener instrucciones paso a paso sobre cómo migrar su aplicación, consulte Migración de IAP v1.0 a IAP v2.0.

Migración de Google Play In-App Billing (IAB) v3.0 a Amazon In-App Purchasing (IAP) v2.0

Ahora, analicemos las diferencias entre la facturación en la aplicación (IAB) de Google Play y la compra en la aplicación (IAP) de Amazon y ofrezcamos una descripción de alto nivel de cómo adaptar su aplicación para usar ambos conjuntos de API.

¿Qué son IAB y IAP??

La función de facturación dentro de la aplicación de Google Play permite a los usuarios comprar artículos virtuales directamente desde su aplicación. Por ejemplo, un usuario puede comprar niveles adicionales para un juego que está jugando.. 

Las compras en la aplicación de Amazon son la característica equivalente de las API de Amazon. Si tiene una aplicación que utiliza la función de facturación en la aplicación de Google Play, puede modificar fácilmente su código para usar la función de compra en la aplicación equivalente de Amazon. Ambos conjuntos de API tienen una funcionalidad similar con algunas diferencias en nombres y terminología.

Requisitos para Amazon Appstore y Amazon Devices

Si va a enviar una aplicación que implemente el IAB de Google Play a la Amazon Appstore para que esté disponible en dispositivos de Amazon, como las tabletas Fire, su aplicación deberá implementar el IAP de Amazon para las compras desde la aplicación. El IAB de Google Play no funcionará en dispositivos de Amazon.

Amazon IAP v2.0 vs. Google Play IAB v3.0

Comparación de características

La siguiente tabla muestra una comparación entre la API IAP de Amazon y la API IAB de Google Play:

Característica IAP v2.0 (Amazon) IAB v3.0 (Google Play)
Comentarios
Compras
Intentos manejados por API.
Y norte
Marco de llamadas API simples proporcionadas.
Y norte
Consumibles Y Y
Los consumibles individuales se pueden comprar varias veces.
Y Y
Derechos
Comprado una vez. Usuarios notificados si intentan comprar un derecho que ya poseen. Y Y
Suscripciones
Variedad de opciones para el período de tiempo que se ejecuta una suscripción. Y Y Opciones de Amazon: semanal, quincenal, mensual, bimensual, trimestral, semestral, anualmente Opciones de Google Play: mensual, anual, estacional (personalizado)
Soporta periodos de prueba gratis. Y Y
Opciones de renovación automática Y Y
Opción de facturación diferida norte Y
Verificación de recibo

Servicio de verificación de recepción de compras. Y Y Aunque Google Play proporciona verificación de recibos, el proceso de verificación de recibos de Google Play no está automatizado..

Objetos gestionados de Google Play frente a los consumibles y derechos de Amazon

Mientras que el IAB de Google Play y el IAP de Amazon permiten a sus clientes hacer los mismos tipos de compras dentro de la aplicación, Google Play y Amazon usan una terminología diferente para sus tipos de compra. La siguiente tabla indica el equivalente de Google Play para cada tipo de compra de Amazon:

Amazonas Descripción Equivalente de Google Play Ejemplos
Consumible Compra que se realiza y luego se consume dentro de la aplicación, generalmente un juego. Se puede comprar varias veces. Managed in-app productos Vidas extra o movimientos (dentro de un juego), munición extra para un personaje dentro del juego.
Derecho Compra única para desbloquear el acceso a funciones o contenido dentro de una aplicación o juego. Managed in-app productos Desbloquea niveles adicionales dentro de un juego o funciones "solo miembros premium" dentro de una aplicación.
Suscripción Ofrece acceso a un conjunto premium de contenido o funciones por un período de tiempo limitado. Suscripción Suscripción a la revista online, acceso a la liga de fútbol de fantasía..

Como puede ver, el IAB de Google Play trata todas las compras sin suscripción de manera similar; un artículo es comprado, luego consumido por un usuario. Una vez que se ha consumido un artículo, el artículo se aprovisiona en la aplicación y se registra el consumo. Para los artículos que probablemente sean compras únicas, como el desbloqueo de nuevos niveles de juego, tiene la opción como desarrollador de tratar el artículo como un consumible o no consumible e introducir una lógica para garantizar que la compra de ese artículo solo ocurra. una vez. 

Con el IAP de Amazon, estas compras únicas se separan por diseño de las compras, como las vidas extra, que los usuarios de la aplicación pueden comprar una y otra vez..

Portando su código

Lo guiaremos a través de la migración de una aplicación de la API IAB de Google Play a la API IAP de Amazon:

  1. Configure su archivo AndroidManifest.xml para admitir el IAP de Amazon.
  2. En su aplicación, implemente la lógica para mediar entre IAB y IAP..
  3. Agregar e implementar la API de IAP de Amazon.
  4. Prueba tu aplicación.

Configurando tu archivo AndroidManifest.xml

Configure su archivo AndroidManifest.xml para definir el Receptor de respuestas IAP para su aplicación. IAP Response Receiver garantiza que su aplicación intercepte la comunicación intencional del Cliente de Amazon. Tenga en cuenta que si está apoyando tanto el IAB de Google Play como el IAP de Amazon, no necesita eliminar elementos relacionados con el IAB; simplemente serán ignorados por IAP.

En su archivo AndroidManifest.xml, agregue el apropiado  etiqueta para el IAP RespuestaReceptor:

...     ... 

Implementando la lógica para mediar entre IAB y IAP

Puede usar el mismo código base para su aplicación, independientemente de dónde esté alojada su aplicación. Solo agregue lógica a su aplicación para determinar si la aplicación se descargó desde Amazon Appstore o desde Google Play. Dependiendo de donde el usuario descargó la aplicación, ejecute los métodos apropiados para IAP o IAB.

El siguiente código de ejemplo determina si se instaló un paquete desde Google Play o Amazon Appstore:

PackageManager pkgManager = context.getPackageManager (); String installerPackageName = pkgManager.getInstallerPackageName (context.getPackageName ()); if (installerPackageName.startsWith ("com.amazon")) // Amazon else if ("com.android.vending" .equals (installerPackageName)) // Google Play 

Agregar e implementar la API de IAP de Amazon

En su mayor parte, el IAP de Amazon funciona de manera similar al IAB de Google Play. Cuando cree la ruta en su código para implementar la API de IAP, debería poder usar un flujo lógico similar a IAB, pero deberá tener en cuenta los diferentes nombres de clases y métodos..

La siguiente tabla asigna los métodos IAP más utilizados a sus equivalentes de IAB:

Método de servicio de compras PurchasingListener callback Objeto de respuesta Llamada equivalente de IAB
getUserData () onUserDataResponse () UserDataResponse N / A
getPurchaseUpdates () onPurchaseUpdatesResponse () ComprarActualizarResponse obtener compras ()
getProductData () onProductDataResponse () ProductDataResponse getSkuDetails ()
compra() onPurchaseResponse () CompraResponse getBuyIntent ()
Notificar Cumplimiento () N / A N / A consumeComprar ()

Tenga en cuenta que Amazon Notificar Cumplimiento () llamada y Google Play's consumeComprar () llamar correlacionarse entre sí de alguna manera. Vocación consumeComprar ()en un artículo administrado para IAB devolverá el estado del artículo a "no comprado", esencialmente convirtiéndolo en un consumible. Después de eso, el recibo ya no aparecerá en la respuesta de llamadas posteriores a obtener compras (). Amazon devolverá los recibos de artículos consumibles en llamadas a getPurchaseUpdates () hasta que la aplicación llame Notificar Cumplimiento ().

Para obtener más información sobre las clases y los métodos de IAP, consulte la Referencia de la API de compras integradas en la aplicación v2.0.

Probando tu aplicación

Descargue e instale la herramienta App Tester para probar su aplicación integrada IAP v2.0. Esta herramienta también puede probar las API de Mobile Associates, si su aplicación también las usa. Siga las instrucciones y los enlaces en Prueba de compras dentro de la aplicación (IAP) para instalar y utilizar el comprobador de aplicaciones..

Después de probar su aplicación localmente, puede usar el servicio de prueba de la aplicación en vivo para probar su aplicación en un entorno de producción en vivo con un grupo selecto de usuarios.

Para concluir

Espero que haya disfrutado de la guía de hoy, así como nuestro episodio anterior Cómo enviar su aplicación a Amazon Appstore. Háganos saber qué áreas de Amazon Appstore le gustaría que se traten con más detalle. Puedes publicarlos en los comentarios a continuación o contactarme en Twitter @lookahead_io. 

Si te gustó este tutorial, asegúrate de revisar mi serie sobre cómo crear una startup con PHP, y mantente al día con la página del instructor de Envato Tuts + para ver algunos de mis otros tutoriales y series.

enlaces relacionados

  • Cómo enviar su aplicación a Amazon Appstore (Envato Tuts +)
  • Consola de desarrollador de Amazon
  • Envío de sus aplicaciones a la tienda de aplicaciones de Amazon
  • Amazon Appstore Publishing Preguntas frecuentes
  • Entendiendo la API de compras en la aplicación (IAP v1.0)
  • Migración de Google Play In-App Billing (IAB) v3.0 a Amazon In-App Purchasing (IAP) v2.0