Come migrare ad Amazon In-App Purchasing da Google

Cosa starai creando

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.

Vantaggi di Amazon Appstore

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.

Spostamento da Google Play all'App Store 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.

Comprensione dell'API di acquisto in-app

Con l'API acquisti in-app, puoi abilitare set di funzionalità e scenari interessanti come:

  • Creazione di un modello "freemium" per la tua app, in cui l'app stessa è gratuita ma si addebita un premio per servizi o funzionalità avanzate
  • Consentire ai clienti di acquistare valuta in-app direttamente dall'esperienza della tua app
  • Consentire ai clienti di iscriversi ai contenuti disponibili all'interno della tua app
  • Rendere i contenuti disponibili per l'acquisto da visualizzare all'interno della tua app

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:

  • Materiali di consumo: il contenuto che non richiede diritti o diritti di accesso, può essere acquistato più volte da un cliente, è disponibile solo sul dispositivo da cui è stato acquistato e non richiede alcun tipo di controllo di autorizzazione da utilizzare.
  • Diritti: il contenuto che richiede un diritto o diritti di accesso da utilizzare, può essere acquistato solo una volta da un cliente ed è disponibile su tutti i dispositivi compatibili registrati sull'account del cliente.
  • Sottoscrizioni: contenuto che richiede diritti o diritti di accesso, è vincolato a un periodo di tempo, si rinnova automaticamente ed è disponibile su tutti i dispositivi idonei registrati nell'account Amazon del cliente

Il client Amazon

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.

Separazione delle responsabilità

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

Fonti di contenuti

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.

Contenuto disponibile localmente

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.

Contenuto consegnabile

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.

Ricorda: IAP v1.0 è stato deprecato

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. 

  • Per ulteriori informazioni su questa deprecazione, consultare il post sul blog Migrazione delle app IAP v1.0 alla versione 2.0.
  • Per le istruzioni dettagliate su come eseguire la migrazione dell'app, vedere Migrazione da IAP v1.0 a IAP v2.0.

Migrazione dalla fatturazione in-app di Google Play (IAB) v3.0 ad Amazon In-App Purchasing (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.

Cosa sono IAB e IAP?

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.

Requisiti per Amazon Appstore e Amazon Devices

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.

Amazon IAP v2.0 vs. Google Play IAB v3.0

Confronto delle caratteristiche

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.

Oggetti gestiti di Google Play e materiali di consumo e diritti di Amazon

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.

Porting Your Code

Ti guidiamo attraverso il porting di un'app dall'API IAB di Google Play all'API Amazon IAP:

  1. Configura il tuo file AndroidManifest.xml per supportare lo IAP di Amazon.
  2. Nella tua app, implementa la logica per mediare tra IAB e IAP.
  3. Aggiungi e implementa l'API di Amazon IAP.
  4. Metti alla prova la tua app.

Configurazione del file AndroidManifest.xml

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:

...     ... 

Implementazione della logica per mediare tra IAB e IAP

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 

Aggiunta e implementazione dell'API Amazon IAP

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.

Testare la tua app

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.

In chiusura

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.

Link correlati

  • Come inviare la tua app su Amazon Appstore (Envato Tuts +)
  • Amazon Developer Console
  • Invio delle tue app all'App Store di Amazon
  • Domande frequenti su Amazon Appstore Publishing
  • Comprensione dell'API di acquisto in-app (IAP v1.0)
  • Migrazione dalla fatturazione in-app di Google Play (IAB) v3.0 ad Acquisti in-app (IAP) Amazon v2.0