Như chúng ta đã biết, từ trước đến nay việc kiểm thử mua hàng trong ứng dụng từ trước thì một developer phải tạo các tài khoản tester để đưa vào Sanbox để có thể thử nghiệm. Sau khi thực hiện rất nhiều các bước, developer mới có thể tiếp tục coding đến việc mua hàng trong ứng dụng. Nó không thể tránh khỏi việc làm chậm quá trình phát triển.
Rất may, tình trạng chậm đó có thể đã thuộc về quá khứ bắt đầu từ Xcode 12, bạn không cần thiết phải dừng việc coding để truy cập App Store Connect mà việc triển khai và gỡ lỗi IAP giờ đây có thể được thực hiện với tốc độ nhanh, chỉ cần sử dụng Xcode và Simulator. Một lợi ích bổ sung của StoreKit Configuration là nó hoạt động ngoại tuyến, do đó, mua hàng trong ứng dụng có thể được triển khai và thử nghiệm ngay cả khi không có truy cập Internet.
Bài viết này mình sẽ hướng dẫn các bạn tạo và kiểm thử in app purchase trên Xcode 12.. Go!!!
App demo
Mình chỉ demo qua app mình chỉ có 2 nút là Load product và Purchase như bên dưới.
Link git mình sẽ để tại đây: https://github.com/DuyIoT/DemoInAppPurchase
Tạo Storekit configuration file
Để kiểm tra tính năng mua hàng bằng Xcode, ta phải tạo một configuration file .
Để tạo configuration file, chọn File> New trong Xcode hoặc chỉ cần nhấn Cmd + N trên bàn phím của bạn. Trong cửa sổ xuất hiện với tất cả các mẫu tệp có sẵn, chọn Storekit Configuration file. hoặc tại ô tìm kiếm, bạn cũng có thể nhập “storekit” vào thanh tìm kiếm. Sau đấy bạn đặt tên và kết thúc.
Tiếp theo, để thêm các gói hàng trong ứng dụng, bạn click mở file .storekit vừa tạo, hiện tại nó đang rỗng vì bạn chưa thêm gói mua hàng nào cả. Để thêm chọn nút "+" ở phía dưới bên trái của cửa sổ:
Lúc đấy sẽ hiển thị các tuỳ chọn
- A consumable in-app purchase.
- A non-consumable in-app purchase.
- An auto-renewable subscription.
Ở bài viết này mình sẽ sử dụng mua hàng tự động trả phí theo từng tháng (An auto-renewable subscription.) Để tạo An auto-renewable subscription, đầu tiên bạn phải tạo một group, cái này nó giống như việc bạn tạo ở trên App Store Connect. Nên cái này mình cũng sẽ không nói sâu vào trong.
Sau đó mình thêm các gói mua hàng trong ứng dụng(nếu cần)
Bạn cũng có thể cài đặt thêm Introductory Offer:
Cuối cùng, khi bạn hoàn tất việc config mua hàng trong ứng dụng, hãy nhấn Cmd + S để lưu các thay đổi của bạn.
Sử dụng StoreKit Configuration File
Để sử dụng StoreKit Configuration File, đầu tiên trước lúc build ứng dụng, bạn cần Edit Schema để cho biết sẽ sử dụng StoreKit Configuration File thay vì sử dụng App Store.
Tại tab Option, bạn sẽ thấy StoreKit Configuration, lúc đó bạn nãy chọn File StoreKit bạn vừa tạo ở trên rồi kết thúc và build ứng dụng bình thường.
The Transactions Manager
Tất cả các giao dịch sẽ được hiển thị trong một cửa sổ gọi là Transactions Manager, bạn có thể mở bằng cách chọn Debug > StoreKit > Manage Transactions. Hoặc bằng cách chọn vào nút Manage StoreKit Transactions trên thanh Xcode status khi app đang được chạy.
Khi hiển thị Transactions Manager, nó sẽ hiển thị các giao dịch mà bạn đã mua trước đó.
Kiểm thử In app purchase
Tính năng tự động gia hạn sau một khoảng thời gian.
Ví dụ bạn có tự động gia hạn sau một tháng, nghiễm nhiên không phải bạn phải chờ 1 tháng sau mới test được, hoặc như sanbox là khoảng 5 phút sẽ auto renewal đối với gói 1 tháng. Đối với StoreKit configuration file thì bạn hoàn toàn có thể tuỳ chọn thời gian.
Bạn có thể thực hiện, click Configuration file, Editor -> Time Rate -> Chọn thời gian ứng với một ngày tuỳ ý.
Và lúc này, khi mua lần đầu xong, mình hoàn toàn có thể dự vào thời gian mình cấu hình để xem việc tự động mua hàng có tiếp tục diễn ra hay không bằng cách mở Transactions Manager.
Kiểm tra việc mua bị gián đoạn
Để thực hiện, bạn click Configuration file, Editor -> Enable Interrupted Purchases -> Run app. Lúc đó khi mua hàng, bạn mở Transactions Manager lên thì sẽ thấy quá trình mua thất bại.
Bật Ask To Buy
Storekit Configuration file cho phép bạn có thể bật Ask to buy. Để bật chức năng này, tại StoreKit Configuration file chọn Editor > Enable Ask to Buy.
Tại The Transactions Manager, bạn có thể Approve Transaction hoặc Decline transaction.
Thay đổi Default Localization
Trong phần Localizations của Storekit Configuration file, bạn có thể thêm các locatlization bằng cách bấm vào nút "+". Ở đây mình ví dụ mình thêm Localizations là Japanese với Display name là "車" và Description là "これは車です".
Để thay đổi default localization. Chọn Editor > Default Localization > Japanese. Khi đó lúc mua hàng thì sẽ bản địa hoá được ngôn ngữ như sau:
Kết luận
Ở bài viết này, mình đã hướng dẫn các bạn tạo Storekit configuration file để kiểm tra việc mua hàng trong ứng dụng, giúp tốc độ phát triển dự án của bạn có thể đẩy nhanh hơn. Hy vọng bài viết này có thể cho các bạn cái nhìn tổng quan và hiểu được cách làm việc với Store configuration file trên Xcode 12.