Planos de facturación mensual de compromiso de iOS
Copie un prompt de configuración con los pasos de instalación y la guía de markdown completa para este plugin.
Apple apoya las suscripciones que facturan mensualmente mientras que el cliente se compromete a un plazo más largo de 12 meses. Cuando StoreKit y el sistema operativo en ejecución apoyan este plan de facturación, @capgo/native-purchases exponen los términos de precios, permiten seleccionar el plan de facturación mensual durante la compra y devuelven metadatos de compromiso en transacciones e información de renovación.
Utilice esto para ofertas de suscripción anuales donde los usuarios prefieren pagos mensuales pero usted todavía quiere la retención y la previsibilidad de un plazo comprometido anual.
Requisitos
Sección titulada “Requisitos”- Configure el plan de facturación mensual con un plazo de compromiso de 12 meses en App Store Connect o en StoreKit Testing en Xcode.
- Construya la aplicación iOS con un Xcode SDK que contenga StoreKit
pricingTermsybillingPlanType. - contexto: Página/área: Sitio web de marketing de Capgo. Rol: Etiqueta de UI corta o elemento de navegación. Visto en: página trust.astro. Clave de mensaje `y` (Y).
- Ejecute en una versión de iOS que apoye los planes de facturación de compromiso de StoreKit.
Cargar y mostrar los términos de precios
Título de la sección “Cargar y mostrar los términos de precios”Llamar getProducts() contexto: HTML fragmento de texto de una cadena de Capgo UI más larga (clave de página `appflow_migration_step2`). Página/área: Comparación y migración de Appflow / marketing de copia de página. Papel: Oración de copia de sitio web. Visto en: página ionic-appflow.astro. Preservar términos de producto/marca y términos de desarrollador exactamente. Clave de mensaje `appflow_migration_step2` (Paso 2 de la migración de Appflow). pricingTerms.
import { NativePurchases, PURCHASE_TYPE } from '@capgo/native-purchases';
const { products } = await NativePurchases.getProducts({ productIdentifiers: ['com.example.app.premium.yearly'], productType: PURCHASE_TYPE.SUBS,});
const premiumYearly = products.find( (product) => product.identifier === 'com.example.app.premium.yearly',);const monthlyCommitment = premiumYearly?.pricingTerms?.find( (term) => term.billingPlanType === 'monthly',);Copiar a portapapeles
| Renderizar los valores proporcionados por la tienda en lugar de precios hardcoded: | Campo |
|---|---|
billingDisplayPrice | Usarlo para |
billingPeriod | El monto de facturación recurrente mostrado al usuario, por ejemplo, el cargo mensual. |
commitmentInfo.priceString | El precio total de compromiso formateado para el escaparate del usuario. |
commitmentInfo.period | El período de compromiso completo. |
subscriptionOffers | Ofertas introductorias o promocionales adjuntas al término de precios. |
Ejemplo de copia de paywall:
function commitmentLabel(term: NonNullable<typeof monthlyCommitment>) { const total = term.commitmentInfo?.priceString; return total ? `${term.billingDisplayPrice} billed monthly, ${total} total commitment` : term.billingDisplayPrice;}Comprar el Plan de Compromiso Mensual
Sección titulada “Comprar el Plan de Compromiso Mensual”Cuando el usuario selecciona el plan de compromiso mensual, envíe billingPlanType: 'monthly'.
const transaction = await NativePurchases.purchaseProduct({ productIdentifier: 'com.example.app.premium.yearly', productType: PURCHASE_TYPE.SUBS, billingPlanType: 'monthly', appAccountToken: userStoreUuid,});Usar billingPlanType: 'upFront' Sólo cuando necesite seleccionar explícitamente el plan de facturación estándar de pago anticipado. Si omite billingPlanTypeStoreKit utiliza su comportamiento de compra predeterminado para el producto.
Leer Metadatos de Compromiso
Sección titulada “Leer Metadatos de Compromiso”Las transacciones incluyen el plan de facturación y el progreso del compromiso cuando StoreKit lo proporciona:
if (transaction.billingPlanType === 'monthly') { console.log('Current billing period:', transaction.commitmentInfo?.billingPeriodNumber); console.log('Total billing periods:', transaction.commitmentInfo?.totalBillingPeriods); console.log('Commitment ends:', transaction.commitmentInfo?.expirationDate); console.log('Commitment total:', transaction.commitmentInfo?.price);}La información de renovación puede incluir el próximo estado de compromiso:
const { purchases } = await NativePurchases.getPurchases({ productType: PURCHASE_TYPE.SUBS, onlyCurrentEntitlements: true,});
for (const purchase of purchases) { const commitment = purchase.renewalInfo?.commitmentInfo; if (!commitment) continue;
console.log('Renews into another commitment:', commitment.willAutoRenew); console.log('Next billing plan:', commitment.renewalBillingPlanType); console.log('Next renewal date:', commitment.renewalDate);}Utiliza el nivel superior expirationDate y isActive campos para tomar decisiones de acceso. Utilice commitmentInfo.expirationDate para explicar el plazo completo de compromiso al cliente.
Notas de Revisión de la Tienda de Aplicaciones
Sección titulada “Notas de Revisión de la Tienda de Aplicaciones”- Muestre tanto el precio de facturación recurrente como el precio total de compromiso antes de la compra.
- Haga explícito la longitud del compromiso cerca del botón de compra.
- Utilice
product.title,product.priceString,pricingTerms[].billingDisplayPrice, ypricingTerms[].commitmentInfo.priceStringdesde StoreKit en lugar de precios codificados. - Proporcione acciones de restaurar compras y administrar suscripciones en la pantalla de pago o pantalla de cuenta.
Guías relacionadas
Sección titulada “Guías relacionadas”- Crear suscripciones de iOS
- Configurar pruebas de sandbox de iOS
- Directrices de revisión de la Tienda de Aplicaciones de iOS
Sigue adelante desde los planes de facturación mensual de compromiso de iOS
Título de la sección “Sigue adelante desde los planes de facturación mensual de compromiso de iOS”Si estás utilizando Planes de facturación mensual de compromiso de iOS para planificar pagos y compras, conecta con Usando @capgo/native-purchases para la capacidad nativa en Usando @capgo/native-purchases, Capgo Pricing para el flujo de trabajo de producto en Capgo Pricing, Sistema de pago para el detalle de implementación en Sistema de pago @capgo/compras nativas para el detalle de implementación en @capgo/compras nativas, y Inicio rápido para el detalle de implementación en Inicio rápido.