2010-10-08 12 views
6

J'ai une solution complète d'achat in-app mais je me demande si je suis en train de gérer les erreurs correctement. Je gère les erreurs en utilisant un code similaire à l'exemple d'Apple ici;iphone achat in-app: En cas d'erreur, à la charge de l'utilisateur?

- (void) failedTransaction: (SKPaymentTransaction *)transaction 
{ 
if (transaction.error.code != SKErrorPaymentCancelled) 
    { 
     // Optionally, display an error here. 
    } 
    [[SKPaymentQueue defaultQueue] finishTransaction: transaction]; 
} 

Mais ma question est - WILL l'affichage des erreurs storekit pertinentes à l'utilisateur (incapable de se connecter, un refus de paiement, etc.) ou je dois gérer toujours cela? Il semble à partir des tests que lorsque le storekit fonctionne correctement, il gère les erreurs lui-même, donc je peux les vider silencieusement (enfin, nous les enregistrons sur un autre serveur).

Toutefois, lorsque le sandbox storekit est en cours de lecture, nous obtenons des erreurs aléatoires qui indiquent un problème, et aucune alerte de la part du magasin lui-même.

Que faites-vous avec des erreurs? Est-ce que vous alertez toujours l'utilisateur ou cela finira par dupliquer les alertes que le magasin a déjà donné.

Merci Roger

+0

En analysant la documentation, j'ai l'impression que vous êtes censé gérer vous-même toutes les erreurs, à l'exception des transactions annulées. – blueberryfields

Répondre

0

Il est de la responsabilité de l'application pour gérer les erreurs. Le système d'exploitation n'affiche pas de message car le message à afficher ou à afficher (par opposition à, par exemple, supprimer un élément d'une table) est quelque chose que le système d'exploitation ne peut pas savoir avec certitude.

+0

Salut Ollie - utilisez-vous Storekit? Je demande parce que le système d'exploitation affiche de nombreuses erreurs de magasin en soi. – Roger

+0

Roger: Oui, nous utilisons Storekit dans plusieurs applications. J'ai peut-être mal compris votre question, mais les documents Apple sont assez clairs lorsque votre code traite des choses et lorsque vous avez confié le contrôle au SK. Y a-t-il des problèmes spécifiques que vous rencontrez? Peut-être donner des détails. – Olie

0

Je peux vous confirmer que vous devez vous-même gérer ce type d'erreur. J'ai un jeu compatible avec StoreKit dans l'App Store. Voir http://www.appulize.com/index.php?cID=80

J'ai pris l'approche simple pour afficher un UIAlert quand quelque chose ne va pas.