-
Novedades en StoreKit y compras dentro de la app
Conoce las últimas mejoras de la StoreKit API para brindar excelentes experiencias de compra dentro de la app a tus clientes. Revisaremos los nuevos campos agregados a AppTransaction, Transaction y RenewalInfo, y las actualizaciones de los códigos de oferta de compras dentro de la app. También abarcaremos la creación de solicitudes de compras dentro de la app registradas usando la biblioteca del App Store Server y actualizaciones de suscripciones de comercialización mediante SwiftUI.
Capítulos
- 0:00 - Introducción
- 0:36 - Explorar nuevas funcionalidades
- 10:24 - Solicitudes de compra dentro de la app
- 14:21 - Suscripciones de mercancía
Recursos
- Set up offer codes
- Advanced Commerce API
- Simplifying your implementation by using the App Store Server Library
- Implementing a store in your app using the StoreKit API
- Human Interface Guidelines: In-app purchase
- StoreKit
Videos relacionados
WWDC25
WWDC24
WWDC23
WWDC21
-
Buscar este video…
-
-
- 0:00 - Introducción
Obtén información sobre las nuevas funcionalidades de StoreKit, incluidas las actualizaciones de la estructura central, la biblioteca del servidor del App Store para registrar solicitudes de compras dentro de la app y las vistas SwiftUI para suscripciones.
- 0:36 - Explorar nuevas funcionalidades
Hay nuevas actualizaciones para tres tipos clave en StoreKit: “AppTransaction”, “Transaction” y “RenewalInfo.” Estos tipos brindan información valiosa sobre la compra de tu app, así como sobre el historial de transacciones y el estado de suscripción de tus clientes. “AppTransaction” ahora incluye dos nuevos campos a partir de iOS 18.4. “appTransactionID” es un valor único a nivel global para cada cuenta de Apple que descarga tu app y se implementa en iOS 15. Este ID también es único para cada miembro del grupo familiar para las apps que admiten Compartir en familia. El campo “originalPlatform” indica la plataforma en la que se compró originalmente la app, como iOS, macOS, tvOS o visionOS. Esta información te permite respaldar los cambios en el modelo de negocio y a otorgar derechos a los clientes de manera adecuada. El tipo “Transaction” representa una compra dentro de la app exitosa e incluye detalles como la fecha de compra dentro de la app, el ID del producto y la fecha de vencimiento para las suscripciones con renovación automática. A partir de iOS 18.4, la API Transaction.currentEntitlement(for:) tiene un reemplazo llamado Transaction.currentEntitlements(for:)・・. Esta nueva API devuelve una secuencia asincrónica de transacciones que dan derecho al cliente a un producto determinado, ya que un cliente puede tener múltiples derechos por diferentes medios. El modelo “Transaction” tiene tres nuevos campos este año: “appTransactionID”, ・・“offer period”, que detalla el periodo de suscripción asociado a una oferta canjeada y “advancedCommerceInfo”, que aplica únicamente a apps que usan la API Advanced Commerce. La API Advanced Commerce facilita el soporte para compras dentro de la app en catálogos de contenido amplios, experiencias de creadores y suscripciones con complementos opcionales. Por último, el tipo “RenewalInfo”, específicamente para suscripciones con renovación automática, contiene detalles sobre el estado de renovación de la suscripción, lo que permite administrar y comprender el negocio basado en suscripciones de manera efectiva. Esto incluye detalles como la fecha de la próxima renovación de la suscripción y, para suscriptores cuyas suscripciones caducaron, el motivo del vencimiento. Estas razones pueden ser valiosas para comprender el comportamiento del cliente y adaptar tus estrategias en consecuencia. Por ejemplo, si una suscripción expira por un aumento de precio, puedes usar esa información para ofrecer promociones de recuperación y motivar a los clientes a volver a suscribirse. A partir de iOS 18.4, se mejoró la API “SubscriptionStatus” para permitir consultar estados de suscripción con un ID de transacción, lo que brinda más flexibilidad y acceso a datos. Además, se presentan cuatro nuevos campos en el tipo “RenewalInfo”, que ofrecen información más completa sobre los detalles de la suscripción.
- 10:24 - Solicitudes de compra dentro de la app
Este año, hay nuevas API de Opción de compra y modificadores de vista que requieren firmas web JSON (JWS). Con estas API, puedes establecer la elegibilidad del cliente para ofertas introductorias y firmar ofertas promocionales con el formato JWS. La biblioteca del servidor del App Store simplifica el proceso de firma de JWS. Debes recuperar tu clave de firma de compra dentro de la app desde App Store Connect y usarla junto con la Biblioteca para crear solicitudes firmadas.
- 14:21 - Suscripciones de mercancía
Una nueva vista de SwiftUI llamada “SubscriptionOfferView” está diseñada para permitirte mostrar y promover suscripciones con renovación automática en tus apps. Esta vista simplifica el proceso de comercialización de suscripciones al cargar automáticamente los metadatos del producto del App Store cuando se declara usando un ID de suscripción con renovación automática. Puedes personalizar la apariencia de “SubscriptionOfferView” usando la imagen de suscripción configurada en App Store Connect o proporcionando un ícono personalizado. También puedes configurar un ícono de marcador de posición para que se muestre mientras se descargan los metadatos de la suscripción. También puedes mejorar la vista con el modificador “subscriptionOfferViewDetailAction”, que agrega un botón “detailLink.” Al tocarlo, este botón realiza una acción personalizada que tú defines. Un patrón común para esta acción es dirigir a los clientes a una tienda de suscripciones dentro de la app, lo que les permite explorar y comprar los planes disponibles. Para determinar qué plan de suscripción mostrar en un SubscriptonOfferView, considera el estado de suscripción del cliente con el modificador “subscriptionStatusTask” presentado en iOS 17. Al traducir los estados de suscripción de StoreKit a un modelo específico de la app, puedes actualizar la jerarquía de la vista. Puedes configurar “SubscriptionOfferView” para mostrar diferentes planes según el estado actual del cliente, usando el parámetro visibleRelationship.” Las opciones incluyen “upgrade”, “downgrade”, “crossgrade”, “current”, y “all.”