Benvenuto. Se sei nuovo su Amazon Appstore, consulta la nostra recente guida introduttiva, Come inviare la tua app su Amazon Appstore. Nell'episodio di oggi, ti illustrerò i vantaggi e i requisiti di In-App Purchasing (IAP) di Amazon. Nello specifico, descriverò in che modo chi di voi con le app Google Play che utilizzano l'IAB di Google può facilmente migrare le proprie applicazioni per lavorare con Amazon IAP.
Prima di immergerci, voglio solo ricapitolare i vantaggi di Amazon Appstore.
Quando aggiungi la tua app all'Appstore di Amazon, è visibile agli utenti Android e Fire in più di 200 paesi e gli sviluppatori possono ora elencare le loro app Web basate su PC, Mac e HTML5 e app Android. Inviando la tua app, web app o gioco al programma, puoi far crescere la tua attività e le tue entrate.
Secondo Statista, ci sono attualmente più di 600.000 app in Amazon Appstore.
Oltre al tutorial di oggi, puoi trovare una serie di informazioni utili sul portale per sviluppatori di Amazon.
Se la tua app per Android è già nel Google Play Store, è ancora più facile entrare in Amazon Appstore. Amazon riporta che oltre l'85% delle app Android funziona solo su Kindle Fire senza necessità di ulteriore sviluppo. Ecco un breve video che ti guida attraverso il processo, passando da Google Play a Amazon Appstore (video):
Ma se usi l'IAB di Google, dovrai passare e ti mostrerò come.
Prima di andare oltre, desidero incoraggiarti a rispondere a qualsiasi domanda tu possa avere sul tutorial. Pubblicale nei commenti qui sotto o a me @lookahead_io su Twitter. Facci sapere se desideri vedere altri tutorial su Amazon Appstore o AWS in generale.
Con l'API acquisti in-app, puoi abilitare set di funzionalità e scenari interessanti come:
L'API di acquisto in-app di Amazon consente alla tua app di presentare, elaborare e soddisfare gli acquisti di contenuti e abbonamenti digitali all'interno della tua esperienza di app. Per abilitare questo set di funzionalità, è sufficiente implementare l'API di acquisto in-app come descritto nella seguente sezione dell'implementazione:
L'API di acquisto in-app è progettata per incapsulare la complessità dietro il processo di acquisto fornendo al contempo un'API completa. L'API di acquisto in-app gestirà i dettagli sul flusso di acquisto, l'elaborazione dei pagamenti, fornendo una ricevuta alla tua app e gestendo i diritti sui contenuti acquistabili.
Una volta creato uno storefront, puoi utilizzare l'API di acquisto in-app per gli oggetti acquistabili in vendita:
Esistono tre tipi di articoli acquistabili:
Il client Amazon è parte integrante dell'API di acquisto in-app. Una volta avviato un acquisto, il client Amazon affiora e presenta un'interfaccia utente con marchio Amazon per completare la transazione. Questo flusso viene utilizzato da tutte le app che scelgono di utilizzare l'API di acquisto in-app.
Se il client Amazon non è installato o non è altrimenti disponibile, viene visualizzato un messaggio al cliente che indica la linea di condotta appropriata.
Il client Amazon presenta l'interfaccia utente per tutti gli aspetti del flusso di lavoro dell'acquisto. Fornisce la logica per visualizzare l'articolo acquistabile, eseguire l'acquisto con 1 clic e gestire eventuali precondizioni o scenari di errore che si presentano.
Fornire un collegamento direttamente al client Amazon dalla tua app è uno strumento efficace per promuovere le tue app. Questo tipo di collegamento è indicato come link diretto. Ulteriori informazioni sul deep linking sono disponibili nella documentazione.
Quando si sviluppa con l'API di acquisto in-app di Amazon, è importante capire quali parti del flusso di acquisto devono essere implementate dall'app e quali parti sono gestite dal client Amazon.
Il client Amazon si prenderà cura del flusso di lavoro di acquisto, a partire dal momento in cui il cliente decide di acquistare un articolo e termina quando il negozio fornisce all'applicazione una ricevuta per l'acquisto (o altro stato in caso di acquisto non riuscito).. Gli sviluppatori non devono fornire finestre di dialogo di acquisto, logica di timeout della transazione o finestre di dialogo "Grazie". Questi sono tutti forniti dal client Amazon. Per ulteriori dettagli, consultare la sezione Linee guida e convenzioni dell'interfaccia utente.
Nel caso in cui un acquisto non vada a buon fine, il Cliente Amazon presenterà la messaggistica al cliente; la tua app non dovrebbe inviare messaggi al cliente. Ad esempio, se il cliente non ha una carta di credito valida in archivio, il cliente reindirizza il cliente a una pagina in cui può aggiornare le proprie informazioni di pagamento. Non è necessario fornire al cliente una conferma o altra finestra di dialogo interstiziale relativa al flusso di acquisto.
La tua app | Amazon |
---|---|
Presenta il catalogo di articoli in-app al cliente per l'acquisto | Gestisce il flusso di acquisto |
Sblocca funzionalità acquistabili | Esegue l'elaborazione dei pagamenti |
Scarica contenuti inviati a distanza | Gestisce le comunicazioni sicure con la piattaforma Amazon, inclusa la sicurezza dei pagamenti |
Visualizza e utilizza i beni digitali scaricati | Verifica i diritti e convalida le ricevute di acquisto |
Tiene traccia degli acquisti dei clienti e dell'inventario dei materiali di consumo | Gestisce gli abbonamenti, incluso il rinnovo automatico e la revoca delle autorizzazioni |
La tua app può sfruttare l'API di acquisto in-app in vari modi. Il modo in cui scegli di implementarlo può influire sul modo in cui costruisci la tua app. Indipendentemente dal modo in cui scegli di implementarlo, sono disponibili due flussi di base: contenuto disponibile a livello locale e contenuto disponibile.
I contenuti disponibili localmente sono sbloccati o resi disponibili al cliente al momento dell'acquisto. Sotto questo modello, la tua app ha già tutto ciò che serve al cliente per utilizzare l'oggetto acquistabile tranne il diritto di usarlo. Puoi utilizzare tutti e tre i tipi di articoli acquistabili con questo modello.
La tua app deve contenere gli identificatori univoci per ogni articolo acquistabile (SKU), la possibilità di presentare un catalogo al cliente e la logica all'interno dell'app per sbloccare l'oggetto acquistabile in caso di transazione riuscita.
Il contenuto disponibile consente di rendere disponibili nuovi contenuti al cliente. Con questo modello, la tua app scaricherà il nuovo contenuto dai tuoi server e lo renderà disponibile al cliente.
L'app deve contenere identificatori univoci per ogni articolo acquistabile (SKU), la possibilità di presentare un catalogo al cliente e la logica all'interno dell'applicazione per scaricare, mantenere e rendere disponibile il contenuto scaricato in caso di transazione riuscita.
A luglio 2014, Amazon ha rilasciato l'API v2.0 di In-App Purchasing (IAP), che include diversi aggiornamenti importanti. A partire dal 30 aprile 2016, Amazon ha ritirato la IAP v1.0 per invii di app nuovi e aggiornati. Sebbene questa deprecazione non influisca sulle app che erano già attive su Amazon Appstore, qualsiasi app inviata come app nuova o aggiornata dopo l'11 maggio 2016 dovrà utilizzare IAP v2.0.
Ora, discutiamo le differenze tra la fatturazione in-app di Google Play (IAB) e l'acquisto in-app di Amazon (IAP) e forniamo una descrizione di alto livello su come adattare la tua app per utilizzare entrambi i set di API.
La funzione di fatturazione in-app di Google Play consente agli utenti di effettuare acquisti di articoli virtuali direttamente dalla tua app. Ad esempio, un utente può acquistare livelli aggiuntivi per un gioco a cui sta giocando.
L'acquisto in-app di Amazon è la funzione equivalente per le API di Amazon. Se disponi di un'app che utilizza la funzione di fatturazione in-app di Google Play, puoi facilmente modificare il codice per utilizzare la funzione di acquisto in-app di Amazon equivalente. Entrambi i set di API hanno funzionalità simili con alcune differenze nella denominazione e nella terminologia.
Se invierete un'app che implementa l'IAB di Google Play su Amazon Appstore da rendere disponibile per l'esecuzione su dispositivi Amazon, come i tablet Fire, la vostra app dovrà implementare l'IAP di Amazon per gli acquisti in-app. IAB di Google Play non funzionerà su dispositivi Amazon.
La tabella seguente mostra un confronto tra l'API IAP di Amazon e l'API IAB di Google Play:
caratteristica | IAP v2.0 (Amazon) | IAB v3.0 (Google Play) | Commenti |
---|---|---|---|
acquisti | |||
Intenti gestiti da API. | Y | N | |
Quadro di semplici chiamate API fornite. | Y | N | |
Materiali di consumo | Y | Y | |
I singoli materiali di consumo possono essere acquistati più volte. | Y | Y | |
I diritti | |||
Acquistato una volta. Utenti notificati se tentano di acquistare un'autorizzazione che già possiedono. | Y | Y | |
Sottoscrizioni | |||
Varietà di opzioni per il periodo di tempo in cui viene eseguito un abbonamento. | Y | Y | Opzioni di Amazon: settimanale, bisettimanale, mensile, bimestrale, trimestrale, semestrale, annualmente Opzioni di Google Play: mensile, annuale, stagionale (personalizzato) |
Supporta periodi di prova gratuiti. | Y | Y | |
Opzioni di rinnovo automatico | Y | Y | |
Opzione di fatturazione differita | N | Y | |
Verifica della ricevuta | |||
Servizio di verifica delle ricevute per gli acquisti | Y | Y | Sebbene Google Play fornisca la verifica dello scontrino, la procedura di verifica della ricezione di Google Play non è automatizzata. |
Mentre IAB di Google Play e IAP di Amazon consentono entrambi ai tuoi clienti di effettuare gli stessi tipi di acquisti in-app, Google Play e Amazon utilizzano termini diversi per i loro tipi di acquisto. La seguente tabella riporta l'equivalente di Google Play per ogni tipo di acquisto Amazon:
Amazon | Descrizione | Google Play Equivalent | Esempi |
---|---|---|---|
consumabili | Acquisto fatto, quindi consumato all'interno dell'app, in genere un gioco. Può essere acquistato più volte. | Prodotti In-app gestiti | Vite o mosse extra (all'interno di un gioco), munizioni extra per un personaggio nel gioco. |
Il diritto | Acquisto una tantum per sbloccare l'accesso a funzionalità o contenuti all'interno di un'app o di un gioco. | Prodotti In-app gestiti | Sblocca livelli extra all'interno di un gioco o funzionalità "solo membri premium" all'interno di un'app. |
Sottoscrizione | Offre l'accesso a un set di contenuti o funzioni premium per un periodo limitato di tempo. | Sottoscrizione | Abbonamento a una rivista online, accesso alla Fantasy Football League. |
Come puoi vedere, l'IAB di Google Play tratta tutti gli acquisti non in abbonamento in modo simile; un oggetto è acquistato, quindi consumato da un utente. Una volta che un oggetto è stato consumato, l'articolo viene fornito nell'app e il consumo viene registrato. Per gli articoli che potrebbero essere acquisti una tantum, come lo sblocco di nuovi livelli di gioco, hai l'opzione come sviluppatore di trattare l'articolo come consumabile o non consumabile e introducendo la logica per assicurare che l'acquisto di quell'oggetto avvenga solo una volta.
Con l'IAP di Amazon, questi acquisti una tantum sono separati dal design degli acquisti, come vite extra, che gli utenti delle app potrebbero acquistare ancora e ancora.
Ti guidiamo attraverso il porting di un'app dall'API IAB di Google Play all'API Amazon IAP:
Configura il tuo file AndroidManifest.xml per definire IAP Response Receiver per la tua app. Il ricevitore di risposta IAP garantisce che l'intento di comunicazione da parte del client Amazon venga intercettato dall'app. Nota che se stai supportando sia l'IAB di Google Play sia l'IAP di Amazon, non è necessario rimuovere gli elementi relativi a IAB; saranno semplicemente ignorati dalla IAP.
Nel file AndroidManifest.xml, aggiungi l'appropriato
tag per lo IAP ResponseReceiver
:
... ...
Puoi utilizzare lo stesso codice base per la tua app, indipendentemente da dove è ospitata la tua app. Aggiungi logica alla tua app per determinare se l'app è stata scaricata da Amazon Appstore o da Google Play. A seconda di dove l'utente ha scaricato l'app, eseguire i metodi appropriati per IAP o IAB.
Il seguente codice di esempio determina se un pacchetto è stato installato da Google Play o Amazon Appstore:
PackageManager pkgManager = context.getPackageManager (); String installerPackageName = pkgManager.getInstallerPackageName (context.getPackageName ()); if (installerPackageName.startsWith ("com.amazon")) // Amazon else if ("com.android.vending" .equals (installerPackageName)) // Google Play
Per la maggior parte, l'IAP di Amazon funziona in modo simile a IAB di Google Play. Quando crei il percorso nel tuo codice per implementare l'API IAP, dovresti essere in grado di utilizzare un flusso logico simile a IAB, ma dovrai tenere conto di nomi di classi e metodi diversi.
La seguente tabella mappa i metodi IAP più frequentemente utilizzati per i loro equivalenti IAB:
Metodo PurchasingService | Callback di PurchasingListener | Oggetto di risposta | Chiamata IAB equivalente |
getUserData () | onUserDataResponse () | UserDataResponse | N / A |
getPurchaseUpdates () | onPurchaseUpdatesResponse () | PurchaseUpdatesResponse | getPurchases () |
getProductData () | onProductDataResponse () | ProductDataResponse | getSkuDetails () |
Acquista() | onPurchaseResponse () | PurchaseResponse | getBuyIntent () |
notifyFulfillment () | N / A | N / A | consumePurchase () |
Si noti che Amazon notifyFulfillment ()
chiamata e Google Play consumePurchase ()
chiamata in qualche modo correlata tra loro. chiamata consumePurchase ()
su un elemento gestito per IAB restituirà lo stato dell'articolo su "non investito", convertendolo essenzialmente in un materiale di consumo. Successivamente, la ricevuta non verrà più visualizzata nella risposta dalle successive chiamate a getPurchases ()
. Amazon restituirà le ricevute per gli articoli di consumo nelle chiamate a getPurchaseUpdates ()
fino a quando l'app non chiama notifyFulfillment ()
.
Per ulteriori informazioni sulle classi e i metodi di IAP, consultare il riferimento all'API di acquisto in-app v2.0.
Scarica e installa lo strumento App Tester per testare l'app integrata con IAP v2.0. Questo strumento può anche testare le API di Mobile Associates, se la tua app utilizza anche quelle. Seguire le istruzioni e i collegamenti in Testing In-App Purchasing (IAP) per installare e utilizzare App Tester.
Dopo aver testato localmente la tua app, puoi utilizzare il servizio di test dell'app Live per testare la tua app in un ambiente di produzione dal vivo con un gruppo selezionato di utenti.
Spero che ti sia piaciuta la guida di oggi e la nostra precedente Come inviare la tua app all'episodio Amazon Appstore. Facci sapere quali aree di Amazon Appstore vorresti vedere trattate più in dettaglio. Puoi postarli nei commenti qui sotto o raggiungermi su Twitter @lookahead_io.
Se ti è piaciuto questo tutorial, assicurati di controllare la mia serie sulla creazione di un avvio con PHP e di tenere il passo con la mia pagina di istruttori + Istruttore Envato per vedere alcuni dei miei altri tutorial e serie.