DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / WLangage / Fonctions WLangage / Fonctions spécifiques Mobile / Fonctions Achats In-App
  • Présentation
  • Principe
  • Spécificités iOS
  • Spécificités Android
  • Mise en place
  • Application iOS
  • Application Android
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadWidget IOSApple WatchMac CatalystUniversal Windows 10 App
Autres
Procédures stockées
Présentation
Les systèmes mobiles (Android/iOS) permettent à leurs applications de proposer du contenu payant, en utilisant le système de paiement de l'App Store ou de Google Play.
Ce procédé permet de créer par exemple :
  • des applications avec des extensions payantes.
  • des applications proposant des produits payants (e-books, etc.).
  • des applications proposant un abonnement à du contenu ou à des services.
Cette page d'aide décrit les mécanismes utilisés dans WINDEV Mobile afin d'activer la gestion de contenu payant (achat "In-App") dans vos applications.
Principe
Les différentes étapes d'un achat "In-App" dans une application Android ou iOS sont les suivantes :
  1. L'application demande au store des informations sur les produits disponibles. Pour cela, elle fournit au store les identifiants des produits. Ces identifiants ont été saisis dans iTunesConnect pour iOS et dans la console développeur Google Play pour Android.
  2. Le store renvoie (de manière asynchrone) ces informations sous forme de liste.
  3. L'application affiche cette liste à l'utilisateur.
  4. L'utilisateur choisit un produit à acheter.
  5. L'application transmet la demande d'achat au store.
  6. Le store envoie (de manière asynchrone) une réponse indiquant si la transaction a été effectuée.
  7. L'application active l'achat.
iPhone/iPad

Spécificités iOS

Dans le cas d'un achat In-App depuis une application iPhone/iPad, il est nécessaire de prendre en compte les spécificités suivantes :
  • Pour vérifier et valider une transaction, il est possible d'utiliser la fonction inAppListeAchat. Si le produit acheté n'est pas renvoyé par cette fonction, l'achat peut être considéré comme invalide.
  • En cas de désinstallation/réinstallation de l'application, l'application peut demander la restauration des achats précédemment effectués. Dans ce cas, les étapes 6 et 7 sont rappelées pour chaque produit non consommable et chaque abonnement déjà acheté. Les produits consommables ne sont eux jamais restaurés : ils sont considérés comme consommés dès l'achat.
  • La liste des produits est configurée via les interfaces disponibles sur iTunes Connect.
  • Validité des abonnements : La date de fin des abonnements permet de définir la période de validité d'un abonnement. Au-delà de cette date, l'abonnement est considéré comme terminé. La fonction inAppListeAchat permet de vérifier la date de fin des abonnements.
  • Abonnements auto-renouvelables : Lorsque l'abonnement arrive à terme, l'AppStore renouvelle automatiquement l'abonnement. Il est alors recommandé de vérifier les abonnements valides dans le code d'initialisation du projet à l'aide de la fonction inAppListeAchat.
Remarques :
  • Seuls les produits consommables/non consommables et les abonnements sont gérés. Les autres types de produits ne sont pas gérés.
  • Il n'est pas possible de gérer le contenu téléchargeable dans les produits.
  • Il est possible d'ouvrir la fiche de paramétrage des achats In-App d'une application via la fonction AppliOuvreFiche.
Android

Spécificités Android

