Saltare al contenuto

Create iOS Auto-Renewable Subscription

GitHub

Le sottoscrizioni rinnovabili automatiche forniscono accesso ricorrente a contenuti, servizi o funzionalità premium nell'app iOS. Questa guida ti guida attraverso la creazione di sottoscrizioni in App Store Connect.

Le sottoscrizioni rinnovabili automatiche si rinnovano automaticamente alla fine di ogni periodo di fatturazione fino a quando gli utenti non annullano. Sono perfette per:

  • Contenuti e funzionalità premium
  • Esperienze senza pubblicità
  • Memoria di archiviazione in cloud e sincronizzazione
  • Servizi di streaming
  • Strumenti e utilità professionali

Prima di creare le sottoscrizioni, è necessario:

  1. Creare un gruppo di sottoscrizioni per organizzare le tue sottoscrizioni
  2. Disporre di un'iscrizione attiva al programma di sviluppatore Apple
  3. Completa le informazioni bancarie e fiscali in App Store Connect
  1. Naviga alle Sottoscrizioni

    In App Store Connect, seleziona il tuo app e vai a Monetizza > Sottoscrizioni.

    Scegli il tuo gruppo di sottoscrizioni o crea uno nuovo se necessario.

    Naviga alle sottoscrizioni

  2. Crea nuova sottoscrizione

    Clicca sul + icona accanto al tuo gruppo di sottoscrizioni per aggiungere una nuova sottoscrizione.

  3. Inserisci Informazioni Base

    Nome di Riferimento: Nome descrittivo per il tuo uso interno (non visualizzato ai clienti)

    • Esempi: “Piano Premium Mensile”, “Piano Annuale Estremo”, “Piano Base”

    ID del Prodotto: Identificatore univoco per questa sottoscrizione (non può essere modificato in seguito)

    • Formato: com.yourcompany.yourapp.premium_monthly
    • Usa nomi descrittivi, in minuscolo, con underscore
    • Richiesto per la configurazione del plugin native-purchases

    Inserisci dettagli della sottoscrizione

  4. Configura Durata

    Scegli la durata della sottoscrizione dalle opzioni disponibili:

    • 1 settimana
    • 1 mese
    • 2 mesi
    • 3 mesi
    • 6 mesi
    • 1 anno

    La durata determina con quale frequenza gli utenti vengono fatturati.

  5. Configura I Prezzi

    Clicca Aggiungi prezzo di abbonamento per configurare i prezzi:

    Territorio base: Seleziona il tuo mercato principale (di solito il tuo paese)

    Prezzo: Imposta il prezzo dell'abbonamento

    • Apple converte automaticamente in altre valute
    • Scegli tra i livelli di prezzo di Apple
    • Considera il valore percepito e i tassi di mercato

    Configura i prezzi

  6. Condivisione della famiglia (Facoltativo)

    Decidi se abilitare la condivisione della famiglia, che consente fino a 6 membri della famiglia di accedere alla sottoscrizione.

    Abilita se:

    • Il contenuto è adatto all'uso familiare
    • Desideri aumentare la proposta di valore
    • Il tuo modello di business lo supporta

    Non abilitare se:

    • La sottoscrizione è destinata all'uso individuale
    • Il contenuto è personalizzato per l'utente
    • Desideri massimizzare il reddito per utente
  7. Aggiungi Localizzazioni

    Aggiungi informazioni di visualizzazione della sottoscrizione in tutte le lingue che il tuo app supporta:

    Nome della Sottoscrizione: Nome a cui verrà mostrato al cliente (ad esempio “Premium Mensile”)

    Descrizione: Breve descrizione di cosa include la sottoscrizione

    • Tienilo conciso e focalizzato sui benefici
    • Menziona le principali caratteristiche
    • Sottolinea la proposta di valore

    Aggiungi localizzazioni

  8. Immagine Promozionale dell'App Store (Facoltativa)

    Inserisci un'immagine promozionale per questa sottoscrizione (312x390 pixel):

    • Mostra nella pagina di abbonamento dell'App Store
    • Deve corrispondere al design dell'app
    • Includere il nome dell'abbonamento per chiarezza
  9. Salva e Invia

    Clicca Salva Per la prima sottoscrizione:

    Deve essere inviata con una nuova versione dell'app

    • Deve essere inviata con una nuova versione dell'app
    • Includi nella tua prossima presentazione dell'App Store
    • Non possono essere inviati autonomamente

    Per sottoscrizioni successive:

    • Possono essere inviati direttamente dalla pagina delle sottoscrizioni
    • Non richiedono una nuova versione dell'app
    • Disponibili dopo l'approvazione della prima sottoscrizione

