Conceptos básicos y configuración de compras en la aplicación en Xamarin.iOS

La implementación de compras desde la aplicación requiere que la aplicación use la API de StoreKit en el dispositivo. StoreKit administra toda la comunicación con los servidores de iTunes de Apple para obtener información del producto y realizar transacciones. El perfil de aprovisionamiento debe configurarse para la compra desde la aplicación y la información del producto debe introducirse en iTunes Connect.

StoreKit manages all communication with Apple’s as shown in this chart

El uso de App Store para proporcionar compras desde la aplicación requiere la siguiente configuración y configuración:

  • iTunes Connect: configuración de los productos para vender y configurar cuentas de usuario de espacio aislado para probar la compra. También debes haber proporcionado tu información bancaria y fiscal a Apple para que puedan remitir fondos recopilados en tu nombre.
  • Portal de aprovisionamiento de iOS – Creación de un identificador de agrupación y habilitación del acceso a App Store para la aplicación.
  • Store Kit: Agregar código a la aplicación para mostrar productos, comprar productos y restaurar transacciones.
  • Código personalizado: Para realizar un seguimiento de las compras realizadas por los clientes y proporcionar los productos o servicios que han comprado. También puede que necesite implementar un proceso del lado servidor para validar los recibos si los productos constan de contenido descargado de un servidor (como libros y problemas de revistas).

Hay dos “entornos de servidor” del Kit de almacenamiento:

  • Producción: transacciones con dinero real. Solo se puede acceder a través de aplicaciones enviadas y aprobadas por Apple. Los productos de compra desde la aplicación también deben revisarse y aprobarse antes de que estén disponibles en el entorno de producción.
  • Espacio aislado: donde se producen las pruebas. Los productos están disponibles aquí inmediatamente después de la creación (el proceso de aprobación solo se aplica al entorno de producción). Las transacciones en el espacio aislado requieren usuarios de prueba (no identificadores reales de Apple) para realizar transacciones.

Reglas de compra desde la aplicación

No puede aceptar otras formas de pago para productos o servicios digitales dentro de la aplicación, ni mencionarlos ni hacer referencia a ellos a los usuarios desde dentro de una aplicación. Esto significa que no puede aceptar tarjetas de crédito o PayPal cuando la compra desde la aplicación es el mecanismo de pago más adecuado. Hay un caso especial para comprar productos digitales fuera de la aplicación, pero para su uso en la aplicación, como la compra de libros en un sitio web que están asociados a un "inicio de sesión" específico y el uso de ese "inicio de sesión" en la aplicación permite al usuario acceder a los libros comprados. Las aplicaciones que operan de esta manera no pueden mencionar ni vincularse a la característica de compra externa: los desarrolladores deben comunicar esta capacidad a sus usuarios de otras maneras (quizás a través de marketing por correo electrónico o algún otro canal directo).

Sin embargo, dado que no puede usar compras desde la aplicación para bienes físicos, en ese caso puede usar un mecanismo de pago alternativo (por ejemplo, tarjeta de crédito, PayPal) desde la aplicación.

Apple debe aprobar todos los productos antes de su venta: se requiere el nombre, la descripción y una captura de pantalla del "producto" para su revisión. Los tiempos de revisión del producto son los mismos que para las revisiones de aplicaciones.

No puedes elegir ningún precio para tu producto – que solo puedas seleccionar un ‘nivel de precios’ que tenga un valor específico en cada país o moneda compatible con Apple. No se puede tener un nivel de precios distinto en mercados diferentes.

Configuración

Antes de escribir cualquier código de compra en la aplicación, debe realizar algún trabajo de configuración en iTunes Connect (itunesconnect.apple.com) y el Portal de aprovisionamiento de iOS (developer.apple.com/iOS).

Estos tres pasos deben completarse antes de escribir cualquier código:

  • Cuenta Desarrollador de Apple: Enviar su información bancaria y fiscal a Apple.
  • Portal de aprovisionamiento de iOS – Asegúrese de que la aplicación tiene un identificador de aplicación válido (no un carácter comodín con un asterisco * en él) y tiene habilitado en la compra de aplicaciones.
  • Administración de aplicaciones de iTunes Connect: Agregar productos a la aplicación.

Cuenta de desarrollador de Apple

La compilación y distribución de aplicaciones gratuitas requiere muy poca configuración en iTunes Connect, pero para vender aplicaciones de pago o compras desde la aplicación, es necesario proporcionar a Apple información bancaria e fiscal. Haga clic en Contratos, Impuestos y Banca en el menú principal que se muestra aquí:

Click on Agreements, Tax and Banking from the main menu

La cuenta desarrollador debe tener un contrato de Aplicaciones de pago de iOS en vigor, como se muestra en esta captura de pantalla:

Your Developer Account should have an iOS Paid Applications contract in effect