Dans le cas d'un achat In-App depuis une application Android, il est nécessaire de prendre en compte les spécificités suivantes :
  • Tous les achats de produits "In-App" effectués depuis une application sont mémorisés par le store Google Play et sont conservés même en cas de désinstallation de l'application ou si l'utilisateur change de téléphone. Cela signifie que l'application peut demander à tout moment la liste des achats effectués par l'utilisateur.
  • Un utilisateur ne peut pas posséder plus d'une seule occurrence d'un même produit à la fois mais les produits achetés peuvent être consommés. Une fois consommé, le produit n'est plus listé dans les achats de l'utilisateur et peut être acheté à nouveau.
  • L'application doit être publiée sur le Google Play Store pour pouvoir proposer l'achat de produits "In-App".
  • Achat d'un produit non consommable :
    Les produits non consommables ne sont achetés qu'une seule fois pour un utilisateur et une application donnés et procurent un service permanent. Une fois achetés, ils sont associés à l'utilisateur sans limitation de durée même si l'utilisateur désinstalle l'application ou l'installe sur un autre appareil.
    Exemple : Accès à la version "Gold" d'une application.
    • Depuis une application, l'utilisateur achète le produit "Version Gold" lui donnant accès aux fonctionnalités avancées de l'application.
    • Une fois l'achat validé, l'application "active" la version Gold et autorise l'utilisateur à accéder aux nouvelles fonctionnalités proposées.
    • A chaque lancement, l'application vérifie les achats effectués par l'utilisateur pour lui donner accès aux fonctionnalités correspondant à ses achats.
  • Achat d'un produit consommable :
    Les produits consommables d'une application peuvent être achetés plusieurs fois par le même utilisateur. Une fois achetés, ils produisent un effet temporaire jusqu'à leur consommation par l'application. Après leur consommation, l'utilisateur a la possibilité d'acheter à nouveau le produit consommé.
    Exemple : Visionnage d'un film en streaming
    • Depuis une application, l'utilisateur achète le produit "Film en streaming" lui permettant de visionner depuis son application le film de son choix pendant une semaine.
    • Une fois l'achat validé, l'application propose à l'utilisateur de choisir le film à visionner.
    • Avant chaque visionnage d'un film, l'application récupère les achats de l'utilisateur pour vérifier qu'il a bien a acheté le produit correspondant.
    • Si la date d'achat du produit est inférieure à une semaine, la lecture du film commence. Dans le cas contraire, le produit doit être consommé afin que l'utilisateur puisse l'acheter à nouveau.
  • Les fonctions d'achat "In-App" ne sont pas supportées dans l'émulateur ou le simulateur. Il est également nécessaire que l'appareil sur lequel s'exécute l'application dispose d'une version récente de l'application Google Play (installée par défaut sur la plupart des appareils).
  • Achat d'un abonnement :
    • Les abonnements permettent de vendre du contenu, des services ou des fonctionnalités dans votre application avec une facturation automatique et récurrente (toutes les semaines, tous les mois, tous les trimestres, etc.).
    • Les abonnements sont renouvelés automatiquement à l'intervalle et au prix définis dans le paramétrage de l'abonnement via la console développeur Google Play.
      À chaque renouvellement de l'abonnement, Google Play facture automatiquement le compte utilisateur, puis en informe l'utilisateur par courrier électronique.
    • Un utilisateur peut à tout moment résilier son abonnement en se rendant sur la fiche de l'application correspondante dans l'application du Google Play Store (il est possible d'ouvrir cette fiche depuis l'application avec la fonction WLangage AppliOuvreFiche). Lorsque que l'utilisateur résilie son abonnement, il aura toujours accès au contenu de son abonnement pour le reste du temps qu'il a déjà payé.
    • Un utilisateur peut également renouveler un abonnement, il est alors prolongé de la période correspondante.
Remarques :
  • Seuls les produits (consommables et non consommables) et les abonnements sont gérés. Les autres types de produits ne sont pas gérés.
  • Il n'est pas possible de gérer le contenu téléchargeable dans les produits.
  • Il est possible d'ouvrir la fiche de paramétrage des achats In-App d'une application via la fonction AppliOuvreFiche.
Mise en place
iPhone/iPad

Application iOS

Pour mettre en place les achats "In-App" dans une application iOS :
  1. Développez l'application iOS en utilisant les fonctions WLangage spécifiques :
    inAppAchèteProduitEnvoie une demande d'achat d'un produit "In-App" associé à l'application.
    inAppListeAchatRenvoie la liste des produits de l'application achetés par l'utilisateur et non consommés.
    inAppListeInfoProduitRécupère à partir du store les informations sur les produits "In-App" associés à l'application.
    inAppRestaureAchatsRestaure les achats de produits non consommables précédemment effectués par l'utilisateur dans une application iOS.
    Le type de variable inAppProduit permet de gérer les produits dans le cadre d'un achat In-App.
  2. Connectez-vous à iTunesConnect, puis sur le compte de votre application. Pour plus de détails, consultez Déploiement d'une application via App Store.
  3. Cliquez sur le bouton "Manage In-App Purchases".
  4. Créez un ou plusieurs produits (bouton "Create New"). Seuls les produits consommables et non consommables sont disponibles dans les applications WINDEV Mobile. Les caractéristiques de ces produits (Identifiant notamment) sont utilisés dans l'application WINDEV Mobile pour identifier les produits à manipuler.
  5. Générez votre application et déployez-la sur le store.
Android

Application Android

Pour mettre en place les achats "In-App" dans une application Android :
  1. Enregistrez l'application dans la console développeur Google Play.
  2. Développez l'application Android en utilisant les fonctions WLangage spécifiques :
    inAppAchèteProduitEnvoie une demande d'achat d'un produit "In-App" associé à l'application.
    inAppConsommeProduitPermet de consommer dans une application un produit précédemment acheté par l'utilisateur.
    inAppListeAchatRenvoie la liste des produits de l'application achetés par l'utilisateur et non consommés.
    inAppListeInfoProduitRécupère à partir du store les informations sur les produits "In-App" associés à l'application.
    Le type de variable inAppProduit permet de gérer les produits dans le cadre d'un achat In-App.
  3. Générez l'application.
  4. Importez l'application dans la console développeur Google Play.
  5. Créez les produits "In-App" dans la console développeur Google Play.
  6. Testez l'application. Il est possible de spécifier les comptes utilisateurs de test dans la console développeur Google Play.
Pour plus de détails sur les manipulations à réaliser dans la console développeur Google Play, consultez Configuration nécessaire pour gérer les achats "In-App".
Version minimum requise
  • Version 19
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire

Dernière modification : 02/02/2023

Signaler une erreur ou faire une suggestion | Aide en ligne locale