Comment migrer vers Amazon avec les achats intégrés via Google

Ce que vous allez créer

Bienvenue. Si vous êtes nouveau sur Amazon Appstore, consultez notre récent guide d'introduction, Comment soumettre votre application à Amazon Appstore. Dans l'épisode d'aujourd'hui, je vais vous expliquer les avantages et les exigences du service Achats In-App (IAP) d'Amazon. Plus précisément, je vais décrire comment ceux d'entre vous utilisant des applications Google Play qui exploitent l'IAB de Google peuvent facilement migrer leurs applications pour utiliser Amazon IAP..

Avantages de l'Appstore Amazon

Avant de plonger, je veux juste récapituler les avantages d’Amazon Appstore.. 

Lorsque vous ajoutez votre application à Amazon Appstore, elle est visible par les utilisateurs d'Android et de Fire dans plus de 200 pays. Les développeurs peuvent désormais répertorier leurs applications Web pour PC, Mac et HTML5, ainsi que leurs applications Android. En soumettant votre application, votre application Web ou votre jeu au programme, vous pouvez développer votre activité et vos revenus..

Selon Statista, il existe actuellement plus de 600 000 applications dans Amazon Appstore..

En plus du tutoriel d'aujourd'hui, vous trouverez une foule d'informations utiles sur le portail des développeurs d'Amazon..

Déplacement de Google Play vers l'App Store Amazon

Si votre application Android est déjà dans le Google Play Store, il est encore plus facile de rejoindre Amazon Appstore. Amazon indique que plus de 85% des applications Android fonctionnent uniquement sur Kindle Fire sans développement supplémentaire. Voici une courte vidéo qui vous guide tout au long du processus, Passage de Google Play à Amazon Appstore (vidéo):

Mais si vous utilisez l'IAB de Google, vous devrez basculer et je vais vous montrer comment.

Avant d’aller plus loin, je tiens à vous encourager à répondre à toutes vos questions sur le didacticiel. Postez-les dans les commentaires ci-dessous ou à moi @lookahead_io sur Twitter. Faites-nous savoir si vous souhaitez voir plus de tutoriels sur Amazon Appstore ou AWS en général..

Comprendre l'API d'achats intégrés

Avec l'API d'achats intégrés, vous pouvez activer des ensembles de fonctionnalités et des scénarios attrayants tels que:

  • Création d'un modèle "freemium" pour votre application, où l'application elle-même est gratuite mais vous facturez des frais supplémentaires pour des services ou des fonctionnalités avancés
  • Permettre aux clients d'acheter des devises dans l'application directement dans l'expérience de votre application
  • Autoriser les clients à s'abonner au contenu disponible dans votre application
  • Rendre le contenu disponible à l'achat pour pouvoir être visualisé dans votre application

L'API d'achat intégré Amazon permet à votre application de présenter, traiter et exécuter des achats de contenu numérique et d'abonnements dans le cadre de votre expérience d'application. Pour activer cet ensemble de fonctionnalités, implémentez simplement l'API d'achat intégré à l'application, comme indiqué dans la section sur l'implémentation ci-dessous:

L'API des achats intégrés est conçue pour intégrer la complexité du processus d'achat tout en fournissant une API complète. L'API des achats intégrés gère les détails du flux des achats, du traitement des paiements, de l'envoi d'un reçu à votre application et de la gestion des droits sur le contenu pouvant être acheté..

Une fois que vous avez créé une vitrine, vous pouvez utiliser l'API d'achats intégrés pour vendre des articles pouvant être achetés:

Il existe trois types d'articles achetables:

  • Consommables: le contenu ne nécessitant ni droit ni droit d'accès, peut être acheté plusieurs fois par un client, est disponible uniquement sur le périphérique auprès duquel il a été acheté et ne nécessite aucun type de contrôle de droit..
  • Droits: le contenu qui nécessite un droit ou des droits d'accès, ne peut être acheté qu'une seule fois par un client et est disponible sur tous les appareils compatibles enregistrés sur le compte du client..
  • Abonnements: contenu qui nécessite un droit ou des droits d'accès, est lié par une période de temps, se renouvelle automatiquement et est disponible sur tous les appareils éligibles enregistrés sur le compte Amazon du client.

Le client Amazon

Le client Amazon fait partie intégrante de l'API d'achat intégré à l'application. Une fois que vous avez initié un achat, le client Amazon affiche et présente une interface utilisateur de marque Amazon pour effectuer la transaction. Ce flux est utilisé par toutes les applications qui choisissent d’utiliser l’API d’achat intégré.

