Welkom. Als u nog niet bekend bent met de Amazon Appstore, lees dan onze recente inleidende handleiding, Hoe u uw app kunt indienen bij de Amazon Appstore. In de aflevering van vandaag zal ik u de voordelen en vereisten van In-App Purchasing (IAP) van Amazon laten zien. Ik zal in het bijzonder beschrijven hoe degenen onder u met Google Play-apps die gebruik maken van de IAB van Google eenvoudig hun toepassingen kunnen migreren om te werken met Amazon IAP.
Voordat we erin duiken, wil ik alleen de voordelen van de Amazon Appstore samenvatten.
Wanneer u uw app toevoegt aan de Amazon Appstore, is deze zichtbaar voor Android- en Fire-gebruikers in meer dan 200 landen en kunnen ontwikkelaars nu hun pc-, Mac- en HTML5-gebaseerde webapps en Android-apps vermelden. Door uw app, web-app of game naar het programma te verzenden, kunt u uw bedrijf en inkomsten laten groeien.
Volgens Statista zijn er momenteel meer dan 600.000 apps in de Amazon Appstore.
In aanvulling op de zelfstudie van vandaag, vindt u een breed scala aan nuttige informatie op de ontwikkelaarportal van Amazon.
Als uw Android-app al in de Google Play Store is, is het nog eenvoudiger om lid te worden van de Amazon Appstore. Amazon meldt dat meer dan 85% van de Android-apps alleen op Kindle Fire werken zonder dat er extra ontwikkeling nodig is. Hier is een korte video die je door het proces leidt, van Google Play naar de Amazon Appstore (video):
Maar als u de IAB van Google gebruikt, moet u overschakelen en ik zal u laten zien hoe.
Voordat ik verder ga, wil ik u aanmoedigen om contact op te nemen met eventuele vragen over de zelfstudie. Plaats ze in de comments hieronder of op @lookahead_io op Twitter. Laat ons weten of je meer tutorials over de Amazon Appstore of AWS in het algemeen wilt zien.
Met de In-App Purchasing API kunt u aantrekkelijke functies en scenario's inschakelen, zoals:
Met de Amazon In-App Purchasing API kan uw app aankopen van digitale inhoud en abonnementen presenteren, verwerken en uitvoeren binnen uw app-ervaring. Als u deze functieset wilt inschakelen, implementeert u eenvoudig de In-app-inkoop-API zoals beschreven in de onderstaande implementatiesectie:
De In-App Purchasing API is ontworpen om de complexiteit van het aankoopproces in te kapselen en tegelijkertijd een volledig uitgeruste API te bieden. De In-app-inkoop-API verwerkt de details over de inkoopstroom, de verwerking van betalingen, een ontvangstbewijs voor uw app en het beheer van rechten op de te kopen inhoud.
Nadat u een etalage heeft gebouwd, kunt u de In-App Purchasing API gebruiken om verkoopbare artikelen te verkopen:
Er zijn drie soorten artikelen die kunnen worden gekocht:
De Amazon-client is een integraal onderdeel van de In-App Purchasing API. Zodra u een aankoop start, wordt de Amazon-client weergegeven en wordt een gebruikersinterface met het Amazon-merk weergegeven om de transactie te voltooien. Deze stroom wordt gebruikt door alle apps die ervoor kiezen om de In-App Purchasing API te gebruiken.
Als de Amazon-client niet is geïnstalleerd of anderszins niet beschikbaar is, wordt er een bericht naar de klant gestuurd dat de juiste manier van handelen aangeeft.
De Amazon-client presenteert de gebruikersinterface voor alle aspecten van de inkoopworkflow. Het biedt de logica om het te kopen item weer te geven, de 1-Click-aankoop zelf uit te voeren en om te gaan met eventuele randvoorwaarden of foutscenario's die ontstaan.
Een koppeling rechtstreeks naar de Amazon-client vanuit uw app is een effectieve tool voor het promoten van uw apps. Dit type koppeling wordt een deeplink genoemd. Meer informatie over deep linking is te vinden in de documentatie.
Wanneer u ontwikkelt met de Amazon In-App Purchasing API, is het belangrijk om te begrijpen welke delen van de inkoopstroom de app moet implementeren en welke onderdelen worden afgehandeld door de Amazon-client..
De Amazon-client zorgt voor de aankoopworkflow, te beginnen wanneer de klant besluit een artikel te kopen en eindigt wanneer de winkel de aanvraag voor een aankoop voor de aankoop verstrekt (of een andere status in het geval van een mislukte aankoop). Ontwikkelaars mogen geen koopdialogen, transactietime-outlogica of "Dank u" -dialoogvensters bieden. Deze worden allemaal geleverd door de Amazon-client. Raadpleeg de sectie Richtlijnen en conventies van de gebruikersinterface voor meer informatie.
In het geval dat een aankoop niet succesvol is, zal de Amazon-client berichten aan de klant presenteren; uw app moet de klant niet berichten. Als de klant bijvoorbeeld geen geldige creditcard in het bestand heeft, leidt de klant de klant om naar een pagina waarop hij zijn betalingsinformatie kan bijwerken.. U moet geen bevestiging of een andere interstitial-dialoog aan de klant geven met betrekking tot de aankoopstroom.
Jouw app | Amazone |
---|---|
Presenteert de catalogus van in-app-items aan de klant voor aankoop | Beheert de inkoopstroom |
Ontgrendelt aankoopbare functionaliteit | Voert betalingsverwerking uit |
Downloads op afstand geleverde inhoud | Verwerkt beveiligde communicatie met het Amazon-platform, inclusief betalingsbeveiliging |
Geeft gedownloade digitale goederen weer en gebruikt deze | Verifieert rechten en valideert aankoopbewijzen |
Volgt klantenaankopen en verbruikbare inventaris | Beheer van abonnementen, inclusief automatisch verlengen en intrekken van rechten |
Uw app kan op verschillende manieren gebruikmaken van de In-app-inkoop-API. Hoe u het implementeert, kan van invloed zijn op hoe u uw app bouwt. Ongeacht hoe u het implementeert, er zijn twee basisstromen beschikbaar: lokaal beschikbare inhoud en leverbare inhoud.
Lokaal beschikbare inhoud is ontgrendeld of anderszins beschikbaar gesteld aan de klant bij aankoop. Onder dit model beschikt uw app al over alles wat de klant nodig heeft om het artikel te gebruiken, behalve het recht om het te gebruiken. U kunt bij dit model alle drie soorten verkrijgbare artikelen gebruiken.
Uw app moet de unieke ID's bevatten voor elk artikel dat u kunt kopen (SKU's), de mogelijkheid om een catalogus aan de klant te presenteren en logica in de app om het te kopen item na succesvolle transactie te ontgrendelen.
Met deliverable content kun je nieuwe content beschikbaar maken voor de klant. Onder dit model downloadt uw app de nieuwe inhoud van uw servers en maakt deze beschikbaar voor de klant.
Uw app moet de unieke ID's bevatten voor elk artikel dat u kunt kopen (SKU's), de mogelijkheid om een catalogus aan de klant te presenteren en logica in de app om de gedownloade inhoud na succesvolle transactie te downloaden, aan te houden en beschikbaar te stellen.
In juli 2014 heeft Amazon de In-App Purchasing (IAP) v2.0 API uitgebracht, die verschillende belangrijke updates bevat. Met ingang van 30 april 2016 heeft Amazon IAP v1.0 beëindigd voor nieuwe en bijgewerkte app-inzendingen. Hoewel deze afschrijving niet van invloed is op apps die al in de Amazon Appstore aanwezig waren, moeten apps die na 11 mei 2016 zijn ingediend als nieuwe of bijgewerkte app IAP v2.0 gebruiken.
Laten we nu eens kijken naar de verschillen tussen In-App Billing van Google Play (IAB) en Amazon's In-app Purchasing (IAP) en een beschrijving op hoog niveau geven over hoe u uw app kunt aanpassen om beide API-sets te gebruiken.
Met de functie voor in-app-facturering van Google Play kunnen gebruikers rechtstreeks vanuit uw app virtuele items kopen. Een gebruiker kan bijvoorbeeld extra niveaus kopen voor een spel dat hij of zij speelt.
Amazon's In-App Purchasing is de equivalente functie voor Amazon API's. Als u een app hebt die de functie voor in-app-facturering van Google Play gebruikt, kunt u uw code eenvoudig aanpassen om de equivalente in-app-inkoopfunctie van Amazon te gebruiken. Beide API-sets hebben een vergelijkbare functionaliteit met enkele verschillen in naamgeving en terminologie.
Als u een app indient die de IAB van het implementeerbare Google Play in de Amazon Appstore beschikbaar stelt voor gebruik op Amazon-apparaten, zoals Fire-tablets, moet uw app Amazon's IAP implementeren voor in-app-aankopen. IAB van Google Play werkt niet op Amazon-apparaten.
De onderstaande tabel toont een vergelijking tussen de IAP-API van Amazon en de IAB API van Google Play:
Voorzien zijn van | IAP v2.0 (Amazon) | IAB v3.0 (Google Play) | Comments |
---|---|---|---|
Aankopen | |||
Intenties verwerkt door API. | Y | N | |
Framework van eenvoudige geleverde API-aanroepen. | Y | N | |
verbruiksgoederen | Y | Y | |
Individuele verbruiksgoederen kunnen meerdere keren worden gekocht. | Y | Y | |
rechten | |||
Eén keer gekocht. Gebruikers hebben een melding ontvangen als ze een recht proberen te kopen dat ze al bezitten. | Y | Y | |
abonnementen | |||
Verschillende opties voor de periode waarin een abonnement wordt uitgevoerd. | Y | Y | Opties van Amazon: Wekelijks, tweewekelijks, maandelijks, tweemaandelijks, driemaandelijks, halfjaarlijks, jaarlijks de opties van Google Play: Maandelijks, Jaarlijks, Seizoensgebonden (aangepast) |
Ondersteunt gratis proefperioden. | Y | Y | |
Opties voor automatisch verlengen | Y | Y | |
Uitgestelde factureringsoptie | N | Y | |
Verificatie van ontvangst | |||
Ontvangstverificatieservice voor aankopen | Y | Y | Hoewel Google Play de verificatie van de ontvangst bevestigt, is het verificatieproces van Google Play niet geautomatiseerd. |
Hoewel de IAB van IAB en Amazon's IAP beide uw klanten dezelfde soorten in-app-aankopen laten doen, gebruiken Google Play en Amazon verschillende terminologie voor hun aankooptypen. In de volgende tabel wordt het Google Play-equivalent voor elk aankooptype van Amazon vermeld:
Amazone | Omschrijving | Google Play-equivalent | Voorbeelden |
---|---|---|---|
verbruiksartikelen | Aankoop die is gemaakt en vervolgens wordt verbruikt in de app, meestal een spel. Kan meerdere keren worden gekocht. | Beheerde in-app-producten | Extra levens of bewegingen (binnen een game), extra munitie voor een in-game karakter. |
recht | Eenmalige aankoop om toegang tot functies of inhoud in een app of game te ontgrendelen. | Beheerde in-app-producten | Ontgrendel extra levels binnen een game of 'premium member only'-functies in een app. |
Abonnement | Biedt voor een beperkte periode toegang tot een premium set content of functies. | Abonnement | Online tijdschriftabonnement, toegang tot fantasiefootballiga. |
Zoals u kunt zien, behandelt de IAB van Google Play alle niet-abonnementsaankopen op dezelfde manier; een artikel wordt gekocht en vervolgens gebruikt door een gebruiker. Nadat een item is verbruikt, wordt het item in de app opgeslagen en wordt het verbruik geregistreerd. Voor items die waarschijnlijk een eenmalige aankoop zijn, zoals het ontgrendelen van nieuwe spelniveaus, hebt u de mogelijkheid om het artikel te behandelen als een verbruiksartikel of als een niet-verbruiksartikel en om logica in te voeren om ervoor te zorgen dat de aankoop van dat artikel alleen plaatsvindt een keer.
Met Amazon's IAP worden deze eenmalige aankopen gescheiden door ontwerp, van aankopen, zoals extra levens, die app-gebruikers mogelijk steeds opnieuw kopen.
Laten we u helpen met het porteren van een app van de IAB-API van Google Play naar de Amazon IAP-API:
Configureer uw AndroidManifest.xml-bestand om de IAP Response Receiver voor uw app te definiëren. De IAP-antwoordontvanger zorgt ervoor dat de intentiecommunicatie van de Amazon-client wordt onderschept door uw app. Merk op dat als u zowel de IAB van IAB als de IAP van Amazon ondersteunt, u geen elementen met betrekking tot IAB hoeft te verwijderen; ze zullen eenvoudig genegeerd worden door IAP.
Voeg het juiste toe in uw AndroidManifest.xml-bestand
tag voor het IAP ResponseReceiver
:
... ...
U kunt dezelfde codebasis voor uw app gebruiken, ongeacht waar uw app wordt gehost. Voeg eenvoudig logica toe aan uw app om te bepalen of de app is gedownload van de Amazon Appstore of van Google Play. Afhankelijk van waar de gebruiker de app heeft gedownload, voert u de juiste methoden uit voor IAP of IAB.
De volgende voorbeeldcode bepaalt of een pakket is geïnstalleerd vanuit Google Play of de 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
Voor het grootste deel werkt Amazon's IAP op dezelfde manier als de IAB van Google Play. Wanneer u het pad in uw code maakt om de IAP-API te implementeren, moet u een vergelijkbare logische stroom naar IAB kunnen gebruiken, maar moet u rekening houden met verschillende klasse- en methodenamenstellingen.
In de volgende tabel worden de meest gebruikte IAP-methoden toegewezen aan hun IAB-equivalenten:
PurchasingService-methode | AankoopListener callback | Antwoordobject | Equivalent IAB-gesprek |
getUserData () | onUserDataResponse () | UserDataResponse | N / A |
getPurchaseUpdates () | onPurchaseUpdatesResponse () | PurchaseUpdatesResponse | getPurchases () |
getProductData () | onProductDataResponse () | ProductDataResponse | getSkuDetails () |
aankoop() | onPurchaseResponse () | PurchaseResponse | getBuyIntent () |
notifyFulfillment () | N / A | N / A | consumePurchase () |
Merk op dat Amazon's notifyFulfillment ()
bellen en Google Play's consumePurchase ()
call correleren enigszins met elkaar. Roeping consumePurchase ()
bij een beheerd item voor IAB wordt de status van het item teruggestuurd naar "niet-aangekocht", waardoor het in feite wordt omgezet in een verbruiksartikel. Hierna verschijnt de bon niet meer in het antwoord van de volgende oproepen naar getPurchases ()
. Amazon stuurt de kwitanties voor verbruiksartikelen terug in oproepen naar getPurchaseUpdates ()
totdat de app belt notifyFulfillment ()
.
Zie de API-referentie v2.0 voor in-app-aankopen voor meer informatie over de klassen en methoden van IAP.
Download en installeer de App Tester-tool om uw geïntegreerde IAP v2.0-app te testen. Deze tool kan ook API's van Mobile Associates testen, als uw app die ook gebruikt. Volg de instructies en koppelingen in Testing In-App Purchasing (IAP) om de app-tester te installeren en te gebruiken.
Nadat u uw app lokaal hebt getest, kunt u de Live App Testing-service gebruiken om uw app in een live productieomgeving te bètatesten met een selecte groep gebruikers.
Ik hoop dat je de gids van vandaag en onze eerdere Hoe je app verzenden naar de Amazon Appstore-aflevering leuk vond. Laat ons weten in welke Amazon Appstore-gebieden je graag meer details wilt zien. Je kunt ze plaatsen in de reacties hieronder of me bereiken op Twitter @lookahead_io.
Als je deze tutorial leuk vond, bekijk dan zeker mijn serie over het bouwen van een startup met PHP en volg mijn Envato Tuts + instructeur-pagina om enkele van mijn andere tutorials en series te bekijken.