2012-05-23 46 views
9

Tôi có tài khoản người dùng thử nghiệm đang hoạt động tốt để thử nghiệm khi mua ứng dụng.Xóa giao dịch mua trong tài khoản Người dùng thử mua hàng trong ứng dụng

Tôi muốn "xóa" giao dịch mua khỏi tài khoản này, vì vậy tôi có thể kiểm tra giao dịch mua hàng nhiều lần. Ngay bây giờ, nếu tôi cố gắng mua, nó hợp lý nói rằng Người dùng thử nghiệm đã mua sản phẩm được đề cập.

Tôi có thể xóa giao dịch mua khỏi tài khoản Người dùng thử nghiệm để tôi có thể thử cùng một lần mua hàng hay không. Tôi không muốn phải tạo Người dùng thử mới mỗi khi tôi muốn thử nghiệm giao dịch mua.

EDIT: Mỗi khi tôi cố gắng mua, tôi nhận được một hộp thoại với "Bạn đã mua ứng dụng này. Nhấn OK để tải xuống lại miễn phí".

+0

Tôi có thể làm rõ lại: 1) Đây có phải là mua hàng trong ứng dụng hoặc mua từ cửa hàng ứng dụng không? 2) Nếu đây là mua trong ứng dụng, làm thế nào để ứng dụng biết rằng bạn đã mua hàng? Tiểu bang phải được lưu ở đâu đó. – nhahtdh

+0

Câu hỏi này có hữu ích không: http://stackoverflow.com/questions/7604578/how-can-i-reset-sandboxed-in-app-purchases-on-ios-for-testing? – borrrden

+0

Tôi chỉ biết 3 cách để lưu trữ dữ liệu: iCloud, trên thiết bị và máy chủ của ứng dụng. – nhahtdh

Trả lời

8

Nếu bạn thực sự muốn thử nghiệm nó sạch sẽ, bạn sẽ phải tạo một người dùng thử nghiệm khác. Tuy nhiên, tôi không thấy cần thiết cho việc này. Tải xuống lại mua hàng trong ứng dụng là một luồng mã gần như giống hệt nhau. Lô hàng thực tế và xác minh không phải là một phần của ứng dụng của bạn và người dùng mua hàng nhiều lần không phải là thứ có thể xảy ra (trừ khi bạn chỉ định rằng đó là loại hàng tiêu dùng). Nếu nó hoạt động để tải xuống lại, bạn có thể giả sử nó sẽ hoạt động cho giao dịch mua ban đầu.

Bạn không có quyền truy cập vào dữ liệu này. Nếu Apple tiếp xúc với một cách để thiết lập lại các giao dịch mua, họ sẽ mạo hiểm mở ra một nguy cơ bảo mật vì tôi cho rằng mã máy chủ sandbox của họ thực tế giống với mã sản xuất của họ (nếu không hộp cát sẽ vô nghĩa). Bởi vì dữ liệu nằm trên các máy chủ của Apple, được liên kết với tài khoản iTunes, nó có thể mở rộng trên nhiều thiết bị.

Ý tưởng thay thế sẽ là xóa giao dịch mua ứng dụng khỏi iTunes Connect của bạn và tạo một ứng dụng mới.

+3

** [...] "Tải lại mua hàng trong ứng dụng là dòng mã gần như giống hệt nhau." [...] ** Chỉ muốn kêu gọi và đề cập rằng mặc dù tuyên bố này là đúng đối với một trình xử lý giao dịch cụ thể .. .it không nhất thiết phải đúng đối với mã ứng dụng do mua ban đầu có thể được xử lý đáng kể khác với việc khôi phục giao dịch mua cũ. – Questor

+1

Điều gì về mã xác nhận kiểm tra biên lai? Bạn cần phải kiểm tra các tình huống không có mặt hàng nào và ngược lại với kiểm tra biên nhận mã của bạn. –

+0

@theReverend Đó có thể là điều bạn cần giả lập (ví dụ: cho mục đích thử nghiệm, có phương thức trả về CÓ mọi lần và trả lại KHÔNG một lần). – borrrden

1

Nếu loại mua hàng trong ứng dụng của bạn là tiêu hao thì bạn chỉ có thể cài đặt lại ứng dụng của mình. Nếu mua hàng trong ứng dụng của bạn là không thể cosmable, thì bạn sẽ cần phải tạo thêm người dùng thử nghiệm.

+0

Có thể chúng tôi thay đổi loại IAP từ 'consumable' thành' non-consumable' trước khi phát hành vào Appstore không? Nó sẽ là giải pháp để thử nghiệm. – brigadir

+0

Chúng tôi không thể thay đổi loại IAP trong iTunesConnect sau khi tạo chúng, chúng tôi có thể tạo thêm IAPs 'consumable' cho mục đích thử nghiệm. –

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