PC SOFT

DOCUMENTATION EN LIGNE
DE WINDEV, WEBDEV ET WINDEV MOBILE

  • Caractéristiques de la procédure WLangage
  • Cas particuliers
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadApple WatchUniversal Windows 10 AppWindows Mobile
Autres
Procédures stockées
Envoie :
  • une demande d’achat d'un produit "In-App" associé à l'application.
  • Versions 23 et supérieures
    une demande de souscription à un abonnement.
    Nouveauté 23
    une demande de souscription à un abonnement.
    une demande de souscription à un abonnement.
Remarque : La demande d'achat est asynchrone. Une procédure de type "Callback" est exécutée lors de lors de la réception de la réponse à la demande d'achat.
Exemple
MonProduit est un inAppProduit = tabProduit[nIndex]
inAppAchèteProduit(MonProduit, ValideAchatProduit)
//-------------------------------------------
PROCEDURE ValideAchatProduit(bSuccès est un booléen, Produit est un inAppProduit, Reçu)

SI PAS bSuccès ALORS
ToastAffiche(ErreurInfo())
RETOUR
SINON
// Cas Android
SI EnModeAndroid() ALORS
// Consommation du produit (optionnel)
inAppConsommeProduit(Produit, Reçu, ConsommationProduit)
FIN
// Cas iOS
SI EnModeiOS() ALORS
// Activation du produit dans l'application
ActiveProduit(Produit)
// Mémorise l'achat dans les préférences de l'application
SauveParamètre(Produit..Identifiant, 1)
FIN
FIN
Syntaxe
iPhone/iPad

iOS : Envoyer une demande d'achat Masquer les détails

<Résultat> = inAppAchèteProduit(<Produit à acheter> , <Quantité> , <Procédure>)
<Résultat> : Booléen
  • Vrai si la demande d'achat a été effectuée,
  • Faux dans le cas contraire. Pour plus de détails sur l'erreur, utilisez la fonction ErreurInfo.
<Produit à acheter> : Variable de type inAppProduit
Nom de la variable de type inAppProduit correspondant :
  • au produit à acheter.
  • Versions 23 et supérieures
    à l'abonnement à souscrire ou à renouveler.
    Nouveauté 23
    à l'abonnement à souscrire ou à renouveler.
    à l'abonnement à souscrire ou à renouveler.
<Quantité> : Entier
Quantité à acheter.
  • Versions 23 et supérieures
    Dans le cas d'un abonnement, ce paramètre doit correspondre à 1.
    Nouveauté 23
    Dans le cas d'un abonnement, ce paramètre doit correspondre à 1.
    Dans le cas d'un abonnement, ce paramètre doit correspondre à 1.
  • Si ce paramètre a pour valeur 0, <Résultat> vaut Faux et la procédure n'est pas appelée.
<Procédure> : Chaîne de caractères (avec ou sans guillemets)
Nom de la procédure WLangage (également nommée "callback") exécutée lors de la réception de la réponse à la demande d'achat. Pour plus de détails, consultez le paragraphe Remarques de la page d'aide.
Android

Android : Envoyer une demande d'achat Masquer les détails

<Résultat> = inAppAchèteProduit(<Produit à acheter> , <Procédure>)
<Résultat> : Booléen
  • Vrai si la demande d'achat a été effectuée,
  • Faux dans le cas contraire. Pour plus de détails sur l'erreur, utilisez la fonction ErreurInfo.
<Produit à acheter> : Variable de type inAppProduit
Nom de la variable de type inAppProduit correspondant :
  • au produit à acheter.
  • Versions 23 et supérieures
    à l'abonnement à souscrire ou à renouveler.
    Nouveauté 23
    à l'abonnement à souscrire ou à renouveler.
    à l'abonnement à souscrire ou à renouveler.
<Procédure> : Chaîne de caractères (avec ou sans guillemets)
Nom de la procédure WLangage (également nommée "callback") exécutée lors de la réception de la réponse à la demande d'achat. Pour plus de détails, consultez le paragraphe Remarques de la page d'aide.
Remarques

Caractéristiques de la procédure WLangage

