Come aggiungere gli acquisti in-app a un'app per iPhone, Android o Windows

Sapere come guadagnerai denaro dal tuo lavoro di creazione di app non è semplice. Il semplice fatto di addebitare la tua app potrebbe incontrare resistenza da parte di potenziali utenti che non possono valutare il prodotto prima di acquistarlo, quindi è così meglio offrirlo gratuitamente per un periodo limitato, o invogliare gli utenti a pagare in seguito per una versione “pro” con funzionalità extra o no Annunci. Queste due strategie di prezzo sono ampiamente utilizzate, ma ce n’è una più recente che potresti prendere in considerazione: gli acquisti in-app (IAP).

Come aggiungere gli acquisti in-app a un'app per iPhone, Android o Windows

Gli IAP vengono utilizzati più spesso dagli editori di giochi, che rendono disponibili gratuitamente giochi perfettamente giocabili, ma offrono la possibilità di sbloccare funzionalità extra o salire di livello più rapidamente pagando il privilegio. Non pensare che stiamo parlando di pochi centesimi: in Candy Crush Saga, ad esempio, i prezzi di acquisto vanno da 69 centesimi a £ 1,49, mentre uno scrigno di gemme nell'avvincente gioco di strategia multiplayer Clash of Clans ti riporterà indietro £70. Nel mio ristorante indiano locale, l'altro giorno, ho chiacchierato con un altro commensale che aveva speso più di £ 100 per battere il suo amico a Clash of Clans. Chiaramente, gli IAP possono fornire un flusso di entrate salutare.

come aggiungere acquisti in-app a un'app per iPhone, Android o Windows 2

Gli acquisti in-game sono stati oggetto di cattiva stampa, soprattutto perché una manciata di bambini ci sono riusciti sfruttare al massimo le carte di credito dei genitori pagando i bonus di gioco senza rendersi conto che stavano usando carte reali soldi. Affinché ciò avvenga, il dispositivo mobile deve essere impostato per consentire gli IAP e il bambino deve conoscere la password dell'app store del genitore, poiché questa viene visualizzata prima che qualsiasi transazione possa essere completata. Ora, potrebbero esserci scenari in cui a un bambino è consentito effettuare un piccolo acquisto e la password del genitore viene inserita e non richiesta nuovamente per tutta la durata della sessione di gioco. Tuttavia, trovo difficile credere che le ingenti somme riportate nei tabloid possano essere spese a meno che il bambino non conoscesse la password, nel qual caso la colpa era dei genitori, piuttosto che del gioco sviluppatore. Le app dovrebbero rendere molto chiaro che gli oggetti di gioco vengono acquistati con denaro reale – e tutte quelle che ho usato lo fanno.

Come sviluppatore, ci sono restrizioni su come puoi utilizzare gli IAP e devi familiarizzare con queste per ciascuna piattaforma a cui ti rivolgi. Ad esempio, non devi utilizzare gli IAP per vendere articoli fisici o servizi reali e, se crei una valuta virtuale da utilizzare all'interno della tua app, questa non deve scadere. Anche così, questo lascia molte opportunità per trarre vantaggio dagli IAP. Questo significa che dovrai farlo rinuncia alla tua app HTML e riscrivila nel codice nativo del dispositivo mobile che utilizzi mirare? Affatto. Esistono diversi modi per aggiungere una funzionalità IAP alla tua app HTML5 esistente. Quello che esaminerò qui utilizza l'eccellente strumento di sviluppo mobile di Intel, XDK.

Questa soluzione prevede un servizio cloud chiamato 1Touch, che fa parte del gruppo di servizi di appMobi a cui accedi e utilizzi tramite XDK. Quando un utente scarica la tua app tramite lo store, viene generato un ID univoco che viene archiviato in un portafoglio digitale sul suo dispositivo mobile. Ogni volta che l'utente preme un pulsante "acquista ora" all'interno della tua app, l'ID viene trasmesso in modo sicuro ai server cloud; una volta verificata, un’ulteriore chiave viene trasmessa al server del commerciante per l’elaborazione.

La quantità di codice che devi scrivere nella tua app è minima. Innanzitutto, aggiungi un riferimento alla libreria JavaScript 1Touch, come ad esempio:

Quindi, nel codice del pulsante IAP, richiama una funzione per effettuare l'acquisto:

Naturalmente, è necessario il codice per gestire eventuali problemi che causano il fallimento della transazione:

Se tutto va bene, tuttavia, la transazione dovrebbe procedere con successo e il denaro apparirà sul tuo conto:

Come puoi vedere, il codice è piuttosto semplice, ma è necessario eseguire due passaggi principali per farlo funzionare. Il primo è aggiungere tutti i tuoi articoli in vendita all'app 1Touch che hai creato nel cloud appMobi, che può essere considerato come un servizio Web che le altre app possono chiamare per estenderle funzionalità. (Altri moduli ti danno la possibilità di gestire classifiche per giochi mobili, oltre a un motore pubblicitario e un servizio di messaggistica push, ma per ora siamo interessati solo al modulo 1Touch.)

come aggiungere acquisti in-app a un'app per iPhone, Android o Windows

