Unlimited Plugins, WordPress themes, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Code
  2. Amazon App Store

Cómo Migrar a Amazon In-app Purchasing desde Google

by
Read Time:12 minsLanguages:
Sponsored Content

This sponsored post features a product relevant to our readers while meeting our editorial guidelines for being objective and educational.

Spanish (Español) translation by James Kolce (you can also view the original English article)

Final product imageFinal product imageFinal product image
What You'll Be Creating

Bienvenido. Si eres nuevo respecto a la Appstore de Amazon, revisa nuestra reciente guía introductoria, Cómo Enviar tu Aplicación a la Appstore de Amazon. En el episodio de hoy, the encaminaré a través de los beneficios y requisitos para Amazon In-app Purchasing (IAP). En concreto, describiré cómo aquellos con aplicaciones de Google Play que aprovechan el poder de Google IAB pueden fácilmente migrar sus aplicaciones para trabajar con Amazon IAP.

Beneficios de la Appstore de Amazon

Antes de profundizar, solo quiero resumir los beneficios de la Appstore de Amazon.

Cuando añades tu aplicación a la Appstore de Amazon, es visible a los usuarios de Android y Fire en más de 200 países y los desarrolladores ahora pueden listar sus aplicaciones para PC, Mac y Web basadas en HTML5, así también como apps para Android. Al enviar tu aplicación, web app o juego al programa, puedes hacer crecer tu negocio e ingresos.

Según Statista, actualmente hay más de 600.000 aplicaciones en la Appstore de Amazon.

Además el tutorial de hoy, puedes encontrar una amplia gama de información útil en el portal de desarrolladores de Amazon.

Migrando de Google Play a la Amazon App Store

Si tu aplicación para Android ya está en la Google Play store, es aún más fácil unirse a la Appstore de Amazon. Amazon informa que más del 85% de apps Android simplemente funcionan en Kindle Fire con ningún desarrollo adicional necesario. Aquí hay un corto video para guiarte en el proceso de Migrar de Google Play a la Amazon Appstore (video):

Pero si utilizas Google IAB, tendrás que cambiar, y yo te mostraré cómo.

Antes de ir más lejos, quiero animarte a que hagas las preguntas que puedas tener sobre el tutorial. Publícalas en los comentarios o enviamelas a @lookahead_io en Twitter. Háznos saber si te gustaría ver más tutoriales sobre Amazon Appstore o AWS en general.

Comprendiendo la API de In-app Purchasing

Con la API de In-app Purchasing, puedes activar interesantes funciones y escenarios tales como:

  • Creación de un modelo "freemium" para su aplicación, donde la aplicación en si misma es gratis pero cobra una prima por servicios avanzados o funcionalidad extra
  • Permitir a los clientes comprar monedas in-app directamente dentro de la experiencia de tu aplicación
  • Permitir a los clientes suscribirse a contenido disponible dentro de su aplicación
  • Hacer que contenido disponible para compra sea visto dentro de tu aplicación

La API de Amazon In-app Purchasing le permite a tu aplicación presentar, procesar y realizar compras de contenidos digitales y suscripciones dentro de la experiencia de tu aplicación. Para habilitar este conjunto de características, simplemente implementa la API de compras In-App como se detalla en la sección de implementación siguiente:

Amazon In-Appp Purchasing API Implementation FlowchartAmazon In-Appp Purchasing API Implementation FlowchartAmazon In-Appp Purchasing API Implementation Flowchart

La API de In-App Purchasing está diseñada para encapsular la complejidad detrás del proceso de compra mientras se proporciona una API completa. La API de In-App Purchasing se encargará de los detalles sobre el flujo de compra, del procesamiento de pago, de proporcionar un recibo a tu aplicación y de la administración de los derechos al contenido adquirible.

Una vez que construyes una tienda, puedes utilizar la API de compras In-App para vender artículos adquiribles:

