Configuration des achats consommables et non consommables dans les applications

Lorsque vous développez des applications mobiles, vous souhaitez peut-être générer des revenus avec votre application. Selon le dernier Rapport Sensor Tower, les achats dans les applications, qu’ils soient consommables ou non, font partie des mécanismes de monétisation les plus utilisés, en particulier dans les jeux avec suppression de la publicité. Les jeux utilisant cette méthode de monétisation représentent 90% de tous les jeux. Dans cet article, nous allons nous intéresser de plus près aux caractéristiques des achats intra-application, à la différence entre les achats intra-application consommables et non consommables, et à la manière de les mettre en place avec Qonversion. 

Rapport sur l’état de la monétisation des jeux mobiles
Rapport sur l’état de la monétisation des jeux mobiles

Types d’achats effectués dans l’application

Les achats dans les applications peuvent être utilisés de plusieurs façons. Par exemple, pour ajouter des fonctionnalités, supprimer des publicités ou acheter de la monnaie du jeu. Mais quel type d’achat utiliser pour chaque objectif ?  

Il existe deux types d’achats dans l’application qui peuvent être utilisés pour les applications mobiles iOS et Android :

  • Articles non consommables. L’idée est qu’ils ne puissent être achetés qu’une seule fois. Il est associé de façon permanente au compte de l’utilisateur dans le magasin. Il s’agit par exemple de l’achat de niveaux de jeu, de pistes de course, de fonctions supplémentaires et, bien sûr, de la suppression des publicités.
  • Les articles consommables peuvent être achetés plusieurs fois. Ils peuvent s’épuiser pendant la durée de vie de l’application. Les exemples sont la monnaie du jeu et les extras.

Différences entre les achats dans l’application chez Google et Apple

Google ne fait aucune différence entre les achats dans l’application non consommables et consommables lors de la création d’un produit. Toutefois, Apple exige des développeurs qu’ils précisent le type d’achat dans l’application dans App Store Connect :

Comment configurer les achats consommables et non consommables dans l’application

Supposons que nous développions un jeu de course pour iOS et Android. Notre application permet aux utilisateurs de débloquer des circuits de course premium (article non consommable, une fois le circuit acheté, l’utilisateur y a accès pour toujours) ainsi que d’acheter des ressources supplémentaires pour une voiture (article consommable, l’utilisateur doit pouvoir acheter des ressources chaque fois qu’il en a besoin). Qonversion permet de gérer tous les types d’achats dans les applications, y compris les produits sans abonnement.

L’exemple suivant décrit le processus d’intégration des achats dans les applications mobiles avec Qonversion. 

Avant de commencer à créer des achats consommables et non consommables, assurez-vous que vous avez déjà un Compte Qonversion et que vous avez créé votre projet et enregistré l’application.

Préparation

  1. Supposons que nous ayons déjà créé des achats dans les applications, dans Google Play Console et App Store Connect, avec les identifiants suivants : android_premium_track, android_extra_health et ios_premium_track, ios_extra_health. Créons Produits dans le tableau de bord de Qonversion :

2. Ensuite, nous devons créer une Permission et la lier au produit premium_track. L’autorisation Premium débloquera l’accès au titre après son achat.

3. Pour le produit extra_health, nous n’avons pas besoin de créer une permission. Créons également une Offre pour pouvoir modifier l’ensemble des produits à distance sans diffuser de mises à jour de l’application. Attachez les produits créés à l’offre :

Comment fournir un accès à vie avec des achats non consommables dans l’application ?

Affichage des produits

Afficher les produits à vendre à l’utilisateur :

iOS:

Qonversion.offerings { (offerings, error) in
  if (error != nil) {
    // Handle the error here
  }
  let offering = offerings?.offering(forIdentifier: "standard_offering")
  if let product = offering?.product(forIdentifier: "premium_track") {
    // Display the product for sale
  }
}

Android:

Qonversion.offerings(object : QonversionOfferingsCallback {
    override fun onSuccess(offerings: QOfferings) {
        val offering = offerings.offeringForID("standard_offering")
        offering?.productForID("premium_track")?.let { product ->
            // Display the product for sale
        }

    }

    override fun onError(error: QonversionError) {
        // Handle the error here
    }
}

Faire des achats

Lorsque l’utilisateur est prêt à acheter le produit, lancez un flux d’achat avec la méthode suivante :

iOS:

Qonversion.purchaseProduct(product) { (permissions, error, isCancelled) in
  if let premium: Qonversion.Permission = permissions["premium"], premium.isActive {
    // Successful purchase
    // Unlock premium content
  }
}

Android:

Qonversion.purchase(context, product, callback = object: QonversionPermissionsCallback {
    override fun onSuccess(permissions: Map<String, QPermission>) {
        val premiumPermission = permissions["premium"]
        if (premiumPermission != null && premiumPermission.isActive()) {
            // Successful purchase
            // Unlock premium content
        }
    }

    override fun onError(error: QonversionError) {
        // Handle the error here
    }
})

Chaque fois que vous voulez savoir si l’utilisateur a accès au contenu premium, vous devez faire appel à la méthode checkPermissions() pour vérifier les autorisations. Une fois que le produit a été acheté avec succès et que l’autorisation est activée, vous ne devez pas permettre à l’utilisateur d’acheter à nouveau le produit : L’utilisateur a un accès à vie à partir de maintenant.

Fournir un accès avec des achats consommables dans l’application

Affichage des produits

Afficher les produits à vendre à l’utilisateur :

iOS:

Qonversion.offerings { (offerings, error) in
  if (error != nil) {
    // Handle the error here
  }
  let offering = offerings?.offering(forIdentifier: "standard_offering")
  if let product = offering?.product(forIdentifier: "extra_health") {
    // Display the product for sale
  }
}

Android:

Qonversion.offerings(object: QonversionOfferingsCallback {
   override fun onSuccess(offerings: QOfferings) {
       val offering = offerings.offeringForID("standard_offering")
       offering?.productForID("extra_health")?.let { product-&gt;
           // Display the product for sale
       }
      
   }
   override fun onError(error: QonversionError) {
       // Handle the error here
   }
})

Faire des achats

Lorsque l’utilisateur est prêt à acheter le produit, lancez un flux d’achat avec la méthode suivante :

iOS:

Qonversion.purchaseProduct(product) { (permissions, error, isCancelled) in
      if(!error){
         // Successful purchase
         // Unlock premium content
      }
}

Android:

Qonversion.purchase(context, product, callback = object : QonversionPermissionsCallback {
    override fun onSuccess(permissions: Map<String, QPermission>) {
        // Successful purchase
        // Unlock content
    }

    override fun onError(error: QonversionError) {
        // Handle the error here
    }
})

Pour déverrouiller un contenu, vous n’avez pas besoin de vérifier les autorisations. Vous devriez plutôt vous fier à un résultat positif, c’est-à-dire à l’absence d’erreur. Note : L’application doit se souvenir de l’état du produit acheté : combien d’unités ont été achetées et donner un accès correspondant. Par exemple, si l’utilisateur a acheté 50 unités de santé supplémentaires et qu’il en a utilisé 20, vous devez en tenir compte et montrer le solde réel de 30 unités de santé dans votre application. Ainsi, seules 30 unités restantes seront disponibles à l’achat pour votre utilisateur.

Conclusion

Dans cet article, nous avons examiné de plus près comment configurer les achats consommables et non consommables. Comme vous pouvez le constater, le processus est assez simple. Une fois que vous avez mis en place les achats dans les applications, n’oubliez pas d’utiliser les outils d’analyse pour mesurer le revenu que rapporte chacun de vos produits. Si vous souhaitez en savoir plus sur la manière de configurer et d’analyser les achats et les abonnements dans les applications, veuillez lire notre documentation ou n’hésitez pas à m’envoyer un message via notre Canal Slack.