Så här migrerar du till Amazon-inköp från Google från Google

Vad du ska skapa

Välkommen. Om du är ny på Amazon Appstore, kolla in vår senaste introduktionsguide, Hur skickar du din app till Amazon Appstore. I dagens avsnitt går jag igenom fördelarna och kraven i Amazonas köp av inköp (IAP). Specifikt beskriver jag hur de av er med Google Play-appar som utnyttjar Googles IAB kan enkelt migrera sina program för att arbeta med Amazon IAP.

Fördelar med Amazon Appstore

Innan vi dyker in vill jag bara återskapa fördelarna med Amazon Appstore. 

När du lägger till din app i Amazon Appstore, är den synlig för Android och Fire-användare i mer än 200 länder, och utvecklare kan nu lista sina PC-, Mac- och HTML5-baserade webbappar samt Android-appar. Genom att skicka din app, webbapp eller spel till programmet kan du öka din verksamhet och intäkter.

Enligt Statista finns det för närvarande över 600.000 appar i Amazon Appstore.

Förutom dagens handledning kan du hitta en bredd av användbar information på Amazons utvecklarportal.

Flytta från Google Play till Amazon App Store

Om din Android-app redan finns i Google Play-butiken är det ännu enklare att gå med i Amazon Appstore. Amazon rapporterar att över 85% av Android-appar bara fungerar på Kindle Fire utan ytterligare utveckling nödvändig. Här är en kort video som guidar dig genom processen, Flyttar från Google Play till Amazon Appstore (video):

Men om du använder Googles IAB måste du byta över, och jag ska visa dig hur.

Innan jag går vidare vill jag uppmuntra dig att ta reda på eventuella frågor som du kanske har om handledningen. Skicka in dem i kommentarerna nedan eller till mig @lookahead_io på Twitter. Låt oss veta om du vill se fler handledning om Amazon Appstore eller AWS i allmänhet.

Förstå API för inköp av appar

Med API för inköp av appar kan du aktivera övertygande funktionssätt och scenarier som:

  • Skapa en "freemium" -modell för din app, där appen själv är gratis men du tar betalt för avancerade tjänster eller funktionalitet
  • Tillåter att kunderna kan köpa in-app-valuta direkt i din appupplevelse
  • Tillåter kunder att prenumerera på innehåll tillgängligt i din app
  • Att göra innehåll tillgängligt för köp visas i din app

Amazon API för inköp av inköp gör det möjligt för din app att presentera, bearbeta och uppfylla inköp av digitalt innehåll och abonnemang inom din appupplevelse. Om du vill aktivera den här funktionen kan du enkelt implementera API-inköpsprogrammet enligt detaljer i avsnittet om genomförande nedan:

API-programmet för inköp är utformat för att inkapsla komplexiteten bakom inköpsprocessen samtidigt som det tillhandahåller ett fullt utvalt API. API-inköps API hanterar detaljerna om inköpsflöde, betalningsbehandling, leverans av kvitto till din app och hantering av rättigheter till inköpsbart innehåll.

När du har byggt upp ett butikskonto kan du använda API-programmet för inköp för att skicka inköpsposter:

Det finns tre typer av inköpsprodukter:

  • Förbrukningsartiklar: innehåll som inte kräver någon rättighet eller åtkomsträttigheter att använda, kan köpas flera gånger av en kund, är endast tillgänglig på den enhet som den köpt från och kräver ingen typ av rättighetskontroll att använda.
  • Rätter: innehåll som kräver rättighet eller rätt att använda, kan endast köpas en gång av en kund och finns tillgänglig på alla kompatibla enheter registrerade på kundens konto.
  • Prenumerationer: innehåll som kräver en rättighet eller åtkomsträttigheter att använda, är bunden av en tidsperiod, förnyas automatiskt och finns tillgänglig på alla behöriga enheter registrerade på kundens Amazon-konto

Amazon klienten

Amazon-klienten är en integrerad del av API-programmet för inköp. När du har initierat ett köp, Amazonas klienten ytor och presenterar ett Amazon-märkt användargränssnitt för att slutföra transaktionen. Detta flöde används av alla appar som väljer att använda In-App Purchasing API.

Om Amazon-klienten inte är installerad eller annars inte är tillgänglig, visas ett meddelande till kunden som indikerar lämplig åtgärd.