Hay tres clases de artículos adquiribles:

  • Consumibles: contenido que no requiere de un derecho o derechos de acceso para uso, pueden adquirirse varias veces por un cliente, sólo está disponible en el dispositivo donde se compra y no requiere ningún tipo de verificación de derecho a uso.
  • Derechos: contenido que requiere de un derecho o derechos de acceso para uso, puede ser comprado una sola vez por un cliente, y está disponible en todos los dispositivos compatibles registrado a la cuenta del cliente.
  • Suscripciones: contenido que requiere de un derecho o derecho de acceso para uso, está limitado por un período de tiempo, auto-renueva y está disponible en todos los dispositivos registrados en la cuenta del cliente Amazon

El Cliente de Amazon

El Cliente de Amazon es una parte integral de la API de In-App Purchasing. Al iniciar una compra, se muestra el cliente de Amazon y presenta una interfaz de usuario de la marca Amazon para completar la transacción. Este flujo es utilizado por todas las apps que deciden emplear la API de compras In-App.

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

El Cliente de Amazon presenta la interfaz de usuario para todos los aspectos del flujo de trabajo de la compra. Proporciona la lógica para mostrar el artículo adquirible, realizar la compra misma de 1-Click y manejo de condiciones previas o escenarios de error que se presenten.

Proporcionar un enlace directamente al cliente de Amazon dentro de su aplicación es una herramienta eficaz para la promoción de sus aplicaciones. Este tipo de enlace se conoce como un vínculo profundo. Más información sobre la vinculación profunda puede encontrarse en la documentación.

Separación de Responsabilidades

Cuando se desarrolle con la API de In-App Purchasing de Amazon, es importante entender qué partes de la compra del flujo de la aplicación debe implementar y qué partes son manejadas por el cliente de Amazon.

El Cliente de Amazon se encargará del flujo de trabajo de la compra, a partir de cuando el cliente decide comprar un producto y terminando cuando la tienda proporciona a la aplicación un recibo de la compra (o cualquier otro estado en caso de una compra fallida). Los desarrolladores no deben proporcionar diálogos de compra, lógica para tiempo de espera de transacciones o cuadros de diálogo de "Gracias". Todos estos son proporcionados por el Cliente de Amazon. Por favor vea la sección Directrices de Interfaz de Usuario y Convenciones para más detalles.

En caso de que la compra no sea exitosa, el Cliente de Amazon presentará mensajes al comprador; tu aplicación no debe de mensajear al comprador. For ejemplo, si el cliente no tiene una tarjeta de crédito en archivo, el cliente redirecciona al comprador a la página donde tiene que actualizar su información de pago. Tu no debes de proveer un diálogo de confirmación u otros diálogos intersticiales al comprador respecto al flujo de compra.

Tu Aplicación Amazon
Presenta el catálogo de elementos en la aplicación del cliente para la compra Administra el flujo de compra
Desbloquea la funcionalidad de pago Realiza el procesamiento de pagos
Descarga contenido enviado remotamente Maneja comunicación segura con la plataforma de Amazon, incluyendo seguridad del pago
Muestra y utiliza productos digitales descargados
Verifica derechos y valida recibos de compras
Registra compras de clientes e inventario de consumibles
Gestiona las suscripciones, incluyendo auto-renovación y revocación de derechos

Fuentes de Contenido

Tu aplicación puede aprovechar la API de compras In-App en una variedad de maneras. El cómo decides implementarlo puede afectar cómo construyes tu aplicación. No importa cómo decidas implementarlo, hay dos flujos básicos disponibles: contenido localmente disponible y contenido para entrega.

Contenido localmente disponible

Contenido localmente disponible es desbloqueado o puesto a disposición del cliente tras la compra. Bajo este modelo, su aplicación tiene ya todo lo que necesita para que el cliente utilice el artículo adquirible excepto el derecho a usarlo. Puede utilizar los tres tipos de artículos adquiribles con este modelo.

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

Contenido de Entrega

Contenido de entrega le permite poner a disposición nuevo contenido al cliente. Bajo este modelo, su aplicación descargará los nuevos contenidos de sus servidores y los hará disponibles al cliente.

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

Recuerde: IAP v1.0 Ha Quedado Descontinuado

