Détecter et distribuer des éléments intégrés à l'application

Cette rubrique explique comment détecter et distribuer des produits intégrés à votre jeu une fois que les joueurs les ont achetés avec des points Play dans l'application Google Play.

Une fois que les utilisateurs ont utilisé leurs points Play pour acheter un produit intégré dans l'application Google Play, les éléments devraient être immédiatement disponibles dans votre jeu. L'exemple suivant montre comment un utilisateur achète des éléments avec des points Play.

1. Cliquez sur Points Play. 1. Cliquez sur l'onglet Utiliser pour afficher les éléments. 2. Sélectionnez un élément, puis cliquez sur Utiliser les points pour finaliser l'achat. 3. Recevez l'élément.
Capture d'écran de À déterminer Capture d'écran de À déterminer Capture d'écran de À déterminer Capture d'écran de À déterminer

Dans cet exemple, le jeu n'est pas exécuté lors de l'achat du produit. Les utilisateurs peuvent également échanger des points Play contre des produits même si le jeu n'est pas installé sur leur appareil. Pour cette raison, vous devez concevoir votre jeu afin qu'il gère la distribution des éléments intégrés même si l'achat est effectué hors du magasin du jeu.

Avant de commencer

Avant de détecter et de distribuer un produit intégré, vous devez créer le produit et les promotions Play Points.

Consignes à respecter pour la distribution

Lorsque vous proposez des produits intégrés à votre jeu dans le cadre d'une promotion Play Points, vous devez respecter les exigences énoncées ci-après.

Délai de distribution