La tua sottoscrizione avrà uno di questi stati:

StatoDescrizionePosso testare?
Dati mancantiConfigurazione incompletaSì (sandbox)
Pronto per la sottoscrizioneCompleto ma non sottopostoSì (sandbox)
In attesa di revisioneSottoposto a AppleSì (sandbox)
In revisioneIn esame da parte di AppleSì (sandbox)
ApprovatoDisponibile per l'acquisto
RifiutatoDa modificareSì (sandbox)

Una volta creato, fare riferimento alla sottoscrizione nell'app utilizzando l'ID del prodotto:

import { NativePurchases, PURCHASE_TYPE } from '@capgo/native-purchases';
// Fetch subscription products direct from StoreKit
const { products } = await NativePurchases.getProducts({
productIdentifiers: [
'com.yourcompany.yourapp.premium_monthly',
'com.yourcompany.yourapp.premium_annual',
],
productType: PURCHASE_TYPE.SUBS,
});
products.forEach((product) => {
console.log(`${product.title}: ${product.priceString}`);
console.log(`Duration: ${product.subscriptionPeriod}`);
console.log(`Description: ${product.description}`);
});
// Purchase a subscription (StoreKit 2 automatically handles intro pricing and offers)
try {
const transaction = await NativePurchases.purchaseProduct({
productIdentifier: 'com.yourcompany.yourapp.premium_monthly',
productType: PURCHASE_TYPE.SUBS,
});
console.log('Transaction ID:', transaction.transactionId);
// StoreKit receipts are included on iOS for server-side validation
await sendReceiptToBackend(transaction.receipt);
} catch (error) {
console.error('Purchase failed:', error);
}
// Check subscription status using the store's data
const { purchases } = await NativePurchases.getPurchases({
productType: PURCHASE_TYPE.SUBS,
});
const premium = purchases.find(
(purchase) => purchase.productIdentifier === 'com.yourcompany.yourapp.premium_monthly',
);
if (premium?.isActive) {
console.log('Expires:', premium.expirationDate);
console.log('Will renew:', premium.willCancel === false);
console.log('Store state:', premium.subscriptionState);
unlockPremiumFeatures();
} else {
showPaywall();
}

Se il tuo abbonamento App Store Connect è configurato con un piano di fatturazione mensile e 12 mesi di impegno, StoreKit può restituire termini di prezzo aggiuntivi per quel prodotto. Utilizza quei termini per mostrare il carico mensile, il prezzo di impegno totale e il periodo di impegno completo prima dell'acquisto.

const yearlyProduct = products.find(
(product) => product.identifier === 'com.yourcompany.yourapp.premium_annual',
);
const monthlyCommitment = yearlyProduct?.pricingTerms?.find(
(term) => term.billingPlanType === 'monthly',
);
if (yearlyProduct && monthlyCommitment) {
console.log('Monthly charge:', monthlyCommitment.billingDisplayPrice);
console.log('Total commitment:', monthlyCommitment.commitmentInfo?.priceString);
await NativePurchases.purchaseProduct({
productIdentifier: yearlyProduct.identifier,
productType: PURCHASE_TYPE.SUBS,
billingPlanType: 'monthly',
});
}