Si le client Amazon n'est pas installé ou n'est pas disponible, un message est envoyé au client pour lui indiquer le plan d'action approprié..

Amazon Client présente l'interface utilisateur pour tous les aspects du flux de travaux d'achat. Il fournit la logique pour afficher l'élément pouvant être acheté, effectuer l'achat en un clic et gérer les conditions préalables ou les scénarios d'erreur éventuels..

Fournir un lien directement vers Amazon Client à partir de votre application est un outil efficace pour promouvoir vos applications. Ce type de lien est appelé lien profond. Plus d'informations sur les liens profonds peuvent être trouvées dans la documentation.

Séparation des responsabilités

Lors du développement avec l'API d'achat intégrée à Amazon, il est important de comprendre quelles parties du flux d'achat l'application doit implémenter et quelles parties sont gérées par Amazon Client..

Le client Amazon se chargera du processus d'achat, à partir du moment où le client décide d'acheter un article et se termine lorsque le magasin fournit à l'application un reçu pour l'achat (ou un autre statut en cas d'échec de l'achat).. Les développeurs ne doivent pas fournir de boîtes de dialogue d'achat, de logique de délai d'attente de transaction ou de boîtes de dialogue "Merci".. Ceux-ci sont tous fournis par le client Amazon. Veuillez consulter la section Directives et conventions d’interface utilisateur pour plus de détails..

En cas d'échec d'un achat, Amazon Client présentera une messagerie au client. votre application ne doit pas envoyer de message au client. Par exemple, si le client n'a pas de carte de crédit valide dans son dossier, le client le redirige vers une page où il peut mettre à jour ses informations de paiement.. Vous ne devez pas fournir de confirmation ou d’autres dialogues interstitiels au client concernant le flux d’achat..

Votre app Amazone
Présente le catalogue d'éléments in-app au client pour achat Gère le flux d'achat
Déverrouille la fonctionnalité achetable Effectue le traitement du paiement
Télécharge le contenu distribué à distance Gestion de la communication sécurisée avec la plateforme Amazon, y compris la sécurité des paiements
Affiche et utilise les biens numériques téléchargés
Vérifie les droits et valide les reçus d'achat
Suit les achats des clients et les stocks de consommables
Gère les abonnements, y compris le renouvellement automatique et la révocation des droits

Sources de contenu

Votre application peut tirer parti de l'API des achats intégrés de plusieurs manières. La manière dont vous choisissez de l'implémenter peut affecter la manière dont vous construisez votre application. Quelle que soit la manière dont vous choisissez de le mettre en œuvre, vous disposez de deux flux de base: le contenu disponible localement et le contenu livrable..

Contenu disponible localement

Le contenu disponible localement est déverrouillé ou mis à la disposition du client lors de l'achat. Dans ce modèle, votre application dispose déjà de tout ce dont le client a besoin pour utiliser l'élément achetable, à l'exception du droit de l'utiliser. Vous pouvez utiliser les trois types d'articles achetables avec ce modèle..

Votre application doit contenir les identifiants uniques pour chaque article achetable (UGS), la possibilité de présenter un catalogue au client et une logique dans l'application pour déverrouiller l'article achetable lors d'une transaction réussie..

Contenu livrable

Le contenu livrable vous permet de mettre un nouveau contenu à la disposition du client. Sous ce modèle, votre application téléchargera le nouveau contenu à partir de vos serveurs et le mettra à la disposition du client..

Votre application doit contenir les identifiants uniques pour chaque article pouvant être acheté (UGS), la possibilité de présenter un catalogue au client et la logique au sein de l'application pour télécharger, conserver et mettre à disposition le contenu téléchargé en cas de transaction réussie..

Rappelez-vous: IAP v1.0 est déconseillé

En juillet 2014, Amazon a publié l'API v2.0 des achats intégrés (IAP), qui inclut plusieurs mises à jour importantes. À compter du 30 avril 2016, Amazon déconseillait IAP v1.0 pour les soumissions d'applications nouvelles et mises à jour. Bien que cette dépréciation n'affecte pas les applications déjà actives dans Amazon Appstore, toute application soumise en tant que nouvelle application ou mise à jour après le 11 mai 2016 devra utiliser IAP v2.0.. 

  • Pour en savoir plus sur cette dépréciation, consultez l'article de blog Migrer vos applications IAP v1.0 vers v2.0.
  • Pour obtenir des instructions pas à pas sur la migration de votre application, voir Migration d'IAP v1.0 vers IAP v2.0..

Migration de la facturation IAB v3.0 de Google Play vers un achat In-App Amazon (IAP) v2.0