Lorsqu'un joueur échange des points Play contre un produit intégré, vous devez distribuer l'élément immédiatement sans qu'il doive recommencer le jeu. Dans les cas où le contenu du jeu doit être terminé à l'avance (s'il s'agit d'un tutoriel, par exemple), l'élément doit être distribué immédiatement après.

Message de distribution

Lorsqu'un utilisateur retourne dans votre jeu après avoir acheté un produit intégré en dehors du jeu, vous devez afficher une confirmation indiquant que le produit a bien été autorisé dans le jeu. Le message doit s'afficher dans une fenêtre pop-up ou dans le jeu. Les utilisateurs ne devraient pas avoir à effectuer d'autres étapes pour recevoir l'élément.

Voici le format requis pour les messages :

  • Un message clair indiquant que l'élément a bien été reçu.

  • Mentionnez clairement le nom de l'élément et reportez-vous à la section Play Points pour que les utilisateurs puissent le distinguer des autres contenus qu'ils reçoivent.

  • Le nom de l'élément doit également inclure la bonne dénomination de l'élément s'il existe des éléments similaires avec plusieurs dénominations.

  • La fenêtre pop-up, le message ou la notification dans le jeu doivent être visibles par l'utilisateur jusqu'à ce qu'il clique sur une confirmation telle que Continuer ou OK. Il ne devrait pas y avoir de bouton d'annulation, car ce message est uniquement destiné à informer les utilisateurs de la disponibilité de l'élément qu'ils ont reçu dans le jeu. S'il n'y a pas de bouton de confirmation, le message doit être visible par les utilisateurs pendant au moins trois secondes avant de disparaître afin que les utilisateurs sachent qu'ils ont bien reçu l'élément acheté.

Voici un exemple de message :

"Élément reçu ! Vous venez de recevoir 100 gemmes avec des points Play. Continuer."

Les utilisateurs doivent voir une animation ou une confirmation visuelle indiquant l'augmentation de leur solde de monnaie en jeu. S'il s'agit d'un élément intégré durable ou consommable, les utilisateurs doivent être dirigés vers l'endroit où l'élément a été déverrouillé ou vers l'endroit où il est disponible dans le jeu.

Détecter les éléments reçus en dehors du jeu

Si votre jeu utilise la bibliothèque Google Play Billing, apportez les modifications suivantes afin de détecter les produits intégrés qui sont reçus en dehors du jeu.

  1. Dans le rappel onResume() de votre jeu, appelez la méthode queryPurchases() pour récupérer la liste des éléments, afin de déterminer ceux qui ne sont pas confirmés.

  2. Si votre jeu dispose d'un serveur, nous vous recommandons vivement de vérifier l'achat auprès de votre serveur à l'aide de l'API Subscriptions and In-App Purchases.

  3. Si certains éléments ont bien été achetés, mais ne sont pas encore confirmés, confirmez l'achat avec le code consumeAsync() pour les éléments consommables ou avec le code acknowledgePurchase() pour les éléments non consommables.

  4. Accordez l'accès à l'élément acheté dans le jeu.

Détecter les éléments reçus en mode Écran partagé

Si votre jeu prend en charge le mode multifenêtre, il est possible d'utiliser des points Play pour recevoir l'élément tout en exécutant simultanément l'application Play Store et votre jeu. Cette capture d'écran montre un exemple :

Capture d'écran montrant le bouton "Échanger des points" pendant le jeu.

Pour utiliser ce scénario avec la bibliothèque Google Play Billing, procédez comme suit :

  1. Google Play appelle la méthode onPurchasesUpdated() pour informer votre jeu qu'un nouvel élément est en attente.

  2. Si votre jeu dispose d'un serveur, nous vous recommandons vivement de vérifier l'achat auprès de votre serveur à l'aide de l'API Subscriptions and In-App Purchases.

  3. Confirmez l'achat avec le code consumeAsync() pour les éléments consommables ou avec le code acknowledgePurchase() pour les éléments non consommables.

  4. Accordez l'accès à l'élément acheté dans le jeu.

Afficher une confirmation de distribution

Lorsque les utilisateurs utilisent des points Play en échange d'un élément, ils s'attendent à ce qu'un message s'affiche dans le jeu ou à voir une notification qui les informe que l'élément est en cours de traitement. Voici quelques options de confirmation de distribution :

  • Afficher un pop-up dans le jeu.

  • Distribuer le message dans la boîte de messagerie du jeu et indiquer clairement qu'il y a un nouveau message.

  • Utiliser un message de notification de l'OS.

Lors de la réception de l'élément promotionnel, le jeu peut se trouver dans n'importe quel état, même s'il n'est pas installé sur l'appareil. Vous devez détecter les éléments promotionnels, quel que soit l'état dans lequel se trouve le jeu au moment de la réception de l'élément. Toutefois, dans certains cas, il peut être acceptable de ne pas informer immédiatement l'utilisateur de la réception de l'élément. Par exemple :

  • L'affichage d'un message est susceptible de distraire le joueur en pleine action de jeu. Dans ce cas, le joueur sera plutôt averti à la fin de l'action.

  • L'affichage d'un message pendant une cutscene est susceptible de distraire l'utilisateur. Dans ce cas, vous devez avertir l'utilisateur une fois la cinématique terminée.

  • Au cours du tutoriel de départ et de la configuration d'un jeu. Nous vous recommandons d'informer immédiatement les nouveaux utilisateurs de la récompense reçue dès qu'ils ouvrent le jeu ou lors de la configuration initiale de l'utilisateur. Cependant, il est possible d'attendre que la séquence de jeu principale soit disponible pour avertir l'utilisateur.

Si votre application comporte plusieurs caractères ou comptes auxquels l'élément pourrait être appliqué, nous vous recommandons d'inviter l'utilisateur à sélectionner le compte qui recevra ces éléments promotionnels.

Tenez compte des utilisateurs lorsque vous décidez quand et comment envoyer les notifications concernant les éléments promotionnels. Si un utilisateur ne reçoit pas immédiatement une notification, il peut être désorienté, cesser de jouer, contacter l'assistance utilisateur ou s'en plaindre sur les réseaux sociaux.

Mises à jour pour des moteurs de jeu spécifiques

Voici quelques considérations à prendre en compte pour certains moteurs de jeu :

  • Si votre jeu est conçu avec Unity, nous vous recommandons de vérifier si l'implémentation IAP (achat via une application) que vous utilisez est déjà compatible avec les promotions Play Points.

  • Si votre jeu est conçu avec Cocos2d-x ou Unreal Engine (C/C++), vous devrez probablement écrire le code JNI qui appelle les API Java à partir de votre code C/C++.

Bonnes pratiques côté serveur

Cette section contient les bonnes pratiques côté serveur pour les promotions Play Points :

  • Si vous appelez le code Purchases.products: get sur votre serveur, vérifiez si vous devez gérer les éléments d'échange contre des récompenses Play et les autres produits intégrés séparément, en fonction des valeurs productId.

  • Si vous utilisez le code Inappproducts: list sur votre serveur, vérifiez si vous devez séparer les éléments d'échange contre des récompenses Play des autres produits intégrés en fonction des valeurs productId.

  • Consultez les bonnes pratiques suivantes pour vérifier si vous devez apporter des modifications supplémentaires :

Dépannage

Cette section contient des recommandations sur les scénarios susceptibles d'entraîner des questions de la part des clients.

Plusieurs comptes utilisateur

Si un utilisateur possède plusieurs comptes Google sur son appareil et qu'il utilise des points Play sur le mauvais compte, Google ne peut pas transférer les éléments vers les autres comptes. De même, votre application ne peut pas transférer l'élément en appelant la méthode getPurchases(). Dans ce scénario, vous pouvez envisager de fournir manuellement à l'utilisateur les éléments intégrés à l'application à l'aide de votre service client.

Éléments en retard ou manquants

Si les récompenses arrivent en retard ou sont parfois manquantes, consultez le guide de dépannage pour les achats via une application dans la documentation d'aide de Google Play.