Suscripciones e informes en Xamarin.iOS

Acerca de las suscripciones no renovables

Las suscripciones no renovables están pensadas para productos que representan la venta de un servicio con una restricción de tiempo (como el acceso de una semana a una aplicación de navegación o el acceso limitado a un archivo de datos).

Diferencias clave entre las suscripciones no renovables y otros tipos de producto:

  • La definición del producto en iTunes Connect no incluye el término. El código de la aplicación debe poder deducir el período de validez del identificador de producto.
  • Se pueden comprar varias veces (como un producto consumible). Las aplicaciones son necesarias para administrar el período de suscripción, la expiración y la renovación, e impedir que el usuario compre suscripciones que se solapen.
  • Las compras no son compatibles con la función StoreKit Restore. Si la suscripción debe estar disponible en todos los dispositivos de un usuario, la aplicación tendrá que diseñar e implementar esta característica junto con un servidor remoto. Las aplicaciones también son responsables de realizar una copia de seguridad del estado de la suscripción en los casos en los que se realiza una copia de seguridad de un dispositivo y luego se restaura de ella.
  • Información general sobre la implementación
  • Normalmente, las suscripciones no renovables deben implementarse mediante el flujo de trabajo Entregado por el servidor y administrarse como productos consumibles.

Acerca de las suscripciones gratuitas

Las suscripciones gratuitas permiten a los desarrolladores colocar contenido gratuito en aplicaciones de Quiosco (no se pueden usar en aplicaciones que no son de este tipo). Una vez iniciada una suscripción gratuita, estará disponible en todos los dispositivos del usuario. Las suscripciones gratuitas nunca expiran; solo terminan cuando se desinstala la aplicación.

Información general sobre la implementación

Las suscripciones gratuitas se comportan de forma muy similar a las suscripciones con renovación automática. La aplicación debe tener un producto de suscripción gratuita disponible para "comprar" en iTunes Connect. Cuando la compra el usuario, la compra de la suscripción gratuita debe validarse como un producto de suscripción con renovación automática. Las transacciones de suscripciones gratuitas se pueden restaurar.

Suscripciones con renovación automática

Las suscripciones con renovación automática se usan principalmente en aplicaciones de Quiosco. Representan un producto que concede al usuario acceso al contenido dinámico durante un período de tiempo determinado, que se configura en iTunes Connect (períodos establecidos que van de 7 días a 1 año). Las suscripciones se renuevan automáticamente; al final de cada período de suscripción se realiza un cargo en el Apple ID de los usuarios, a menos que el usuario suspenda la suscripción. Este tipo de producto funciona bien en el caso de suscripciones a revistas o noticias, donde el usuario obtiene acceso a cada número publicado mientras su suscripción es válida.

Información general sobre la implementación

Las suscripciones con renovación automática deben implementarse mediante el flujo de trabajo Productos entregados por el servidor (consulte la sección Comprobación de recibos y Productos entregados por el servidor).

Secreto compartido

El secreto compartido de compra dentro de la aplicación debe usarse en la solicitud JSON al comprobar las suscripciones con renovación automática en el servidor. A través de iTunes Connect se crea el secreto compartido y se accede a él.

En la página principal de iTunes Connect, seleccione Aplicaciones:

Select My Apps

Seleccione una aplicación y haga clic en la pestaña Compras dentro de la aplicación:

Click on the In-App Purchases tab

En la parte inferior de la página, seleccione Ver o generar un secreto compartido:

Select View or generate a shared secret

Generate a shared secret

Para usar el secreto compartido, inclúyalo en la carga JSON que se envía a los servidores de Apple al validar un recibo de compra dentro de la aplicación para una suscripción con renovación automática, de la siguiente manera:

{
   "receipt-data" : "(receipt bytes here)",
   "password"     : "(shared secret bytes here)"
}

El campo de estado de la respuesta será cero si la compra es válida, al igual que con otros tipos de producto.

Descarga de elementos después del plazo de la suscripción inicial

Como parte de la entrega de productos de suscripción, el código debería comprobar con frecuencia el último recibo conocido en los servidores de Apple. Si una suscripción se ha renovado automáticamente desde la última comprobación, la respuesta JSON contendrá campos adicionales que notifican a la aplicación la transacción que se ha producido (que debe ampliar la validez de las suscripciones). La respuesta JSON contendrá:

{
   "status" : 0,
   "receipt" : { (receipt here) },
   "latest_receipt" : "(base-64 encoded receipt here)",
   "latest_receipt_info" : { (latest receipt info here) }
}

Si el estado es cero, la suscripción sigue siendo válida y los demás campos contienen datos válidos. Si el estado es 21006, la suscripción ha expirado. Consulte la documentación Comprobación del recibo de confirmación de una suscripción con renovación automática para ver otros códigos de error.

Restauración de suscripciones con renovación automática

Se devolverán varias transacciones: la transacción de compra original más una transacción aparte por cada período de tiempo que se renueve la suscripción. Debe realizar un seguimiento de las fechas de inicio y los plazos para comprender cuál es el período de validez.

El objeto SKPaymentTransaction NO incluye el plazo de la suscripción: debe usar un identificador de producto diferente para cada plazo y escribir código que pueda extrapolar el período de suscripción a partir de la fecha de compra de la transacción.

Prueba de la renovación automática

Para facilitar la prueba de las suscripciones, sus duraciones se comprimen al realizar pruebas en el espacio aislado. Las suscripciones de 1 semana se renuevan cada 3 minutos y las de 1 año se renuevan cada hora. Las suscripciones se renovarán automáticamente hasta 6 veces mientras se prueban en el espacio aislado.

Generación de informes

iTunes Connect (itunesconnect.apple.com) proporciona:

Ventas y tendencias: muestra los detalles de las descargas de aplicaciones, las actualizaciones y las compras dentro de la aplicación.

Pagos e informes financieros: detalla los ingresos obtenidos por las aplicaciones, así como los pagos que se le han realizado y cuánto se le debe.

A continuación se muestra un ejemplo del informe Ventas y tendencias:

An example Sales and Trends report

También hay una aplicación iOS Connect Mobile para iOS. Aquí se muestran capturas de pantalla del iPhone de algunas de las estadísticas disponibles:

iPhone screenshots for some of the statistics available