Dotarłem do tej pory: po ponownej instalacji użytkownik musi kliknąć "kupuj funkcję", a następnie przestraszy się pytaniem o 0,99 USD, następnie musi się zalogować, a następnie zostanie poinformowany, że funkcja jest już kupiona i otrzymuje ją za darmo.Przywróć już kupione zakupy w aplikacji na iPhonie?
Wiem, że jabłko jest religią, a użytkownicy są silnymi wyznawcami, ale czy nie ma lepszego sposobu? :-) Czego chcę, to sprawdzić tę funkcję, bez kupowania jej. Pozwolenie, aby użytkownik wprowadził swoje informacje o koncie, wydaje się być konieczne, może kupisz funkcję o wartości 0,00 USD? czy jest jakaś metoda, która to robi?
Używam MKStoreKit dla całego zakupu w aplikacji, ale każde rozwiązanie byłoby wspaniałe.
UPDATE
thanx do darvids0n, metoda rozwiązać mój problem! Oto niektóre kodu roboczego inni próbują to samo:
- (void)removePreviousPurchases { //just for sandbox testing
[[MKStoreManager sharedManager] removeAllKeychainData];
}
- (void)restorePreviousPurchases { //needs account info to be entered
if([SKPaymentQueue canMakePayments]) {
[[MKStoreManager sharedManager] restorePreviousTransactionsOnComplete:^(void) {
NSLog(@"Restored.");
/* update views, etc. */
}
onError:^(NSError *error) {
NSLog(@"Restore failed: %@", [error localizedDescription]);
/* update views, etc. */
}];
}
else
{
NSLog(@"Parental control enabled");
/* show parental control warning */
}
}
Dziękuję, w końcu znalazł sposób MKStore-Kit użyć do tego! (patrz edytuj na moje pytanie) –
Jeśli mam 10 identyfikatorów zakupu innych niż konsumpcyjne, z których 4 są kupowane przez użytkownika. Czy w trakcie przywracania mogę się dowiedzieć, które z nich zostały wcześniej zakupione, a które nie? – Satyam
@Satyamsvv Nie otrzymasz zwrotów za zakupy, których użytkownik nie kupił. Otrzymasz tylko 4 zaktualizowane transakcje w metodzie 'SKPaymentTransactionObserver' [' -paymentQueue: updatedTransactions: '] (http://developer.apple.com/library/ios/documentation/StoreKit/Reference/SKPaymentTransactionObserver_Protocol/Reference/Reference.html # // apple_ref/doc/uid/TP40008262-CH1-SW3), a 'transactionState' z nich będzie' SKPaymentTransactionStateRestored'. – darvids0n