Discutons maintenant des différences entre la facturation In-App (IAB) de Google Play et les achats In-App (IAP) d'Amazon et décrivons en détail comment adapter votre application à l'utilisation des deux ensembles d'API..

Que sont l'IAB et l'IAP??

La fonctionnalité de facturation intégrée à Google Play permet aux utilisateurs d’acheter des éléments virtuels directement à partir de votre application. Par exemple, un utilisateur peut acheter des niveaux supplémentaires à un jeu auquel il joue.. 

Les achats In-App d'Amazon sont la fonctionnalité équivalente pour les API Amazon. Si vous avez une application qui utilise la fonctionnalité de facturation intégrée à Google Play, vous pouvez facilement modifier votre code pour utiliser la fonctionnalité équivalente d'achat sur site d'Amazon. Les deux ensembles d'API ont des fonctionnalités similaires avec quelques différences de dénomination et de terminologie..

Configuration requise pour Amazon Appstore et les périphériques Amazon

Si vous souhaitez soumettre une application qui implémente l'IAB de Google Play à Amazon Appstore afin qu'elle soit disponible sur des appareils Amazon, tels que des tablettes Fire, votre application devra implémenter l'IAP d'Amazon pour les achats intégrés. L'IAB de Google Play ne fonctionnera pas sur les appareils Amazon.

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

Comparaison des fonctionnalités

Le tableau ci-dessous présente une comparaison entre l'API IAP d'Amazon et l'API IAB de Google Play:

Fonctionnalité IAP v2.0 (Amazon) IAB v3.0 (Google Play)
commentaires
Achats
Intentions gérées par l'API.
Y N
Cadre d'appels API simples fournis.
Y N
Consommables Y Y
Les consommables individuels peuvent être achetés plusieurs fois.
Y Y
Les droits
Acheté une fois. Utilisateurs avertis s'ils tentent d'acheter un droit qu'ils possèdent déjà. Y Y
Abonnements
Variété d'options pour la période d'exécution d'un abonnement. Y Y Options d'Amazon: Hebdomadaire, Bimensuel, Mensuel, Bimensuel, Trimestriel, Bimensuel, Annuel Options de Google Play: Mensuel, Annuel, Saisonnier (personnalisé)
Prend en charge les périodes d'essai gratuites. Y Y
Options de renouvellement automatique Y Y
Option de facturation différée N Y
Vérification de réception

Service de vérification de réception pour les achats Y Y Bien que Google Play fournisse une vérification des reçus, le processus de vérification des reçus de Google Play n'est pas automatisé..

Objets gérés de Google Play par rapport aux consommables et aux droits d'Amazon

Alors que l'IAB de Google Play et l'IAP d'Amazon permettent à vos clients d'effectuer les mêmes types d'achats intégrés, Google Play et Amazon utilisent une terminologie différente pour leurs types d'achats. Le tableau suivant indique l'équivalent Google Play pour chaque type d'achat Amazon:

Amazone La description Google Play équivalent Exemples
Consommable Achat qui est fait, puis consommé dans l'application, généralement un jeu. Peut être acheté plusieurs fois. Produits In-App gérés Des vies ou des mouvements supplémentaires (dans un jeu), des munitions supplémentaires pour un personnage en jeu.
Droit Achat unique pour déverrouiller l'accès à des fonctionnalités ou à du contenu au sein d'une application ou d'un jeu. Produits In-App gérés Débloquez des niveaux supplémentaires dans un jeu ou des fonctionnalités réservées aux membres premium dans une application..
Abonnement Offre l'accès à un ensemble de contenu ou de fonctionnalités premium pour une période limitée. Abonnement Abonnement à un magazine en ligne, accès à une ligue de football fantastique.

Comme vous pouvez le constater, l'IAB de Google Play traite tous les achats sans abonnement de la même manière. un article est acheté, puis consommé par un utilisateur. Une fois qu'un article a été consommé, il est provisionné dans l'application et la consommation est enregistrée. Pour les articles susceptibles d’être des achats uniques, tels que le déverrouillage de nouveaux niveaux de jeu, vous avez la possibilité, en tant que développeur, de traiter l’article en tant que consommable ou non, et d’introduire une logique permettant de s’assurer que cet achat ne se produit que une fois que. 

Avec l'IAP d'Amazon, ces achats uniques sont séparés par conception des achats, tels que des vies supplémentaires, que les utilisateurs d'applications peuvent acheter encore et encore.

Portage de votre code

