Partager via


Concepts de base et configuration de l’achat dans l’application dans Xamarin.iOS

L’implémentation d’achats dans l’application nécessite que l’application utilise l’API StoreKit sur l’appareil. StoreKit gère toutes les communications avec les serveurs iTunes d’Apple pour obtenir des informations sur le produit et effectuer des transactions. Le profil d’approvisionnement doit être configuré pour l’achat dans l’application et les informations sur le produit doivent être entrés dans iTunes Connecter.

StoreKit manages all communication with Apple’s as shown in this chart

L’utilisation de l’App Store pour fournir l’achat dans l’application nécessite l’installation et la configuration suivantes :

  • iTunes Connecter : configuration des produits pour vendre et configurer des comptes d’utilisateur bac à sable pour tester l’achat. Vous devez également fournir vos informations bancaires et fiscales à Apple afin qu’ils puissent verser des fonds collectés en votre nom.
  • Portail d’approvisionnement iOS : création d’un identificateur de bundle et activation de l’accès App Store pour votre application.
  • Kit Store : ajout de code à votre application pour afficher des produits, acheter des produits et restaurer des transactions.
  • Code personnalisé : pour suivre les achats effectués par les clients et fournir les produits ou services qu’ils ont achetés. Vous devrez peut-être également implémenter un processus côté serveur pour valider les reçus si vos produits se composent de contenu téléchargé à partir d’un serveur (tels que des livres et des problèmes de magazine).

Il existe deux « environnements serveur » du Kit Store :

  • Production : transactions avec de l’argent réel. Accessible uniquement par le biais d’applications soumises et approuvées par Apple. Les produits d’achat dans l’application doivent également être examinés et approuvés avant qu’ils ne soient disponibles sur l’environnement de production.
  • Bac à sable : où se produisent vos tests. Les produits sont disponibles ici immédiatement après la création (le processus d’approbation s’applique uniquement à l’environnement de production). Les transactions dans le bac à sable nécessitent des utilisateurs de test (pas des ID Apple réels) pour effectuer des transactions.

Règles d’achat dans l’application

Vous ne pouvez pas accepter d’autres formes de paiement pour des produits ou services numériques à l’intérieur de votre application, ni les mentionner ni les référer à vos utilisateurs à partir d’une application. Cela signifie que vous ne pouvez pas accepter les carte de crédit ou PayPal lorsque l’achat dans l’application est le mécanisme de paiement le plus approprié. Il existe un cas particulier pour l’achat de produits numériques en dehors de l’application, mais pour une utilisation dans l’application, tels que les livres d’achat sur un site web associé à une « connexion » spécifique et l’utilisation de ce « compte de connexion » dans l’application permet à l’utilisateur d’accéder aux livres achetés. Les applications qui fonctionnent de cette façon ne sont pas autorisées à mentionner ou à lier à la fonctionnalité d’achat externe : les développeurs doivent communiquer cette fonctionnalité à leurs utilisateurs d’une autre manière (peut-être via le marketing par e-mail ou un autre canal direct).

Toutefois, étant donné que vous ne pouvez pas utiliser d’achats dans l’application pour les biens physiques, dans ce cas, vous êtes autorisé à utiliser un autre mécanisme de paiement (par exemple, crédit carte, PayPal) à partir de l’application.

Apple doit approuver chaque produit avant qu’il ne soit mis en vente , le nom, la description et une capture d’écran du « produit » est requis pour révision. Les délais d’examen des produits sont les mêmes que pour les révisions d’application.

Vous ne pouvez pas choisir de prix pour votre produit. Vous pouvez uniquement sélectionner un « niveau de prix » qui a une valeur spécifique dans chaque pays/devise pris en charge par Apple. Vous ne pouvez pas avoir un niveau de prix différent sur différents marchés.

Configuration

Avant d’écrire un code d’achat dans l’application, vous devez effectuer un travail de configuration dans iTunes Connecter (itunesconnect.apple.com) et le portail d’approvisionnement iOS (developer.apple.com/iOS).

Ces trois étapes doivent être effectuées avant d’écrire du code :

  • Compte développeur Apple : envoyez vos informations bancaires et fiscales à Apple.
  • Portail d’approvisionnement iOS : vérifiez que votre application a un ID d’application valide (pas un caractère générique carte avec un astérisque * dans celui-ci) et que l’achat dans l’application est activé.
  • iTunes Connecter Gestion des applications : ajoutez des produits à votre application.

Compte de développeur Apple

La création et la distribution d’applications gratuites nécessitent très peu de configuration dans iTunes Connecter, mais pour vendre des applications payantes ou des achats in-app, vous devez fournir à Apple des informations bancaires et fiscales. Cliquez sur Contrats, Taxes et Banques dans le menu principal indiqué ici :

Click on Agreements, Tax and Banking from the main menu

Votre compte de développeur doit avoir un contrat Applications payantes iOS en vigueur, comme illustré dans cette capture d’écran :

Your Developer Account should have an iOS Paid Applications contract in effect

