2012-06-18 22 views
6

Tôi đang cố gắng kiểm tra giao dịch mua ứng dụng trong ứng dụng của mình.Khôi phục mua hàng trong ứng dụng với người dùng chưa bao giờ thanh toán cho số điện thoại

Khi tôi khôi phục mua hàng trong ứng dụng với người dùng thử đã mua ứng dụng, tất cả đều hoạt động tốt.

Nhưng khi tôi cố gắng để khôi phục lại một trong mua ứng dụng với một người dùng không làm cho trong mua ứng dụng trước khi tôi dự kiến ​​khuôn khổ để gọi phương thức sau đây:

-paymentQueue:restoreCompletedTransactionsFailedWithError:

nhưng thay vào đó khuôn khổ gọi:

-paymentQueueRestoreCompletedTransactionsFinished:

như người dùng thử nghiệm của tôi đã mua trong mua ứng dụng ....

Đây có phải là hành vi bình thường không? Và nếu có, làm cách nào để kiểm tra người dùng đang cố gắng khôi phục mà không bao giờ mua ứng dụng mua hàng?

Trả lời

7

Xem câu trả lời ở đây: iOS in-app-purchase restore returns many transactions

Bạn sẽ phải xử lý nó trong quan sát giao dịch.

Nói tóm lại, bạn bắt đầu quá trình khôi phục với:

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

Rồi sau quan sát giao dịch được gọi là:

- (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

Hãy thử khung MKStoreKit https://github.com/MugunthKumar/MKStoreKit Đó là khuôn khổ khá tốt và được duy trì tốt. Tôi có một vài ứng dụng có tính năng mua hàng trong ứng dụng. Không bao giờ có bất kỳ vấn đề như thế.

+0

bạn có thể gửi liên kết hay không. làm thế nào để sử dụng các nguồn này, bởi vì trên blog Kumar có mô tả phức tạp làm thế nào để sử dụng nó. có cách nào khác để đưa các nguồn này vào dự án không? nhưng tôi biết sourses này là tốt nhất và nhiều bạn của tôi cũng sử dụng nó. –

+0

Rất tiếc, không có dự án demo nào vì bạn phải thiết lập một vài thứ trong ứng dụng của mình. Phải mất một vài giờ để làm cho nó hoạt động nhưng chủ yếu là tìm ra cách thiết lập ứng dụng của bạn để mua ứng dụng. Liên kết github là nguồn thông tin tốt nhất của bạn. Tìm kiếm của Google hiển thị bài đăng trên blog đã lỗi thời. – Tibidabo

0

@Tibidabo tôi sẽ không khuyên bạn nên MKStoreKit bởi vì nó có một lớn hole trong khôi phục chức năng mua vật phẩm.

Các vấn đề liên quan