No podrá probar ninguna funcionalidad de StoreKit hasta que tenga una Aplicaciones de pago de iOS contrato – StoreKit llamadas en su código no se realizarán hasta que Apple haya procesado sus Contratos, impuestos y información de bancaria.

Portal de aprovisionamiento de iOS

Las nuevas aplicaciones se configuran en la sección Identificadores de aplicacióndel portal de Aprovisionamiento de iOS. Para crear un nuevo identificador de aplicación, vaya al Centro de miembros del portal de aprovisionamiento de iOS, vaya a la sección Certificados, identificadores y perfiles del portal y haga clic en Identificadores en Aplicaciones de iOS. A continuación, haga clic en "+" en la parte superior derecha para generar un nuevo identificador de aplicación.

Formulario para crear nuevos Identificadores de aplicación

tiene este aspecto:

The form for creating new App IDs

Escriba algo adecuado para la Descripción, por lo que puede identificar fácilmente este identificador de aplicación en una lista. Para el prefijo id. de aplicación, seleccione el id. de equipo.

Formato de sufijo de identificador de conjunto de productos o identificador de aplicación

Puede usar cualquier cadena que desee para el Identificador de conjunto de productos (siempre que sea único en su cuenta), pero Apple recomienda seguir el formato DNS inverso en lugar de usar cualquier cadena arbitraria. La aplicación de ejemplo que acompaña a este artículo usa com.xamarin.storekit.testing para el Identificador de conjunto de productos, pero sería igualmente válido usar un identificador como my_store_example (aunque Apple no lo recomiende).

Importante

Apple también permite agregar asterisco comodín al final de un Identificador de conjunto de productospara que se pueda usar un identificador de aplicación único para varias aplicaciones, pero no se pueden usar identificadores de aplicación comodín para In-AppPurchase . Un identificador de conjunto de productos comodín de ejemplo podría ser com.xamarin.*

Habilitación de App Services

Tenga en cuenta que comprar desde la aplicación se habilitará automáticamente en la lista Servicios:

In-App Purchase will be automatically enabled in the Services list

Perfiles de aprovisionamiento

Cree perfiles de aprovisionamiento de desarrollo y producción como lo haría normalmente, seleccionando el identificador de aplicación que ha configurado para la compra desde la aplicación. Consulte la aprovisionamiento de dispositivos iOS y publicación en app Store guías para obtener más información.

iTunes Connect

Haga clic en Mis aplicaciones en iTunes Connect para crear o editar una entrada de aplicación de iOS. La página de información general de la aplicación se muestra aquí:

The application overview page

Haga clic en Compras desde la aplicación para crear o editar sus productos en venta. En esta captura de pantalla se muestra la aplicación de ejemplo con varios productos ya agregados:

The sample app with several products already added

El proceso para agregar nuevos productos tiene dos pasos:

  1. Elija el tipo de producto: Choose the product type
  2. Escriba los atributos del producto, incluidos el id. de producto, el plan de tarifa y las descripciones localizadas: Entering the products attributes

Los campos necesarios para cada producto de compra desde la aplicación se describen a continuación:

Nombre de referencia

El nombre de referencia no se muestra a los usuarios; es para uso interno y solo aparece en iTunes Connect.

Formato de id. de producto

Un identificador de producto solo puede contener caracteres alfanuméricos (A-Z, a-z,0-9), caracteres de subrayado (_) y punto (.). Aunque puede usar cualquier cadena para sus identificadores, Apple recomienda el formato DNS inverso. Por ejemplo, la aplicación de ejemplo usa este identificador de conjunto de productos:

com.xamarin.storekit.testing

Por lo tanto, la convención para identificar los productos de compra desde la aplicación sería el siguiente:

com.xamarin.storekit.testing.consume5credits
com.xamarin.storekit.testing.consume10credits
com.xamarin.storekit.testing.sepia
com.xamarin.storekit.testing.greyscale

Esta convención de nomenclatura no se aplica, simplemente una recomendación para ayudarle a administrar sus productos. Además, a pesar de seguir la misma convención de DNS inverso, los identificadores de producto no están relacionados con el identificador de lote y no son necesarios para empezar con la misma cadena. Seguiría siendo válido usar identificadores como photo_product_greyscale (aunque Apple no lo recomiende).

El identificador de producto no se muestra a los usuarios, pero se usa para hacer referencia al producto en el código de la aplicación.

Tipo de producto