Amazon-klienten presenterar användargränssnittet för alla aspekter av köpet av arbetsflödet. Det ger logiken att visa inköpsobjektet, utföra 1-Click-inköpen och hantera eventuella förutsättningar eller felscenarier som uppstår.

Att tillhandahålla en länk direkt till Amazon-klienten från din app är ett effektivt verktyg för att marknadsföra dina appar. Denna typ av länk kallas en djup länk. Mer information om djup länkning finns i dokumentationen.

Separering av ansvar

När du utvecklar med Amazon API för inköp av inköp, är det viktigt att förstå vilka delar av inköpsflödet appen måste implementera, och vilka delar hanteras av Amazon Client.

Amazon-klienten tar hand om inköps arbetsflödet, när kunden bestämmer sig för att köpa en vara och slutar när affären ger ansökan ett kvitto för inköpet (eller annan status vid ett misslyckat köp). Utvecklare bör inte tillhandahålla inköpsdialoger, logotid för transaktionstidsavbrott eller "tack" -dialoger. Dessa tillhandahålls alla av Amazon klienten. Mer information finns i avsnittet Riktlinjer och konventioner för användargränssnittet.

Om ett inköp misslyckas kommer Amazon Client presentera meddelandet till kunden. Din app ska inte meddela kunden. Om kunden exempelvis inte har ett giltigt kreditkort på filen, omdirigerar kunden kunden till en sida där de kan uppdatera sin betalningsinformation. Du bör inte lämna en bekräftelse eller annan interstitial dialog till kunden angående inköpsflödet.

Din app amason
Presenterar katalogen av in-app-artiklar till kunden för inköp Hanterar inköpsflödet
Låser upp inköpbar funktionalitet Utför betalningsbehandling
Nedladdningar på distans levererat innehåll Hanterar säker kommunikation med Amazon-plattformen, inklusive betalningssäkerhet
Visar och använder nedladdade digitala varor
Verifierar rättigheter och validerar inköpsbevis
Spårar kundköp och förbrukningsförteckning
Hanterar prenumerationer, inklusive automatisk förnyelse och upphävande av rättigheter

Innehållskällor

Din app kan utnyttja In-App Purchasing API på flera olika sätt. Hur du väljer att implementera det kan påverka hur du bygger din app. Oavsett hur du väljer att implementera det finns två grundläggande flöden tillgängliga för dig: lokalt tillgängligt innehåll och leveransbart innehåll.

Lokalt tillgängligt innehåll

Lokalt tillgängligt innehåll är upplåst eller på annat sätt tillgängligt för kunden vid inköp. Enligt den här modellen har din app redan allt som behövs för att kunden ska kunna använda inköpsobjektet, förutom rätten att använda den. Du kan använda alla tre typer inköpbara objekt med denna modell.

Din app ska innehålla de unika identifierarna för varje inköpsobjekt (SKU), möjligheten att presentera en katalog för kunden och logiken inom appen för att låsa upp inköpsobjektet vid en lyckad transaktion.

Leveransinnehåll

Leverantörsinnehåll ger dig möjlighet att göra nytt innehåll tillgängligt för kunden. Under den här modellen hämtar din app det nya innehållet från dina servrar och gör det tillgängligt för kunden.

Din app ska innehålla de unika identifierarna för varje inköpsobjekt (SKU), möjligheten att presentera en katalog för kunden och logiken i appen för att ladda ner, fortsätta och göra tillgängligt det nedladdade innehållet vid en lyckad transaktion.

Kom ihåg: IAP v1.0 har blivit utdaterad

I juli 2014 släppte Amazon in app-programmet (IAP) v2.0 API, som innehåller flera viktiga uppdateringar. Från och med den 30 april 2016 avbröt Amazon IAP v1.0 för nya och uppdaterade appinsändningar. Medan denna avskrivning inte påverkar appar som redan lever i Amazon Appstore, måste alla appar som skickas som antingen en ny eller uppdaterad app efter den 11 maj 2016 behöva använda IAP v2.0. 

  • Om du vill veta mer om denna avskrivning, se bloggposten Migrera din IAP v1.0 Apps till v2.0.
  • För stegvisa instruktioner om hur du migrerar din app, se Migrera från IAP v1.0 till IAP v2.0.

Migrerar från Google Play InApp Billing (IAB) v3.0 till Amazon In-App Purchasing (IAP) v2.0

