Acquisti in-app: una guida

I cosiddetti in-app purchase sono un ottimo modo per espandere a pagamento le potenzialità di una app altrimenti gratuita. Apple ha creato per questo un framwork StoreKit che gestisce gran parte del processo di vendita, ma senza interfaccia grafica.

Questo significa che da parte dello sviluppatore ci siano parecchie righe di codice da dover scrivere. E, nel caso volessimo un in-app store, un’intera interfaccia grafica da progettare.

In App Purchases: A Full Walkthrough è un ottimo tutorial che spiega ogni singolo passaggio e propone un codice di esempio per un ipotetico passaggio dalla versione free alla pro (proprio di recente Apple ha stabilito che è l’in-app purchase la strada corretta da seguire, anziché due app separate).

La guida è molto dettagliata soprattutto nel caso di Invalid Product IDs, trattato a parte in un articolo/checklist. Da sottolineare la particolarità di questa implementazione per cui, per poter funzionare, si devono aggiungere uno o più prodotti direttamente dalla pagine dell’app in iTunes Connect. Secondo l’autore della guida, bisogna attendere qualche ora affinché i nuovi prodotti siano riconosciuti dal codice come esistenti, ma dal mio test ora sembra essere tutto pressoché immediato.

Nonostante l’intero processo non sia semplicissimo da implementare, si scorge una certa linearità nella progettazione del framework StoreKit.

Produrre una versione Lite senza duplicare un progetto

Spesso le App a pagamento vengono pubblicate anche in versione gratuita (ed in qualche modo limitata) per fare in modo che gli utenti possano rendersi conto dell’utilità dell’App stessa senza il timore di spendere del denaro. Una volta sincerati della qualità della versione gratuita, gli utenti di solito acquistano volentieri l’App completa.

Nonostante per Apple le App e le “App Lite” (o “Free”) siano tecnicamente due app distinte, è possibile produrre la versione Lite senza duplicare il progetto dell’App completa. Questo garantisce una facilità di allineamento fra le funzioni e i bug fix delle due versioni, ma necessita di alcune accortezze.

Se si definisce una variabile globale di tipo BOOL, ad esempio nell’AppDelegate.h con il comando:

1
#define isLite YES
#define isLite YES

allora in qualunque file di implementazione si può lanciare un comando quando l’App è Lite e un’altro quando è completa, con un semplice if.

Altra accortezza è quella di modificare almeno la grafica dell’icona dell’App, di modo che si distingua dall’App completa.

A livello di profili di provisioning è necessario creare un distinto App ID e una coppia di profili di development e distribution.

Nel progetto, invece, va cambiato l’identifier dell’iOS Application Target (lo trovate sul Summary del Target) di modo che sia identico a quello definito nell’App ID. Poi, nei Build Settings del Project selezionate i nuovi profili nella sezione Code Signing (ovviamente dopo aver scaricato e installato i nuovi profili di provisioning).

A questo punto la solita archiviazione genererà una nuova sezione dedicata alla versione Lite e, durante la validazione e la sottomissione verrà in automatico proposto il corretto profilo di provisioning di distribuzione.

Facile, no?

Come inserire il codice ABI/CAB in iTunes Connect

Quando, tramite iTunes Connect, si aggiunge un nuovo (o un primo) conto corrente bancario in cui far versare ad Apple gli introiti per le vendite delle applicazioni, viene chiesto il codice ABI/CAB. Anche se viene richiesto proprio con la dicitura che ho riportato, contente lo slash, va inserito con le cifre consecutive, senza spazi.

Ovvero, prendendo il vostro codice IBAN, dovete ricopiare le prime 10 cifre dopo il CIN (il CIN è, tolto il prefisso IT, l’unica lettera dell’IBAN).

Nei passaggi successivi viene richiesto il numero di conto, il nome dell’intestatario e la valuta del conto. Buffo è il fatto che dopo aver selezionato “EUR – Euro”, appaia il campo IBAN che, come saprete, contiene già di suo ABI, CAB e pure numero di conto.

Una volta selezionato tale conto corrente per i versamenti di Apple, ci vogliono al massimo 24 ore affinché l’aggiornamento delle informazioni bancarie diventi effettivo. L’eventuale precedente conto inserito verrà eliminato.

Per completezza ecco il percorso per inserire un nuovo conto corrente bancario:

iTunes Connect > Contracts, Tax, and Banking > iOS Paid Applications (Edit Bank Info) > Add Bank Account

Da qui, basta seguire le istruzioni a schermo e questo piccolo tip.