Vous ne pourrez pas tester de fonctionnalité StoreKit tant que vous n’avez pas de contrat d’applications payantes iOS : les appels StoreKit dans votre code échouent tant qu’Apple n’a pas traité vos informations bancaires, fiscales et fiscales .

Portail de provisionnement iOS

Les nouvelles applications sont configurées dans la section ID d’application du portail d’approvisionnement iOS. Pour créer un ID d’application, accédez au Centre membre du portail d’approvisionnement iOS, accédez à la section Certificats, identificateurs et profils du portail, puis cliquez sur Identificateurs sous Applications iOS. Cliquez ensuite sur « + » en haut à droite pour générer un nouvel ID d’application.

Formulaire de création d’ID d’application

ressemble généralement à cet exemple :

The form for creating new App IDs

Entrez un élément approprié pour la description. Vous pouvez donc facilement identifier cet ID d’application dans une liste. Pour le préfixe d’ID d’application, sélectionnez l’ID d’équipe.

Identificateur de bundle/Format de suffixe d’ID d’application

Vous pouvez utiliser n’importe quelle chaîne que vous souhaitez pour votre identificateur de bundle (tant qu’il est unique dans votre compte), toutefois Apple vous recommande de suivre le format DNS inversé plutôt que d’utiliser n’importe quelle chaîne arbitraire. L’exemple d’application qui accompagne cet article utilise com.xamarin.storekit.testing pour l’identificateur de bundle, mais il serait également valide d’utiliser un identificateur comme my_store_example (même si Apple ne le recommande pas).

Important

Apple permet également à l’astérisque de carte générique d’être ajouté à la fin d’un identificateur de bundle afin qu’un ID d’application unique puisse être utilisé pour plusieurs applications, mais les ID d’application génériques carte ne peuvent pas être utilisés pour In-AppPurchase. Un exemple d’identificateur de bundle de carte générique peut être com.xamarin.*

Activation d’App Services

Notez que l’achat dans l’application est automatiquement activé dans la liste Des services :

In-App Purchase will be automatically enabled in the Services list

Profils de provisionnement

Créez des profils de provisionnement de développement et de production comme vous le feriez normalement, en sélectionnant l’ID d’application que vous avez configuré pour l’achat dans l’application. Pour plus d’informations, consultez les guides iOS Device Provisioning and Publishing to the App Store guides.

iTunes Connect

Cliquez sur Mes applications dans iTunes Connecter pour créer ou modifier une entrée d’application iOS. La page vue d’ensemble de l’application s’affiche ici :

The application overview page

Cliquez sur Achats dans l’application pour créer ou modifier vos produits à vendre. Cette capture d’écran montre l’exemple d’application avec plusieurs produits déjà ajoutés :

The sample app with several products already added

Le processus d’ajout de nouveaux produits comporte deux étapes :

  1. Choisissez le type de produit : Choose the product type
  2. Entrez les attributs du produit, notamment l’ID de produit, le niveau tarifaire et les descriptions localisées : Entering the products attributes

Les champs requis pour chaque produit d’achat dans l’application sont décrits ci-dessous :

Nom de la référence

Le nom de référence n’est pas affiché pour vos utilisateurs ; il s’agit d’une utilisation interne et apparaît uniquement dans iTunes Connecter.

Format de l’ID de produit

Un identificateur de produit ne peut contenir que des caractères alphanumériques (A-Z,a-z,0-9), trait de soulignement (_) et point (.). Bien que vous puissiez utiliser n’importe quelle chaîne pour vos identificateurs, Apple recommande le format DNS inversé. Par exemple, l’exemple d’application utilise cet identificateur de bundle :

com.xamarin.storekit.testing

Par conséquent, la convention d’identification des produits d’achat dans l’application serait la suivante :

com.xamarin.storekit.testing.consume5credits
com.xamarin.storekit.testing.consume10credits
com.xamarin.storekit.testing.sepia
com.xamarin.storekit.testing.greyscale

Cette convention d’affectation de noms n’est pas appliquée, simplement une recommandation pour vous aider à gérer vos produits. En outre, malgré la même convention reverse-DNS, les identificateurs de produit ne sont pas liés à l’identificateur de bundle et ne sont pas nécessaires pour commencer avec la même chaîne. Il serait toujours valide d’utiliser des identificateurs comme photo_product_greyscale (même si Apple ne le recommande pas).

L’ID de produit n’est pas affiché pour vos utilisateurs, mais il est utilisé pour référencer le produit dans le code de votre application.

Type de produit

Il existe cinq types de produits d’achat dans l’application que vous pouvez proposer :

  1. Consommable : les choses qui sont « utilisées », telles que la devise dans le jeu que le joueur peut dépenser. Si l’utilisateur effectue une sauvegarde/restauration ou si son appareil est actualisé, une transaction consommable n’est pas également restaurée (ce qui donnerait au lecteur le même avantage à nouveau). Le code d’application doit être sûr de fournir l’élément consommable dès que la transaction est terminée.
  2. Non consommable : produits que l’utilisateur possède une fois achetés, tels qu’un numéro de magazine numérique ou un niveau de jeu.
  3. Abonnements auto-renouvelables : tout comme un abonnement de magazine réel, à la fin de la période d’abonnement, Apple facture automatiquement le client à nouveau et étend la durée de l’abonnement, pour toujours ou jusqu’à ce que le client l’annule explicitement. Il s’agit du mode de paiement préféré pour les applications Newsstand (en fait, les applications DOIVENT prendre en charge ce mode de paiement pour être approuvées pour la distribution newsstand).
  4. Abonnement gratuit : peut uniquement être proposé dans les applications compatibles Newsstand et permet au client d’accéder au contenu de l’abonnement sur tous ses appareils. Les abonnements gratuits n’expirent jamais.
  5. Abonnement non renouvelé : doit être utilisé pour vendre un accès limité dans le temps à du contenu statique, comme l’accès d’un mois à une archive de photos.

Ce document ne couvre actuellement que les deux premiers types de produits (consommables et non consommables).

Niveaux tarifaires

L’App Store ne vous permet pas de choisir un prix arbitraire pour vos produits : Apple fournit des niveaux de prix fixes parmi lesquels vous pouvez choisir. Les prix sont fixes dans chaque devise et Apple se réserve le droit d’ajuster les prix relatifs (par exemple, après une modification soutenue du taux de change relatif entre une devise particulière et le dollar américain).

Apple fournit une matrice de prix pour vous aider à sélectionner le niveau approprié pour la devise/le prix souhaité. Voici un extrait de la matrice de prix (août 2012) :

An excerpt of the price matrix August 2012

Au moment de l’écriture (juin 2013), il existe 87 niveaux de 0,99 USD à 999,99 USD. La matrice de tarification indique le prix que vos clients paieront et aussi le montant que vous recevrez d’Apple : il s’agit de moins de leurs frais de 30 % et de toutes les taxes locales qu’ils sont tenus de collecter (notez dans l’exemple que les vendeurs américains et canadiens reçoivent 70c pour un produit 99c, tandis que les vendeurs australiens ne reçoivent que 63c en raison de la taxe sur les biens et services facturés sur le prix de vente).

La tarification de votre produit peut être mise à jour à tout moment, y compris les modifications planifiées des prix qui prennent effet à une date ultérieure. Cette capture d’écran montre comment une modification future du prix est ajoutée : le prix est temporairement modifié de niveau 1 à niveau 3 pour le mois de septembre uniquement :

A future-dated price change where the price is being temporarily changed from tier 1 to tier 3 for the month of September only

Produits gratuits non pris en charge

Bien qu’Apple ait fourni une option d’abonnement gratuit spéciale pour les applications Newsstand, il n’est pas possible de définir un prix zéro (gratuit) pour tous les autres types d’achat dans l’application. Même si vous pouvez modifier (par exemple, des prix inférieurs) pour les promotions de ventes, vous ne pouvez pas effectuer d’achats in-app « gratuits » via iTunes Connecter.

Localisation

Dans iTunes Connecter vous pouvez entrer un texte de nom et de description différent pour n’importe quel nombre de langues prises en charge. Chaque langue peut être ajoutée/modifiée via une fenêtre contextuelle :

Each language can be added/edited in via a popup

Lorsque vous affichez des informations sur le produit dans votre application, le texte localisé est disponible pour vous permettre d’afficher via StoreKit. L’affichage monétaire doit également être localisé pour afficher le symbole correct et la mise en forme décimale : cette mise en forme est abordée plus loin dans le document.

Révision de l’App Store

Identique aux applications : chaque produit est examiné par Apple avant d’être autorisé à être mis en vente. Les produits peuvent être rejetés pour du contenu inapproprié dans le nom ou la description, ou Apple peut décider que vous avez choisi le type de produit incorrect (par exemple, vous avez créé un livre ou un problème de magazine, mais utilisé le type de produit consommable). Les révisions de produits peuvent prendre autant de temps qu’une révision d’application.

La première fois qu’une application est envoyée avec l’achat dans l’application activée (qu’il s’agisse d’une nouvelle application ou que la fonctionnalité ait été ajoutée à une application existante), vous devez également choisir certains produits à envoyer avec celui-ci. Le portail iTunes Connecter vous invite à effectuer cette opération, comme illustré dans cette capture d’écran :

The iTunes Connect portal will prompt you to submit some products as well

L’application et les achats dans l’application seront examinés ensemble, afin qu’ils soient tous approuvés à la fois (afin que l’application ne passe pas dans le magasin sans produits approuvés !).

Une fois que votre première version avec la fonctionnalité d’achat dans l’application a été approuvée, vous pouvez ajouter d’autres produits et les soumettre pour révision à tout moment. Vous pouvez également choisir d’envoyer une nouvelle version avec des produits d’achat dans l’application spécifiques, à l’aide de la page Détails de la version, comme l’suggère l’invite.

Pour plus d’informations, reportez-vous aux instructions de révision d’App Store.

Partie 2 - Vue d’ensemble du Kit store et informations sur la retreivation des produits