Passons en revue le portage d'une application de l'API IAB de Google Play vers l'API Amazon IAP:

  1. Configurez votre fichier AndroidManifest.xml pour prendre en charge l'IAP d'Amazon.
  2. Dans votre application, implémentez une logique de médiation entre IAB et IAP.
  3. Ajouter et implémenter l'API Amazon IAP.
  4. Testez votre application.

Configuration de votre fichier AndroidManifest.xml

Configurez votre fichier AndroidManifest.xml pour définir le récepteur IAP Response Receiver pour votre application. IAP Response Receiver garantit que la communication d'intention d'Amazon Client est interceptée par votre application. Notez que si vous prenez en charge l'IAB de Google Play et l'IAP d'Amazon, vous n'avez pas besoin de supprimer les éléments liés à l'IAB. ils seront simplement ignorés par IAP.

Dans votre fichier AndroidManifest.xml, ajoutez le fichier approprié  tag pour l'IAP ResponseReceiver:

    

Mise en œuvre de la logique de médiation entre IAB et IAP

Vous pouvez utiliser la même base de code pour votre application, quel que soit l'endroit où elle est hébergée. Ajoutez simplement une logique à votre application pour déterminer si elle a été téléchargée à partir de Amazon Appstore ou de Google Play. Selon l'endroit où l'utilisateur a téléchargé l'application, exécutez les méthodes appropriées pour IAP ou IAB..

L'exemple de code suivant détermine si un package a été installé à partir de Google Play ou d'Amazon Appstore:

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

Ajout et implémentation de l'API Amazon IAP

Dans la plupart des cas, l'IAP d'Amazon fonctionne de manière similaire à l'IAB de Google Play. Lorsque vous créez le chemin dans votre code pour implémenter l'API IAP, vous devez pouvoir utiliser un flux logique similaire à IAB, mais vous devez également définir des noms de classe et de méthode différents..

Le tableau suivant établit une correspondance entre les méthodes IAP les plus fréquemment utilisées et leurs équivalents IAB:

Méthode PurchasingService Rappel d'achat Objet de réponse Appel IAB équivalent
getUserData () onUserDataResponse () UserDataResponse N / A
getPurchaseUpdates () onPurchaseUpdatesResponse () PurchaseUpdatesResponse getAchats ()
getProductData () onProductDataResponse () ProductDataResponse getSkuDetails ()
achat() onPurchaseResponse () AchatRéponse getBuyIntent ()
notifyFulfillment () N / A N / A consommerAchat ()

Notez que Amazon notifyFulfillment () appel et Google Play consommerAchat () appel corréler les uns avec les autres un peu. Appel consommerAchat ()sur un article géré pour IAB, l'état de l'article est «non acheté», essentiellement converti en consommable. Après cela, le reçu n'apparaîtra plus dans la réponse des appels suivants au getAchats (). Amazon renverra les reçus pour les articles consommables dans les appels à getPurchaseUpdates () jusqu'à l'appel de l'application notifyFulfillment ().

Pour plus d'informations sur les classes et méthodes d'IAP, voir Référence de l'API d'achat intégré à l'application v2.0..

Tester votre application

Téléchargez et installez l'outil App Tester pour tester votre application intégrée à IAP v2.0. Cet outil peut également tester les API Mobile Associates, si votre application les utilise également. Suivez les instructions et les liens de la section Test des achats intégrés (IAP) pour installer et utiliser App Tester..

Après avoir testé votre application localement, vous pouvez utiliser le service Live App Testing pour effectuer un test bêta de votre application dans un environnement de production réel avec un groupe d'utilisateurs sélectionné..

En clôture

J'espère que vous avez apprécié le guide d'aujourd'hui ainsi que notre précédent Comment soumettre votre application à l'épisode Amazon Appstore. Merci de nous indiquer les zones Amazon Appstore que vous souhaitez voir couvertes de manière plus détaillée. Vous pouvez les poster dans les commentaires ci-dessous ou me joindre sur Twitter @lookahead_io. 

Si vous avez aimé ce tutoriel, assurez-vous de consulter ma série sur la création d’une startup avec PHP et suivez ma page d’instructeur Envato Tuts + pour voir quelques-uns de mes autres tutoriels et séries..

Liens connexes

  • Comment soumettre votre application à l'Appstore Amazon (Envato Tuts +)
  • Amazon Developer Console
  • Soumission de vos applications sur l'App Store Amazon
  • Amazon Appstore Publishing Foire aux questions
  • Présentation de l'API d'achat intégré (IAP v1.0)
  • Migration de Google Play In-App Billing (IAB) version 3.0 vers Amazon In-App Purchasing (IAP) version 2.0