Låt oss nu diskutera skillnaderna mellan Google Play: s fakturering i app (IAB) och Amazons inköp av inköp (IAP) och ge en övergripande beskrivning av hur du anpassar din app för att använda båda API-uppsättningarna.

Vad är IAB och IAP?

Med Google Play: s fakturering för app tillåter användare att köpa virtuella föremål direkt från din app. Till exempel kan en användare köpa ytterligare nivåer till ett spel som han eller hon spelar. 

Amazons inköp för inköp är motsvarande egenskap för Amazon API. Om du har en app som använder Google Plays fakturering i appen kan du enkelt ändra din kod för att använda Amazons motsvarande inköpsfunktion. Båda API-uppsättningarna har liknande funktionalitet med vissa skillnader i namn och terminologi.

Krav för Amazon Appstore och Amazon Devices

Om du kommer att skicka in en app som implementerar Google Play: s IAB till Amazon Appstore för att bli tillgänglig för att köras på Amazon-enheter, till exempel Brandtabletter, måste din app implementera Amazons IAP för köp i app. Google Play: s IAB fungerar inte på Amazon-enheter.

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

Funktionsjämförelse

Tabellen nedan visar en jämförelse mellan Amazons IAP API och Google Play: s IAB API:

Funktion IAP v2.0 (Amazon) IAB v3.0 (Google Play)
kommentarer
inköp
Intents hanteras av API.
Y N
Ramar för enkla API-samtal som tillhandahålls.
Y N
Förbruknings Y Y
Individuella förbrukningsmaterial kan köpas flera gånger.
Y Y
ersättningar
Köpt en gång. Användare anmälda om de försöker köpa en rättighet som de redan äger. Y Y
Prenumerationer
Olika alternativ för tidsperiod som en prenumeration körs. Y Y Amazonas alternativ: Veckovis, Bi-veckovis, Månadsvis, Bi-månadsvis, Kvartalsvis, Halvårsvis, Årligen Google Play: Alternativ: Månadsvis, Årligen, Säsongsbetonad
Stöder gratis provperiod. Y Y
Alternativ för automatisk förnyelse Y Y
Uppskjuten faktureringsalternativ N Y
Mottagningsverifiering

Mottagningsverifieringstjänst för inköp Y Y Även om Google Play tillhandahåller kvittonsverifiering, är inte Google Plays kvittotransmissionsprocess automatiserad.

Google Play: s hanterade objekt vs Amazons förbrukningsvaror och rättigheter

Medan Google Play: s IAB och Amazons IAP både låter dina kunder göra samma typer av köp i app, använder Google Play och Amazon olika terminologier för sina inköpstyper. Följande tabell noterar Google Play-motsvarigheten för varje Amazon-inköpstyp:

amason Beskrivning Google Play Equivalent exempel
förbrukningsartikel Inköp som görs, konsumeras sedan i appen, vanligen ett spel. Kan köpas flera gånger. Hanterade produkter i appen Extra liv eller rörelser (inom ett spel), extra ammunition för ett spel i karaktären.
rätt Enstaka köp för att låsa upp åtkomst till funktioner eller innehåll i en app eller ett spel. Hanterade produkter i appen Lås upp extra nivåer inom ett spel eller bara "premiummedlem" -funktioner i en app.
Prenumeration Ger tillgång till en premium uppsättning innehåll eller funktioner under en begränsad tid. Prenumeration Online magasin abonnemang, fantasy fotboll liga tillgång.

Som du kan se behandlar Google Plays IAB alla icke-prenumerationsköp på samma sätt. ett objekt köps och konsumeras av en användare. När ett objekt har konsumeras, är objektet tillgängligt i appen och konsumtionen är inspelad. För objekt som sannolikt kommer att vara engångsköp, till exempel att låsa upp nya spelnivåer, har du möjlighet att utveckla att behandla objektet som förbrukningsartiklar eller icke-förbrukningsbara och introducera logik för att säkerställa att inköp av den aktuella produkten endast inträffar en gång. 

Med Amazonas IAP separeras dessa engångsköp av design från inköp, till exempel extra liv, som appanvändare kan köpa om och om igen.

Portar din kod

Låt oss gå igenom porten av en app från Google Play: s IAB-API till Amazon IAP API:

  1. Konfigurera din AndroidManifest.xml-fil för att stödja Amazons IAP.
  2. I din app, implementera logik för att förmedla mellan IAB och IAP.
  3. Lägg till och implementera Amazon IAP API.
  4. Testa din app.

