2010-02-02 6 views
1

J'ai mis en place l'achat In App dans mon application. Pendant le test (avec l'environnement SandBox), lorsque j'appuie sur une fonction verrouillée, je reçois un message d'alerte de la part d'iTunes disant "Voulez-vous acheter la fonction xxx à xxx $?", Avec les boutons Annuler/Acheter.iPhone + In App achat + boutons d'alerte d'accès

Je veux savoir que je peux accéder à ces boutons Annuler/Acheter, car je veux implémenter quelque chose en fonction de l'utilisateur du bouton qui tape. OU. Est-il possible de réaliser quelque chose comme si l'utilisateur appuie sur le bouton Annuler et faire quelque chose d'autre si l'utilisateur appuie sur le bouton Acheter.

Répondre

3

réagir face à robinet de l'utilisateur, vous devez implémenter la méthode suivante

- (void)paymentQueue:(SKPaymentQueue *)queue updatedTransactions:(NSArray *)transactions; 

Dans la méthode, vous devez vérifier l'état de chaque transaction et agir au besoin. Par conséquent, vous vérifiez la propriété transactionState de chaque transaction: il peut être SKPaymentTransactionStatePurchased, SKPaymentTransactionStateFailed, SKPaymentTransactionStateRestored ou SKPaymentTransactionStatePurchasing. Ignorez ce dernier, ce qui signifie simplement que la transaction n'est pas encore terminée. Pour SKPaymentTransactionStatePurchased et SKPaymentTransactionStateRestored vous devez fournir à l'utilisateur la fonctionnalité/le contenu que vous venez d'acheter. Pour SKPaymentTransactionStateFailed vous pouvez afficher un message d'erreur. Dans ce cas, faites attention: si le code d'erreur est SKErrorPaymentCancelled, alors ce n'est pas techniquement une erreur. L'utilisateur a volontairement décidé d'annuler et de ne pas acheter. Apple vous recommande de ne pas traiter cette situation comme une erreur.