En Julio de 2014, Amazon lanzó la API de compra In-App (IAP) v2.0, que incluye varias actualizaciones importantes. A partir del 30 de Abril de 2016, Amazon descontinuó IAP v1.0 para presentaciones nuevas y actualizaciones de aplicación. Mientras que esta descontinuación no afecta a aplicaciones que ya estaban en la Amazon Appstore, cualquier aplicación presentada como una aplicación nueva o actualizada después del 11 de Mayo de 2016 tendrá que utilizar IAP v2.0.

  • Para obtener más información acerca de esta descontinuación, vea el blog post Migra tus Aplicaciones IAP v1.0 a v2.0.
  • Para obtener instrucciones detalladas sobre cómo migrar tu aplicación, vea Migrando de IAP v1.0 a IAP v2.0.

Migrando de Google Play In-App Billing (IAB) v3.0 a Compras In-App de Amazon (IAP) v2.0

Ahora, vamos a discutir las diferencias entre Google Play In-App Billing (IAB) y Amazon In-app Purchasing (IAP) y dar una descripción de alto nivel de cómo adaptar la aplicación para utilizar los dos conjuntos de API.

¿Qué es IAB y IAP?

La característica In-All Billing de Google Play permite a los usuarios realizar compras de artículos virtuales directamente desde tu aplicación. Por ejemplo, un usuario puede comprar niveles adicionales a un juego que él o ella está jugando.

In-App Purchasing de Amazon es el equivalente para las APIs de Amazon. Si tienes una aplicación que usa In-App Billing de Google Play, puedes modificar fácilmente el código para utilizar la función equivalente de Amazon in-App Purchasing. Ambos conjuntos de API tienen una funcionalidad similar con algunas diferencias en nomenclatura y terminología.

Requisitos para la Amazon Appstore y Amazon Devices

Si vas a enviar una aplicación que implemente IAB de Google Play a la Amazon Appstore para hacerla disponible en dispositivos de Amazon, como tablets Fire, tu aplicación necesitará implementar IAP de Amazon para compras en aplicación. La IAB de Google Play no funciona en los dispositivos de Amazon.

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

Comparación de Características

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

Característica IAP v2.0 (Amazon) IAB v3.0 (Google Play)
Comentarios
Compras
Intentos manejados por API.
S N
Framework proporcionado para llamadas simples a la API.
S N
Consumibles S S
Consumibles individuales pueden ser comprados varias veces.
S S
Derechos
Una vez comprado. Los usuarios son notificados si intentan comprar un derecho que ya poseen. S S
Suscripciones
Variedad de opciones para el periodo de tiempo que una suscripción está activa. S S Opciones de Amazon: semanal, quincenal, mensual, bimensual, trimestral, semestral, anualmente Opciones de Google Play: mensual, anual, estacional (personalizada)
Soporta períodos de prueba gratis. S S
Opciones de renovación automática S S
Opción de facturación diferida N S
Verificación de recibo

Servicio de verificación de recibos de compras S S Aunque Google Play proporciona verificación de recibos, el proceso de verificación de recibos de Google Play no es automatizado.

Objects Manejados de Google Play contra Consumibles y Derechos de Amazon

Mientras que la IAB de Google Play y la IAP de Amazon dejan que sus clientes hagan los mismos tipos de compras en la aplicación, Google Play y Amazon usan una terminología diferente para sus tipos de compra. La tabla siguiente señala el equivalente a Google Play para cada tipo de compra de Amazon:

Amazon Descripción Equivalente de Google Play Ejemplos
Consumible Compra que se hace, entonces consumida dentro de la aplicación, por lo general un juego. Puede adquirirse varias veces. Productos administrados dentro de la aplicación Vidas extra o movimientos (dentro de un juego), munición extra para un personaje en el juego.
Derecho Compra de una sola vez para desbloquear el acceso a funciones o contenido dentro de una app o juego. Productos administrados dentro de la aplicación Desbloquear niveles extras en un juego o características de "solo miembros premium" dentro de una aplicación.
Suscripción Ofrece acceso a un conjunto premium de contenido o funciones por un período limitado de tiempo. Suscripción Suscripción a revistas en línea, acceso a liga de fútbol de fantasía.

Como se puede ver, IAB de Google Play trata a todas las compras sin suscripción semejantemente; un elemento es comprado y consumido por un usuario. Una vez se haya consumido un elemento, el elemento se aprovisiona en la aplicación y se registra el consumo. Para los artículos que sean probablemente compras de una sola vez, como desbloquear nuevos niveles de juego, tienes la opción como desarrollador de tratar el elemento como un consumible o no consumible e introducir lógica para asegurar que la compra de ese artículo sólo ocurra una vez.