La procédure <Procédure> doit être de la forme :
PROCEDURE <Nom de la Procédure>(<Succès> est un booléen, <Produit> est un inAppProduit,
<Reçu>, <Quantité> est un entier)
où :
  • <Succès> est un booléen :
    • Vrai si l'achat a été validé,
    • Faux dans le cas contraire. Pour récupérer le détail de l'erreur, utilisez la fonction ErreurInfo avant tout autre appel à une fonction WLangage (ce qui réinitialiserait l'erreur). La fonction ErreurInfo utilisée avec la constante errCode permet d'obtenir un des codes d'erreur suivants :
      inAppAnnulationAchat annulé par l'utilisateur.
      inAppErreurInconnueErreur inconnue.
      inAppErreurSignatureErreur lors de la vérification de la signature des données reçue pour la validation de l'achat (problème de sécurité).
      inAppRéponseInvalideRéponse invalide.
  • <Produit> est une variable de type inAppProduit correspondant au produit acheté.<Produit> est une variable de type inAppProduit correspondant au produit ou à l'abonnement acheté.
  • <Reçu>  :
    • iPhone/iPad <Reçu> est un buffer contenant le reçu de l’achat. Ce reçu peut ensuite être utilisé pour des vérifications de sécurité supplémentaires auprès du store Apple.
      Rappel : Pour valider un achat, il est recommandé d'utiliser la fonction inAppListeAchat et de vérifier que l'achat se trouve bien dans la liste.
    • Android <Reçu> est une chaîne de caractères correspondant à l'identifiant de l'achat. Cet identifiant peut ensuite être utilisé pour la consommation du produit acheté (fonction inAppConsommeProduit).
  • <Quantité> est un entier correspondant à la quantité de produits achetée.
    • Versions 23 et supérieures
      iPhone/iPad Dans le cas d'un abonnement, ce paramètre vaut toujours 1.
      Nouveauté 23
      iPhone/iPad Dans le cas d'un abonnement, ce paramètre vaut toujours 1.
      iPhone/iPad Dans le cas d'un abonnement, ce paramètre vaut toujours 1.
    • Android Ce paramètre vaut toujours 1.

Cas particuliers

  • Si l’achat est valide, l’application doit fournir le contenu de l’achat à l’utilisateur.
  • iPhone/iPad Si l'achat a été effectué, l'application doit mémoriser cette information. Il est par exemple possible de stocker cette information dans les préférences grâce à la fonction SauveParamètre.
  • Versions 23 et supérieures
    Si la fonction inAppAchèteProduit est utilisée pour souscrire un abonnement déjà actif pour l'utilisateur, cet abonnement est alors automatiquement prolongé de la période correspondante.
    Nouveauté 23
    Si la fonction inAppAchèteProduit est utilisée pour souscrire un abonnement déjà actif pour l'utilisateur, cet abonnement est alors automatiquement prolongé de la période correspondante.
    Si la fonction inAppAchèteProduit est utilisée pour souscrire un abonnement déjà actif pour l'utilisateur, cet abonnement est alors automatiquement prolongé de la période correspondante.
  • Android Il n'est pas possible d'acheter un produit que l'utilisateur a déjà acheté. Il est nécessaire de consommer le produit (avec la fonction inAppConsommeProduit) avant de pouvoir l'acheter à nouveau.
    La fonction inAppListeAchat permet de récupérer les produits achetés par l'utilisateur et pas encore consommés.
  • Android Il n'est pas possible d'indiquer la quantité de produits à acheter. Il est nécessaire de créer dans la console développeur Google Play des produits correspondant à la quantité voulue. Il appartient alors à l'application de gérer l'utilisation des quantités achetées.
  • Android Il n'est pas possible de lancer simultanément plusieurs demandes d'achat. Il est nécessaire d'attendre la réponse à une demande d'achat avant d'effectuer une nouvelle demande.
  • Android La fonction inAppAchèteProduit sera sans effet si elle est exécutée depuis le simulateur ou l'émulateur Android.
  • Android La fonction inAppAchèteProduit est disponible uniquement sur les appareils disposant d’une version d’Android supérieure ou égale à la version 2.2 (api level 8).
    Si la fonction est utilisée avec une version antérieure du système, une erreur fatale sera déclenchée.
    Pour connaître la version du système Android sur laquelle s’exécute l’application, utilisez la fonction SysVersionAndroid.
Composantes
Android wd230android.jar
Version minimum requise
  • Version 19
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire