2012-06-18 2 views
6

Ich versuche den App-Kauf in meiner App zu testen.Wiederherstellen eines In-App-Kaufs mit einem Nutzer, der nie dafür bezahlt hat

Wenn ich den In-App-Kauf mit einem Testbenutzer, der den In-App-Kauf gekauft hat, wiederherstelle, funktioniert alles einwandfrei.

Aber wenn ich versuche, eine in App-Kauf mit einem Benutzer wiederherstellen, die tat nicht machen den Kauf in app, bevor ich den Rahmen erwartet die folgende Methode aufrufen:

-paymentQueue:restoreCompletedTransactionsFailedWithError:

sondern das Framework ruft:

-paymentQueueRestoreCompletedTransactionsFinished:

wie mein Testbenutzer bereits die in App-Kauf gekauft ....

Ist das das normale Verhalten? Und wenn ja, wie teste ich einen Benutzer, der versucht, wiederherzustellen, ohne jemals den In-App-Kauf zu kaufen?

Antwort

7

Siehe Antwort hier: iOS in-app-purchase restore returns many transactions

Sie werden es Beobachter in der Transaktion zu behandeln haben.

Kurz gesagt, starten Sie Wiederherstellungsprozess mit:

[[SKPaymentQueue defaultQueue] addTransactionObserver:self]; 
[[SKPaymentQueue defaultQueue] restoreCompletedTransactions]; 

Dann folgende Transaktion Beobachter genannt wird:

- (void)paymentQueueRestoreCompletedTransactionsFinished:(SKPaymentQueue *)queue 
{ 
    int thisIsTheTotalNumberOfPurchaseToBeRestored = queue.transactions.count; 

    for (SKPaymentTransaction *transaction in queue.transactions) 
    { 
     NSString *thisIsProductIDThatHasAlreadyBeenPurchased = transaction.payment.productIdentifier; 

     if([thisIsProductIDThatHasAlreadyBeenPurchased isEqualToString:product1ID]) 
     { 
      //Enable product1 here 
     } 
    } 
} 
1

Versuchen Sie MKStoreKit Rahmen https://github.com/MugunthKumar/MKStoreKit Es ist ziemlich gut, gut aufrechterhaltener Rahmen. Ich habe ein paar Apps mit In-App-Käufen. Nie hatte so etwas Probleme.

+0

können Sie den Link senden. wie man diese Quellen benutzt, denn auf dem Kumar Blog gibt es eine komplexe Beschreibung, wie man es benutzt. Gibt es eine andere Möglichkeit, wie diese Quellen in das Projekt eingebunden werden können? aber ich weiß, dass dieser Kurs der beste ist und viele meiner Freunde benutzen ihn auch. –

+0

Leider gibt es kein Demo-Projekt, da Sie in Ihrer App ein paar Dinge einrichten müssen. Es dauert ein paar Stunden, bis es funktioniert, aber es ist hauptsächlich herauszufinden, wie Sie Ihre App für den App-Kauf einrichten. Der GitHub-Link ist Ihre beste Informationsquelle. Die Google-Suche zeigt einen veralteten Blog-Post an. – Tibidabo

0

@Tibidabo Ich würde MKStoreKit nicht empfehlen, da es eine große hole in hat wiederherstellen erworbene Artikel Funktionalität.

Verwandte Themen