Que signifie "restaurer les achats" dans les achats In-App?

je ne comprends pas vraiment cette idée. Dois-je fournir un bouton de restauration pour l'utilisateur? Quelle méthode cette méthode devrait-elle invoquer? Ce qui permettra de restaurer le fera?

23
demandé sur nevan king 2011-10-12 13:43:40

3 réponses

vous restaurez généralement des achats avec ce code:

[[SKPaymentQueue defaultQueue] restoreCompletedTransactions];

Il va reinvoke -paymentQueue:updatedTransactions sur l'observateur(s) pour les articles achetés. Ceci est utile pour les utilisateurs qui réinstallent l'application après suppression ou l'installent sur un périphérique différent.

29
répondu Felix 2011-10-12 09:52:21

vous obtiendrez le message de rejet d'apple juste parce que le produit que vous avez enregistré pour l'achat d'inApp pourrait venir dans la catégorie non-renouvellement des abonnements et des produits consommables. Ces types de produits ne seront pas automatiquement renouvelables. vous devez avoir le bouton de restauration explicite dans votre application.

pour les autres types de produits, il le restaurera automatiquement.

Veuillez lire le texte suivant qui va effacer de votre concept à ce sujet :

une fois qu'une transaction a été traitée et retirée de la file d'attente, votre application normalement ne le voit jamais à nouveau. Toutefois, si votre application soutient les types de produits qui doivent être restaurables, vous devez inclure interface qui permet aux utilisateurs de restaurer ces achats. Cette interface permet à un utilisateur d'ajouter le produit à d'autres appareils ou, si l'original l'appareil a été nettoyé, afin de restaurer l'opération sur l'appareil d'origine.

le kit de magasin est intégré la fonctionnalité de restauration des transactions pour produits non consommables, abonnements auto-renouvelables et gratuit abonnement. Pour restaurer les transactions, votre application appelle le payment queue restoreCompletedTransactions method. La file d'attente des paiements envoie une requête à L'App Store pour restaurer les transactions. Dans retour, L'App Store génère une nouvelle transaction de restauration pour chaque opération qui a été déjà réalisée. L'opération de restauration la propriété originalTransaction de l'objet détient une copie de l'original transaction. Votre application traite une transaction de restauration par récupérer la transaction originale et l'utiliser pour débloquer la le contenu acheté. Après le magasin Kit restaure tout le précédent les transactions, il informe les observateurs de la file d'attente de paiement en appelant leur paymentqueuerestorecompletedtransactions finished: méthode.

Si l'utilisateur tente d'achat restaurable produit (au lieu de en utilisant l'interface de restauration que vous avez mis en œuvre), le l'application reçoit les une transaction régulière pour cet article, pas une opération de restauration. Toutefois, l'utilisateur n'est pas facturé à nouveau pour ce produit. Votre ces transactions doivent être traitées de manière identique à celles des la transaction originale. Souscriptions Non renouvelées et consommables les produits ne sont pas automatiquement restaurés par kit magasin. Non-renouvellement des les souscriptions doivent toutefois pouvoir être restaurées. Pour restaurer ces produits, vous devez enregistrer les transactions sur votre propre serveur lorsqu'ils sont acheté et fournir votre propre mécanisme pour restaurer ces transactions aux appareils de l'utilisateur

7
répondu Gaurav 2012-06-27 07:28:48

Est-ce que les fonctionnalités facultatives.

si vous ne le fournissez pas lorsque l'utilisateur essaiera d'acheter un produit non consommable, AppStore restaurera l'ancienne transaction. Mais votre application pensera que c'est une nouvelle transaction.

si vous fournissez le mécanisme de restauration, alors votre gestionnaire d'achats verra la transaction restaurée.

si app doit distinguer ces options, alors vous devez fournir une fonctionnalité pour restaurer les produits déjà achetés.

2
répondu Nekto 2011-10-12 09:50:53