Konfigurera din AndroidManifest.xml-fil

Konfigurera din AndroidManifest.xml-fil för att definiera IAP-svarmottagaren för din app. IAP Response Receiver säkerställer att avsiktskommunikationen från Amazon Client avlyssnas av din app. Observera att om du stöder både Google Play: s IAB och Amazons IAP, behöver du inte ta bort element relaterade till IAB; de kommer helt enkelt att ignoreras av IAP.

Lägg till lämplig i din AndroidManifest.xml-fil  tagg för IAP ResponseReceiver:

...     ... 

Implementeringslogik för att förmedla mellan IAB och IAP

Du kan använda samma kodbas för din app, oberoende av var din app är värd. Lägg bara till logik i din app för att avgöra om appen hämtades från Amazon Appstore eller från Google Play. Beroende på var användaren hämtade appen, utföra lämpliga metoder för antingen IAP eller IAB.

Följande exempelkod bestämmer huruvida ett paket har installerats från Google Play eller Amazon Appstore:

PackageManager pkgManager = context.getPackageManager (); String installerPackageName = pkgManager.getInstallerPackageName (context.getPackageName ()); om (installerPackageName.startsWith ("com.amazon")) // Amazon annars om ("com.android.vending" .equals (installerPackageName)) // Google Play 

Lägga till och implementera Amazon IAP API

Amazonas IAP fungerar för det mesta på samma sätt som Google Play: s IAB. När du skapar sökvägen i din kod för att implementera IAP-API bör du kunna använda ett liknande logiskt flöde till IAB, men måste redogöra för olika klass- och metodnamn.

I följande tabell kartläggs de mest använda IAP-metoderna för deras IAB-ekvivalenter:

PurchasingService-metoden PurchasingListener callback Svarobjekt Ekvivalent IAB-samtal
getUserData () onUserDataResponse () UserDataResponse N / A
getPurchaseUpdates () onPurchaseUpdatesResponse () PurchaseUpdatesResponse getPurchases ()
getProductData () onProductDataResponse () ProductDataResponse getSkuDetails ()
inköp() onPurchaseResponse () PurchaseResponse getBuyIntent ()
notifyFulfillment () N / A N / A consumePurchase ()

Observera att Amazonas notifyFulfillment () samtal och Google Play consumePurchase () samtal korrelerar med varandra något. Kallelse consumePurchase ()På ett hanterat objekt för IAB kommer objektets tillstånd att återköpas, vilket i huvudsak omvandlas till en förbrukningsvara. Därefter visas kvittot inte längre i svaret från efterföljande samtal till getPurchases (). Amazon kommer att returnera kvitton för förbrukningsartiklar i samtal till getPurchaseUpdates () tills appen samtalar notifyFulfillment ().

Mer information om klasserna och metoderna för IAP finns i API-referens för app-app v2.0.

Testa din app

Hämta och installera App Tester-verktyget för att testa din IAP v2.0-integrerade app. Det här verktyget kan också testa API-API för mobilassocier, om din app använder dem också. Följ anvisningarna och länkarna i Testing In App Application (IAP) för att installera och använda App Tester.

När du testat din app lokalt kan du använda tjänsten Live App Testing för att betala testet din app i en levande produktionsmiljö med en vald grupp användare.

I stängning

Jag hoppas att du har haft dagens guide samt vår tidigare Hur skickar du din app till Amazon Appstore-episoden. Vänligen meddela vilka Amazon Appstore-områden som du vill se omfattas mer detaljerat. Du kan skicka in dem i kommentarerna nedan eller nå mig på Twitter @lookahead_io. 

Om du gillade den här handledningen, var noga med att kolla in min serie om att bygga upp en start med PHP och följ med min Envato Tuts + instruktörssida för att se några av mina andra handledningar och serier.

relaterade länkar

  • Hur skickar du din app till Amazon Appstore (Envato Tuts +)
  • Amazon Developer Console
  • Skicka in dina appar till Amazon App Store
  • Amazon Appstore Publishing Vanliga Frågor
  • Förstå API för inköp av appar (IAP v1.0)
  • Migrerar från Google Play InApp Billing (IAB) v3.0 till Amazon In-App Purchasing (IAP) v2.0