Dopo aver creato un account in appMobi, puoi creare un'applicazione facendo clic sul pulsante. Potrai quindi selezionare il servizio che desideri utilizzare (nel nostro caso 1Touch). Dopo aver selezionato questo, puoi aggiungere "prodotti" e raggrupparli insieme. Nel mio test ho creato un gruppo chiamato Gems e ho aggiunto due prodotti, Ruby e Diamond. All'interno della schermata di creazione dei prodotti, devi compilare le caselle per Nome, ID, Prezzo, Quantità e Scadenza. Avrai bisogno dell'ID che inserisci per ciascun prodotto in seguito, quindi prendine nota.

Il campo Scadenza ha solo due opzioni, "Consumabile" e "NonConsumabile". I materiali di consumo sono elementi che vengono consumati durante una sessione della tua app: minuti di una chiamata VoIP, per esempio, mentre i Non consumabili sono oggetti come i potenziamenti che fanno avanzare il giocatore di un livello in un gioco. (Altri tipi, utilizzati per diversi tipi di rinnovo dell'abbonamento, possono essere definiti per le app iOS; questi sono descritti qui.)

Dopo aver aggiunto ad appMobi tutti i prodotti che la tua app offrirà, il passaggio successivo (piuttosto ripetitivo) è accedere a ciascuno app store su cui offri la tua app e reinserisci i prodotti lì, in modo che lo store sappia come gestirli pagamenti. È fondamentale utilizzare gli stessi ID prodotto impostati in precedenza.

La tua app ora dovrebbe essere in grado di gestire gli IAP, ma ci sono un paio di altre cose di cui devi assicurarti prima di essere pubblicata. Innanzitutto, la tua app deve essere in grado di ripristinare qualsiasi IAP nel caso in cui l'utente debba reinstallare il proprio dispositivo; questo è ora un requisito per tutte le app iOS. Questo può essere fatto facilmente tramite il sistema 1Touch e le linee guida si trovano qui. Come con qualsiasi forma di e-commerce, vale la pena leggere le scritte in piccolo.

Ogni app store prenderà una commissione per ogni vendita IAP effettuata: Apple, Google e Microsoft prendono il 30%, anche se il taglio di Microsoft scende al 20% se la tua app supera le vendite di $ 25.000. Inoltre, tieni presente che la tua app mobile HTML5 può essere inviata a Windows Store come Windows 8 app da molti degli strumenti di sviluppo, incluso XDK, che potrebbero fornirti un cliente più ampio base.

La parte più difficile della configurazione del tutto è il test. Non vuoi provare con i pagamenti in tempo reale, poiché finiresti per pagare il 30% all'app store. La procedura per impostare le cose da testare è diversa per ciascuna piattaforma, ma ciascuna fornisce linee guida chiare. Non c'è spazio in questa colonna per dettagliare tutti questi passaggi, ma riguardano la configurazione e registrando account utente di prova, quindi utilizzando questi account come utenti fittizi per simulare gli acquisti all'interno la tua app.

È ragionevole supporre che i giochi genereranno le maggiori entrate dagli IAP. Alla maggior parte degli sviluppatori piacerebbe costruire il prossimo FarmVille o Candy Crush Saga, ma molti presumono che il percorso HTML5 non offrirà le prestazioni che gli utenti si aspettano, in particolare sui dispositivi più vecchi con processori più lenti e rendering JavaScript motori. Tuttavia, questo non è necessariamente il caso. Non è necessario ricorrere alla scrittura di codice nativo, ma puoi utilizzare un servizio di creazione specifico del gioco come il sistema CocoonJS di Ludei (www.ludei.com).

Questo è un prodotto interessante Scrivi la tua app in HTML5 e JavaScript normalmente, utilizzando il framework che preferisci e caricala sul servizio di creazione basato su cloud CocoonJS. Viene quindi creata una versione ottimizzata della tua app per ciascuna piattaforma mobile. CocoonJS fornisce un ambiente per accelerare le prestazioni dell'elemento Canvas in HTML5 e le prestazioni delle demo sono impressionanti. Dare un'occhiata a www.ludei.com/vetrina per esempi di giochi HTML5 creati utilizzando il sistema.

Le prestazioni dei giochi HTML5 possono rappresentare un problema, in particolare su iOS e Android, quindi è importante che la tua app utilizzi l'oggetto Canvas anziché i div, che non sono supportati da CocoonJS. Sebbene l’affermazione secondo cui non sarà necessario riscrivere il codice sia in parte corretta, è necessario iniziare utilizzando i tag corretti per ottenere il massimo da questo sistema.

Un codice di base compatibile con HTML5 CocoonJS potrebbe assomigliare a:

Ciò creerà semplicemente un riquadro rosso 640 x 480, ma mostra come potresti dover codificare la tua app per massimizzare i vantaggi in termini di prestazioni di CocoonJS. CocoonJS potrebbe introdurre in futuro il supporto per l'accelerazione di altri tag HTML oppure un altro prodotto potrebbe competere in quest'area. Nel frattempo, tuttavia, gli esempi di giochi HTML accelerati che ho visto girare su dispositivi mobili suggeriscono che ne vale la pena. C'è una buona guida allo sviluppo sul sito web di Ludei qui.