Comment puis-je implémenter un achat "désactiver les publicités" dans mon jeu?

18

Je voudrais ajouter un service "sans publicité" à mon jeu afin que les publicités puissent être supprimées avec un seul paiement. Comment puis-je l'implémenter correctement?

Si je sauvegarde simplement le fait que le service a été payé localement sur l'appareil, l'utilisateur devra payer à nouveau s'il efface en quelque sorte les données de l'application.

user3807592
la source
1
La deuxième partie de la question est trop large (je vois que Byte l'a déjà édité); la première partie de la question n'est pas claire. Demandez-vous si cela va bien, moralement ou éthiquement? Ou demandez-vous comment enregistrer le fait que le service a été payé sur l'appareil?
1
Pour l'instant, je vais supposer que vous demandez comment, car c'est la seule façon à distance sur le sujet d'interpréter la question.

Réponses:

29

Si vous utilisez les API d'achat in-app de Google Play pour implémenter votre achat "désactiver les annonces", cela est essentiellement géré pour vous. Vous voudrez créer un produit non consommable que les utilisateurs peuvent acheter. Les produits non consommables représentent, pour l'essentiel, un avantage permanent ou à débloquer. Ces achats peuvent être restaurés sur des téléphones effacés / propres / nouveaux par l'utilisateur, de sorte qu'ils n'auront jamais besoin de racheter la désactivation de l'annonce.

Cette page contient des instructions détaillées sur l'intégration de l'API IAP à votre jeu. Les étapes sont essentiellement:

  • Ajoutez la bibliothèque à votre projet et mettez à jour vos fichiers manifestes.
  • Lier à IInAppBillingServicevia une connexion de service.
  • Envoyez et recevez les données appropriées au service via cette interface ( getSkuDetailspour obtenir la liste des produits disponibles, getBuyIntentpour commencer la transaction d'achat, etc.).

Vous devrez également tester, via getPurchases, pour voir si un utilisateur a acheté l'élément «désactiver les publicités» (et si oui, désactiver réellement les publicités).

Vous créez l'élément achetable "désactiver les annonces" à partir de votre console de développeur Google Play.


la source
Alors, attendez, Google sait à l'avance si une application a ou non des IAP «consommables»? Ils devraient vraiment révéler cela dans le magasin alors; «a des achats intégrés» pourrait signifier n'importe quoi.
Random832
3
@ Random832 Non, je ne pense pas. Il sait seulement si un produit est un abonnement ou non. Vous pouvez envoyer une demande "consumePurchase" pour tout produit sans abonnement, ce n'est pas le produit lui-même qui est consommable. Je suppose qu'ils pourraient en théorie essayer d'analyser votre binaire et rechercher des appels par rapport à cette interface, mais je doute qu'ils dérangent.
1
Ce n'est peut-être pas une coïncidence si IAP et API sont des anagrammes l'un de l'autre.
ArtOfCode
Je me tord la langue en essayant de prononcer l'API IAP ...
StorymasterQ
10

Si vous n'utilisez pas les outils de Google Play comme dans la réponse de Josh (bien que, je vous recommande d'utiliser ces outils). Vous devez gérer vous-même ces informations.

Vous voudriez éviter de stocker quelque chose localement sur l'appareil de l'utilisateur. Les utilisateurs ne veulent pas avoir à payer pour supprimer les publicités par appareil ou par installation.

Vous devez maintenir une base de données avec les utilisateurs qui ont payé. Au lancement (à chaque fois, au cas où ils achèteraient la suppression d'annonces sur un autre appareil), votre application vérifie la base de données, si le compte d'utilisateur est trouvé, vous désactiveriez définitivement les annonces pour cette installation. Les informations du compte utilisateur doivent être uniques à l'utilisateur, idéalement le compte Google utilisé pour acheter la suppression de l'annonce.

Lorsqu'un utilisateur achète la suppression de l'annonce, vous ajoutez ses informations de compte à la base de données et désactivez ses annonces.

MichaelHouse
la source