Per la full paywall e il flusso di entitoli, vedi Piani di fatturazione mensili con impegno.

  • Piani mensili: Barriera di ingresso più bassa, costruisce abitudine
  • Piani annuali: Miglior valore, maggiore LTV, minor churn
  • Multipli livelli: Base, Premium, Ultimate per diversi segmenti di utenti
  • Analisi competitiva: Ricerca prezzi simili di altre app
  • Usa denominazioni coerenti: company.app.tier_duration
  • Includi livello e durata nell'ID: premium_monthly, ultimate_annual
  • Evita di modificare gli ID dei prodotti (sono permanenti)
  • Dichiarare tutti gli ID dei prodotti per il tuo team
  • Abilita per gli app orientati alla condivisione della famiglia (giochi, educativi, intrattenimento)
  • Considera l'impatto sulle entrate
  • Testa il comportamento di condivisione attentamente
  • Comunica la capacità di condivisione nella promozione
  • Traduci tutti i nomi e le descrizioni delle sottoscrizioni
  • Considera le differenze di prezzo regionali
  • Testa la visualizzazione in tutte le lingue supportate
  • Usa linguaggio di marketing appropriato per la cultura
  • Mantieni uno stile visivo coerente
  • Includi il nome della sottoscrizione e il beneficio principale
  • Aggiorna per le promozioni stagionali
  • Corrispondi al linguaggio di design dell'app
Free App + Premium Subscription
- Basic: Free (limited features)
- Premium Monthly: $4.99
- Premium Annual: $39.99 (save 33%)
- Basic Monthly: $4.99
- Premium Monthly: $9.99
- Ultimate Monthly: $19.99
- Basic Annual: $49.99
- Premium Annual: $99.99
- Ultimate Annual: $199.99
- Credit packs (consumable)
- Monthly subscription (unlimited credits)
- Annual subscription (unlimited + bonus features)

L'abbonamento non si carica nell'app:

  • Verifica che l'ID del prodotto corrisponda esattamente (sensibile alle maiuscole)
  • Controlla che l'abbonamento appartenga al gruppo degli abbonamenti
  • Assicurati che l'identificatore del pacchetto corrisponda a quello di App Store Connect
  • Attendi 2-3 ore dopo aver creato il prodotto

Non è possibile inviare la sottoscrizione:

  • Completa tutti i campi obbligatori (nome, descrizione, prezzo)
  • Aggiungi almeno una localizzazione
  • Verifica che le informazioni bancarie e fiscali siano approvate
  • Controlla se la prima sottoscrizione (richiede versione dell'app)

La funzione di condivisione della famiglia è disabilitata:

  • Già abilitata (non può essere disabilitata)
  • Controlla i dettagli della sottoscrizione
  • Contatta il Supporto Apple se ti blocca

Livello di prezzo non disponibile:

  • Potrebbe essere limitato in alcune aree geografiche
  • Seleziona un livello alternativo
  • Contattare Apple per domande di prezzo

S'è verificato un errore "ID prodotto non valido"

  • Deve essere nel formato del dominio inverso
  • Non può contenere spazi o caratteri speciali
  • Verifica gli errori di ortografia
  • Verifica l'unicità rispetto a tutti i prodotti

Per ulteriori informazioni, si rinvia alla documentazione ufficiale di Apple sulle sottoscrizioni auto-rinnovabili.

Se stai utilizzando Creare una sottoscrizione iOS Auto-Renewable per pianificare l'approvazione e la distribuzione del negozio, connettilo con Utilizzando @capgo/native-purchases per la capacità nativa in Utilizzando @capgo/native-purchases, @capgo/capacitor-in-app-review per il dettaglio di implementazione in @capgo/capacitor-in-app-review, Utilizzando @capgo/capacitor-in-app-review per la capacità nativa in Utilizzando @capgo/capacitor-in-app-review, @capgo/capacitor-native-market per il dettaglio di implementazione in @capgo/capacitor-native-market, e Utilizzando @capgo/capacitor-native-market per la capacità nativa in Utilizzando @capgo/capacitor-native-market.