iap_purchase_details

Ajoutez les détails d'achat d'un seul produit à un ds_map.

Syntaxe:

iap_purchase_details(product_id, ds_map);


Argument La description
product_id La chaîne d'identification du produit pour l'achat.
ds_map Le ds_map qui va stocker les informations d'achat.


Retours: N / A


La description

Avec cette fonction, vous pouvez remplir un fichier créé précédemment ds_map avec un certain nombre de paires clé / valeur qui décrivent les détails d'achat du produit donné. Les données suivantes sont renvoyées dans la carte:

La carte contiendra également une autre clé, " status ", qui peut être utilisée pour vérifier l'état actuel de l'achat. Cette clé aura l'une des constantes suivantes en tant que valeur:

Constant La description
iap_available Le produit est disponible ou le jeu attend le résultat d'un achat.
iap_failed La tentative d'achat a échoué.
iap_purchased Le produit a été acheté avec succès.
iap_canceled L'utilisateur a annulé l'achat.
iap_refunded L'achat a été annulé.



Les notes suivantes sont liées aux clés "token" et "receipt" de la carte renvoyée en référence au magasin cible utilisé:

  1. Pour l' Amazon Store, les entrées d'achat "token" et "receipt" sont traitées comme une seule et même entité.

  2. Pour Google Play, il n'y a pas de données de «réception» et vous devez vérifier les achats via la «charge utile» retournée (si vous vérifiez via une charge utile, il est recommandé de ne pas utiliser de valeurs codées en dur). GameMaker Studio 2 vérifie toujours la signature de données renvoyée lors d'un achat effectué par Google Play à l'aide de la clé publique fournie dans l'onglet IAP des options de jeu.

  3. Pour Google Play, le «jeton» fourni avec un achat est destiné à être utilisé avec des achats consommateurs.

  4. Pour les magasins cibles iOS, MacOS, Windows 8 (N et JS) et Windows Phone des données de «réception» sont disponibles pour les achats, mais le «jeton» associé est généré en interne à des fins de développement.



NOTE: Le ds_map utilisé n'est pas créé par la fonction, ce qui signifie que vous devez le créer précédemment et le retirer de la mémoire lorsqu'il n'est pas utilisé avec la fonction appropriée.


Exemple:

var p_map = ds_map_create();
var p_index = ds_map_find_value(iap_data, "index");
iap_purchase_details(p_index, p_map);
if ds_map_find_value(p_map, "status") == iap_purchased
   {
   global.Gold += 100000;
   }
ds_map_destroy(p_map);

Le code ci-dessus va créer un ds_map et ensuite le remplir avec les paires clé / valeur pour l'achat avec l'ID du produit stocké dans la variable "p_index", que nous obtenons de la spéciale iap_data ds_map qui est créé exclusivement dans l' événement IAP. Si la touche "status" renvoie la constante iap_purchased, il va ensuite définir une variable globale.


Retour: dans les achats d'applications
Suivant: iap_activate
© Copyright YoYo Games Ltd. 2017 Tous droits réservés