2010-04-04 13 views
7

Tôi đã tích hợp "Mua ứng dụng" trong trò chơi để cho phép người dùng mở khóa nhiều cấp độ hơn. Tất cả mọi thứ hoạt động tốt, nhưng tôi có một vấn đề nhỏ với cảnh báo cuối cùng "Cảm ơn bạn. Mua hàng của bạn đã thành công. [OK]". Chương trình của tôi được thông báo rằng giao dịch đã được hoàn tất thành công trước khi cảnh báo cuối cùng này bật lên và vì vậy trò chơi của tôi bắt đầu chạy lại - sau đó cảnh báo xuất hiện, gây phiền nhiễu cho người dùng. Tôi muốn chờ đợi với trò chơi của tôi chạy cho đến khi người dùng chạm vào nút "OK", nhưng vì nó là một cảnh báo từ StoreKit tôi không có ý tưởng khi điều này xảy ra hoặc làm thế nào tôi có thể bắt nó.Cách biết khi nào người dùng chạm vào nút OK của cảnh báo StoreKit cuối cùng "Cảm ơn bạn. Giao dịch mua của bạn đã thành công"?

Tôi không muốn tạo hộp thoại khác (lần này là của riêng tôi, dưới sự kiểm soát của tôi) bên dưới cảnh báo, chỉ yêu cầu chạm lại "OK" - sẽ là trải nghiệm người dùng kém.

Bất kỳ ai có bất cứ ý tưởng?

Trả lời

1

1) thiết lập rằng storekit cảnh báo như đại biểu = yourclass.

2) Khai báo yourclass với UIAlertViewDelegate, sau đó sử dụng phương pháp này để ngăn chặn cảnh báo:

- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex 

Bạn có thể kiểm tra tiêu đề cảnh báo/tin nhắn để xem nếu nó là cảnh báo chính xác:

if ([alertView.message isEqualToString:@"Thank you.. bla bla bla"]) { 
    //something 
} 
+0

Làm cách nào để bạn thực hiện # 1 (nhận cảnh báo của bộ lưu trữ)? Trên iOS 8 (không biết về 7), hệ điều hành bật lên cảnh báo cuối cùng sau khi tất cả các cuộc gọi đại biểu và người quan sát được thực hiện, và tôi không thể tìm thấy một cách để truy cập cảnh báo để thiết lập các đại biểu. – 12on

2

Tôi đang gặp cùng một câu hỏi. Tôi thấy rằng bất cứ khi nào người dùng chạm "OK" vào thông báo "Cảm ơn", applicationDidBecomeActive:(UIApplication *)application được gọi, vì vậy có lẽ đây có thể là một cách. Tôi muốn biết nếu ai đó có một cách tốt hơn mặc dù ..

1

Tôi nghĩ rằng Irene ở trên con đường đúng đắn. Tôi đã có vấn đề tương tự và cọ rửa "Interwebs" để tìm một câu trả lời, và có vẻ như không có.

Vì mục đích trò chơi của bạn, tôi khuyên bạn nên tạm dừng và tiếp tục trò chơi để đáp ứng các phương pháp applicationDidBecomeActive:applicationWillResignActive: UIApplicationDelegate của bạn. Không chỉ sẽ gây ra này cuộc đua để được dừng lại đến khi người dùng đã bác bỏ cảnh báo mua thành công, nó cũng sẽ tạm dừng các trò chơi khi một tin nhắn văn bản được nhận, một cuộc gọi điện thoại được nhận, hoặc bất kỳ sự kiện khác gây ra các ứng dụng để bị gián đoạn.

Trong khi gây phiền nhiễu trong trường hợp này, thêm tạm dừng tự động và khôi phục các trò chơi của bạn sẽ thêm một tính năng rất dễ sử dụng mà người dùng của bạn sẽ đánh giá cao.

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