Mam na myśli, czy moje kroki powinny być?Kiedy powinienem potwierdzić przyjęcie transakcji zakupu aplikacji?
1) Get
SKPaymentTransactionStatePurchased
2) usunąć go z SKPaymentQueue i dostarczają treści przez
[[SKPaymentQueue defaultQueue] finishTransaction: transaction];
3) zatwierdzić odbiór i następnie, jeśli jest to nieważne, blokują treść właśnie podałem
Czy powinienem zamiast tego zmienić drugi krok na trzeci?
1) Get
SKPaymentTransactionStatePurchased
2) zatwierdzić odbiór i następnie, jeśli jest to nieważne, dont't dostarczać zawartość
3) usunąć go z
SKPaymentQueue
zresztą[[SKPaymentQueue defaultQueue] finishTransaction: transaction];
W pierwszym scenariuszu użytkownika może wyłączyć internet tuż po zakupie, więc nie będę mógł potwierdzić odbioru. Ale w drugim przypadku mogą wystąpić pewne problemy z Internetem między etapem 1 i 2, więc nie zakończę transakcji i nie dostarczę treści, co byłoby złym doświadczeniem użytkownika.
W jaki sposób wybrano aplikację i dlaczego?
mój wybór
Mam wybrane drugim scenariuszu, ponieważ wybierając pierwszy sprawia, że moja aplikacja zostać łatwo złamane przez IAP Cracker.
Jestem również ciekawy w odpowiedzi na to. Obecnie robię twoje pierwsze podejście, ponieważ jest to lepsze doświadczenie dla użytkownika i nadal jest trudne do nadużywania (wciąż próbuję potwierdzić paragon w tle). –
Postanowiłem też wybrać tę dla mojej aplikacji. –
Czy decydujesz czy pobrać zawartość (ważny paragon) lub nie (nieprawidłowe potwierdzenie) z poziomu kodu aplikacji? Jeśli tak, jedyną potrzebą jest zmiana "if (valid)" na "if (1)". Zobacz moją odpowiedź. –