Con IAP de Amazon, estas compras de una sola vez son separadas por diseño de las compras, como vidas extra, que los usuarios de la aplicación pueden comprar una y otra vez.

Portando tu Código

Vamos a guiarte a través de la portación de una aplicación con la API de IAB de Google Play a la API de IAP de Amazon:

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

Configurando el archivo AndroidManifest.xml

Configura el archivo AndroidManifest.xml para definir el Receptor de Respuesta de IAP para tu aplicación. El receptor de respuesta de IAP asegura que el intento de comunicación desde el Cliente de Amazon es interceptado por tu aplicación. Ten en cuenta que si usted incluye IAB de Google Play y IAP de Amazon, no necesita quitar elementos relacionados con la IAB; simplemente se ignorará por IAP.

En el archivo AndroidManifest.xml, agrega la etiqueta <receiver> para la ResponseReceiver de IAP:

Implementando la Lógica entre IAB y IAP

Puedes utilizar la misma base de código para tu aplicación, sin importar donde esté alojada la aplicación. Sólo tienes que añadir la lógica para la aplicación para determinar si la aplicación fue descargada de la Appstore de Amazon o de Google Play. Dependiendo de donde el usuario descargó la aplicación, se ejecutan los métodos apropiados para la IAP o IAB.

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

Agregando e implementando la API de IAP de Amazon

En su mayor parte, IAP de Amazon funciona de forma similar a IAB de Google Play. Cuando se crea la ruta de acceso en el código para implementar la API de IAP, debe ser capaz de utilizar un flujo de lógica similares a IAB, pero será necesario tener en cuenta diferentes nombres de clases y métodos.

En la siguiente tabla relaciona los métodos más utilizados de la IAP a sus equivalentes de la IAB:

Método PurchasingService Callback PurchasingListener Objeto de respuesta Llamada IAB equivalente
getUserData() onUserDataResponse() UserDataResponse N/A
getPurchaseUpdates() onPurchaseUpdatesResponse() PurchaseUpdatesResponse getPurchases()
getProductData() onProductDataResponse() ProductDataResponse getSkuDetails()
Purchase() onPurchaseResponse() PurchaseResponse getBuyIntent()
notifyFulfillment() N/A N/A consumePurchase()

Ten en cuenta que la llamada de notifyFulfillment() de Amazon y la llamada de consumePurchase() de Google Play tienen algo de correlación. Llamar a consumePurchase() en un elemento administrado para IAB devolverá el estado del elemento a "No Comprado", esencialmente convirtiéndolo a un consumible. Después de eso, el recibo no aparecerá más en la respuesta de llamadas posteriores a getPurchases(). Amazon devolverá los recibos de elementos consumibles en las llamadas a getPurchaseUpdates() hasta que la aplicación llame a notifyFulfillment().

Para obtener más información acerca de las clases y métodos de la IAP, vea la Referencia de la API de In-App Purchasing v2.0.

Probando tu Aplicación

Descarga e instalar la herramienta App Tester para probar tu aplicación integrada con IAP v2.0. Esta herramienta también puede probar la API de Móviles Asociados, si su aplicación utiliza ésos también. Sigue las instrucciones y enlaces en Testing In-App Purchasing (IAP) instalar y utilizar App Tester.

Luego de probar tu aplicación localmente, puedes usar el servicio Live App Testing para las pruebas previas de tu aplicación en un entorno de producción con un grupo selecto de usuarios.

Para Terminar

Espero que hayas disfrutado la guía de hoy, así como nuestro episodio anterior sobre Cómo Enviar tu Aplicación a Amazon Appstore. Por favor haznos saber qué áreas de Amazon Appstore te gustaría ver cubiertos en más detalle. Puedes publicar en los comentarios abajo o contactarme en Twitter @lookahead_io.

Si te gustó este tutorial, por favor asegúrate de revisar mis series sobre la Creación de una Startup con PHP y mantente al día con mi página de instructor en Envato Tuts+ para ver algunos de mis otros tutoriales y series.

Enlaces Relacionados

Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.