Saltare al contenuto

Crea abbonamento iOS Auto-Renewable

GitHub

Le sottoscrizioni auto-rinnovabili forniscono accesso ricorrente a contenuti, servizi o funzionalitĂ  premium nella tua app iOS. Questa guida ti guida attraverso la creazione di sottoscrizioni in App Store Connect.

Abbonamenti automatici rinnovabili si rinnovano automaticamente alla fine di ogni periodo di fatturazione fino a quando gli utenti non annullano. Sono ideali per:

  • Contenuti e funzionalitĂ  premium
  • Esperienze senza pubblicitĂ 
  • 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 abbonamento o crea uno nuovo se necessario.

    Naviga alle abbonamenti

  2. Crea Nuovo Abbonamento

    Clicca sul + simbolo accanto al tuo gruppo di abbonamento per aggiungere un nuovo abbonamento.

  3. Inserisci Informazioni Base

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

    • Ad esempio: “Abbonamento Premium Mensile”, “Piano Ultimo Annuale”, “Piano Base”

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

    • Formato: com.yourcompany.yourapp.premium_monthly
    • Usa nomi descrittivi, in minuscolo, con trattini
    • 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 primario (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 (Facoltativa)

    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
    • Vuoi massimizzare il reddito per utente
  7. Aggiungi Localizzazioni

    Aggiungi informazioni di visualizzazione della sottoscrizione in tutte le lingue supportate dall'app.

    Nome della SottoscrizioneNome a fronte del 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 di App Store (Facoltativa)

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

    • Visualizzato nella pagina di sottoscrizione dell'App Store
    • Deve corrispondere al design dell'app
    • Includi il nome della sottoscrizione per chiarezza
  9. Salva e Invia

    Salva e Invia Clicca creare l'abbonamento.

    Per la Prima Sottoscrizione:

    • Deve essere inviato con una nuova versione dell'app
    • Includere nella tua prossima presentazione all'App Store
    • Non può essere inviato indipendentemente

    Per Sottoscrizioni successive:

    • Possono essere inviati direttamente dalla pagina 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 mancantiSetup incompletoSì (sandbox)
Pronto per la sottoscrizioneCompleto ma non inviatoSì (sandbox)
In attesa di revisioneInviato a AppleSì (sandbox)
In rassegnaIn esame da AppleSì (sandbox)
ApprovatoDisponibile per l'acquistoSì
SìRichiede modificheSì (sandbox)

Una volta creato, si faccia riferimento alla sottoscrizione nell'applicazione 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 di 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. Utilizzare quei termini per visualizzare 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 entitlement, vedere Piani di fatturazione mensili di impegno per iOS.

  • 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 app simili
  • Usa denominazioni coerenti: company.app.tier_duration
  • Includi livello e durata nell'ID: premium_monthly, ultimate_annual
  • Evita modificare gli ID dei prodotti (sono permanenti)
  • Documenta tutti gli ID dei prodotti per il tuo team
  • Abilita per app orientate alla famiglia (giochi, educative, intrattenimento)
  • Considera l'impatto sulle entrate
  • Testa attentamente il comportamento di condivisione
  • Comunica la capacitĂ  di condivisione nella promozione
  • Traduci tutti i nomi e le descrizioni delle sottoscrizioni
  • Considera le differenze di prezzo regionali
  • Test visualizzazione in tutte le lingue supportate
  • Usa linguaggio di marketing appropriato per la cultura
  • Mantieni uno stile visivo coerente
  • Include subscription name and key benefit
  • Aggiorna per 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:

  • Verify product ID matches exactly (case-sensitive)
  • Controlla che l'abbonamento sia nel gruppo degli abbonamenti
  • Assicurati che l'identificatore del bundle corrisponda a App Store Connect
  • Attendere 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
  • Verify banking/tax info is approved
  • Verifica se la prima sottoscrizione (richiede versione dell'app)

Disattivato il toggle di condivisione della famiglia:

  • GiĂ  abilitata (non può essere disabilitata)
  • Verifica i dettagli della sottoscrizione
  • Contatta il Supporto Apple se rimani bloccato

Livello di prezzo non disponibile:

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

Contatto Apple per domande di prezzo

  • Errore "ID prodotto non valido":
  • Deve essere nel formato di dominio inverso
  • Controlla gli errori di ortografia
  • Controlla gli errori di ortografia

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

If sei utilizza Create una sottoscrizione iOS Auto-Renewable per pianificare l'approvazione e la distribuzione della tua app, collega Utilizza @capgo/native-purchases per la capacitĂ  nativa in Utilizza @capgo/native-purchases, @capgo/capacitor-recensione-in-app per il dettaglio di implementazione in @capgo/capacitor-in-app-review, Utilizza @capgo/capacitor-in-app-review per la capacitĂ  nativa in Utilizza @capgo/capacitor-in-app-review, @capgo/capacitor-market nativo per il dettaglio di implementazione in @capgo/capacitor-native-market, e Utilizza @capgo/capacitor-native-market per la capacitĂ  nativa in Utilizzo di @capgo/capacitor-native-market.