Hay cinco tipos de productos de compra desde la aplicación que puede ofrecer:

  1. Consumible: cosas que se "usan", como la moneda en el juego que el jugador puede gastar. Si el usuario realiza una copia de seguridad o restauración o tiene actualizado su dispositivo, una transacción consumible NO se restaura también (lo que daría al jugador la misma ventaja de nuevo). El código de la aplicación debe asegurarse de proporcionar el "elemento consumible" tan pronto como se complete la transacción.
  2. No consumible : productos que el usuario "posee" una vez adquirido, como una edición de revistas digitales o un nivel de juego.
  3. suscripciones renovables automáticas : Como una suscripción de revista real, al final del período de suscripción Apple carga automáticamente al cliente y amplía el plazo de suscripción, para siempre o hasta que el cliente lo cancele explícitamente. Este es el método de pago preferido para las aplicaciones Quiosco (de hecho, las aplicaciones MUST deben admitir este método de pago para que se apruebe para la distribución de Quiosco).
  4. Suscripción gratuita – Solo se puede ofrecer en aplicaciones habilitadas para Quiosco y permite al cliente acceder al contenido de la suscripción en todos sus dispositivos. Las suscripciones gratuitas nunca expiran.
  5. Suscripción sin renovación – Debe usarse para vender el acceso limitado por tiempo a contenido estático, como el acceso de un mesa un archivo fotográfico.

Actualmente, en este documento solo se tratan los dos primeros tipos de producto (Consumible y No Consumible).

Niveles de precios

La App Store no le permite elegir un precio arbitrario para sus productos – que Apple proporciona planes de precio fijos entre los que puede elegir. Los precios se fijan en cada moneda, y Apple se reserva el derecho de ajustar los precios relativos (por ejemplo, después de un cambio sostenido en el tipo de cambio externo relativo entre una moneda determinada y el dólar estadounidense).

Apple proporciona una matriz de precios para ayudarle a seleccionar el nivel correcto para la moneda y el precio que desee. Aquí se muestra un extracto de la matriz de precios (agosto de 2012):

An excerpt of the price matrix August 2012

En el momento de redactarlo (junio de 2013) hay 87 niveles de 0,99 USD a 999,99 USD. La Matriz de precios muestra el precio que sus clientes pagarán y también la cantidad que recibirá de Apple: este es menos su cargo del 30 % y también los impuestos locales que se requieren para recopilar (observe en el ejemplo que los vendedores estadounidenses y canadienses reciben 70c por un producto de 99c, mientras que los vendedores australianos reciben solo 63c debido a "Impuestos sobre bienes y servicios" impuestos sobre el precio de venta).

Los precios del producto se pueden actualizar en cualquier momento, incluidos los cambios de precios programados que surten efecto en una fecha futura. En esta captura de pantalla se muestra cómo se agrega – un cambio de precio con fecha futura, el precio se cambia temporalmente de nivel 1 a nivel 3 solo durante el mes de septiembre:

A future-dated price change where the price is being temporarily changed from tier 1 to tier 3 for the month of September only

Productos gratuitos no admitidos

Aunque Apple ha proporcionado una opción de suscripción gratuita especial para las aplicaciones Quiosco, no es posible establecer un precio cero (gratuito) para cualquier otro tipo de compra desde la aplicación. Aunque puedes editar (es decir, más bajos) los precios de las promociones de ventas, no puedes realizar compras desde la aplicación 'gratis' a través de iTunes Connect.

Localización

En iTunes Connect puedes escribir texto de nombre y descripción diferentes para cualquier número de idiomas admitidos. Cada idioma se puede agregar o editar a través de un elemento emergente:

Each language can be added/edited in via a popup

Al mostrar información del producto en la aplicación, el texto localizado está disponible para que se muestre a través de StoreKit. La presentación de moneda también debe localizarse para mostrar el símbolo correcto y el formato – decimal que se trata más adelante en el documento.

Revisión de App Store

El mismo que las aplicaciones – que cada producto está revisado por Apple antes de poder venderse. Los productos pueden ser rechazados por contenido inapropiado en el Nombre o descripción, o Apple puede decidir que ha elegido el tipo de producto incorrecto (por ejemplo, ha creado un libro o un problema de revista, pero ha usado el tipo de producto consumible). Las revisiones de productos pueden tardar tanto como una revisión de la aplicación.

La primera vez que se envía una aplicación con la compra desde la aplicación habilitada (ya sea una nueva aplicación o la funcionalidad se ha agregado a una existente), también debe elegir algunos productos para enviarlos. El portal de iTunes Connect le pedirá que lo haga, como se muestra en esta captura de pantalla:

The iTunes Connect portal will prompt you to submit some products as well

La aplicación y las compras desde la aplicación se revisarán conjuntamente, de modo que todas se aprueben a la vez (para que la aplicación no entre en la tienda sin ningún producto aprobado).

Una vez aprobada la primera versión con la funcionalidad de compra desde la aplicación, puede agregar más productos y enviarlos para su revisión en cualquier momento. También puede optar por enviar una nueva versión junto con productos específicos de compra desde la aplicación, usando la página Detalles de la versión como sugiere el mensaje.

Consulte la Guía de revisión de App Store para obtener más información.

Parte 2 - Información general sobre el kit de almacenamiento y recuperación de información sobre el producto