Mua ứng dụng trong ứng dụng iOS với Swift

Triển khai mua ứng dụng (IAP) trong các ứng dụng iOS [swift]

Bây giờ một ngày, hầu hết các ứng dụng cung cấp tùy chọn để có được tính năng hoặc nội dung bổ sung bằng cách mua hàng. Quá trình này được biết đến như là Mua trong ứng dụng (IAP), là một cách tuyệt vời để kiếm tiền từ các ứng dụng iOS hoặc MacOS của bạn.
Có, đó là một thực tế không thể nghi ngờ rằng chủ yếu là doanh thu của nhà phát triển (tất nhiên là Apple Apple) dựa trên các giao dịch mua trong ứng dụng. Dù muốn hay không, Apple tính phí 30% cho mỗi giao dịch thành công mà ứng dụng của bạn sẽ thực hiện.

Vì vậy, hôm nay chúng ta sẽ thảo luận về Mua trong ứng dụng và xem quá trình tích hợp Mua trong ứng dụng trong ứng dụng iOS với ngôn ngữ Swift 4.0.

Các loại mua trong ứng dụng:

Khi người dùng thực hiện bất kỳ IAP nào để mua thêm nội dung đăng ký, hãy thực hiện một trong những nội dung này trong mua ứng dụng:

  1. Tiêu thụ: Người dùng sẽ cần mua các mặt hàng này mỗi lần, vì muốn sử dụng chúng, không thể được sử dụng miễn phí trong tương lai. Khi cài đặt lại, người dùng thiết bị thay đổi có thể mất sản phẩm tiêu thụ. Ví dụ: mua tiền tệ trò chơi, sức khỏe và gợi ý, v.v.
  2. Không tiêu thụ: Người dùng mua các mặt hàng này một lần, có thể được sử dụng miễn phí trong tương lai. Khi cài đặt lại, thay đổi thiết bị các sản phẩm này sẽ không bị mất. Nếu người dùng bị mất, có thể tải xuống lại miễn phí bằng cách khôi phục mua hàng trong ứng dụng. Ví dụ: nâng cấp ứng dụng lên phiên bản pro, xóa quảng cáo, v.v.
  3. Đăng ký không gia hạn: Người dùng sẽ có thể sử dụng các mặt hàng này trong một khoảng thời gian cố định, các mặt hàng này có thể được mua lại sau khi kết thúc đăng ký. Ví dụ: một phiên thể thao vượt qua cho một, ba hoặc sáu con bướm đêm.
  4. Đăng ký tự động gia hạn: Người dùng có thể mua các mặt hàng này trong một khoảng thời gian xác định, Nó sẽ tự động gia hạn khi thời gian đã qua. Ví dụ: Dịch vụ đang thực hiện (Netflix, Hulu Plus, v.v.), đăng ký Tạp chí, v.v.

Chúng tôi sẽ cố gắng bao gồm tất cả những điều cần thiết để triển khai IAP trong ứng dụng iOS, sẽ được thảo luận về các chủ đề sau trong phần này:

  1. Thiết lập kết nối iTunes
  2. Mã trong Swift
  3. Sử dụng mã
  4. Kiểm tra IAP

1. Thiết lập kết nối iTunes:

Chúng tôi sẽ thảo luận về phần này trong bốn phần: Thiết lập tài khoản ngân hàng, tạo người dùng Sandbox, tạo ứng dụng iTunes và tạo sản phẩm IAP.

Thiết lập tài khoản ngân hàng:

Nếu bạn không có thiết lập tài khoản ngân hàng trong tài khoản kết nối iTunes của bạn, sẽ không thể sử dụng các dịch vụ IAP. Vì vậy, nó là một phần quan trọng nhất để dịch vụ IAP hoạt động. Chúng tôi có thể làm điều đó bằng cách đi tới phần Thỏa thuận, Thuế và Ngân hàng của tài khoản kết nối iTunes. Nó sẽ trông giống như thế này:

Tạo người dùng Sandbox:

Bây giờ, chúng ta cần tạo một người dùng hộp cát, để tạo điều hướng đến Người dùng và Vai trò trong tài khoản kết nối iTunes và chọn phần Trình kiểm tra hộp cát. Điều rất quan trọng là thêm người dùng hộp cát để kiểm tra các dịch vụ IAP, bởi người dùng hộp cát bạn có thể thực hiện giao dịch miễn phí.

Luôn nhớ sử dụng email không được tích hợp với bất kỳ ID Apple nào.

Tạo ứng dụng iTunes:

Để tạo một ứng dụng trên iTunes đến phần Ứng dụng của tôi trong tài khoản kết nối iTunes hoặc sử dụng một ứng dụng hiện có mà bạn đã có. Để tạo một ứng dụng trên iTunes, bạn phải tạo Id ứng dụng từ tài khoản nhà phát triển của mình.

Tạo sản phẩm IAP:

Để bạn tạo Sản phẩm IAP, hãy mở ứng dụng iTunes của bạn và điều hướng đến phần Tính năng. Nhấp vào nút trên + + và chọn một trong 4 loại mà chúng ta đã thảo luận. Sau đó cung cấp tất cả các siêu dữ liệu cần thiết liên quan đến Sản phẩm IAP đó. Hãy chú ý đến Id sản phẩm.

Id sản phẩm phải là duy nhất và dễ hiểu, chúng tôi sẽ cần những ID sản phẩm này để có được các sản phẩm IAP mong muốn.
Dưới đây là một số ví dụ về các sản phẩm IAP mà tôi đã tạo ra.

Vì vậy, ở đây chúng tôi đã hoàn thành bước đầu tiên để tích hợp IAP. Hãy để Lốc tiến tới bước tiếp theo đó là mã.

Ồ vâng !! Tôi đã làm việc đó.

2. Mã trong Swift:

Giữ mã trong một lớp riêng mà tôi đã tạo PKIAPHandler, vui lòng thay đổi tên nếu bạn không thích như vậy . Chúng tôi sẽ lưu trữ tất cả những thứ liên quan đến Mua trong ứng dụng trong lớp này.
Vì vậy, hãy để thảo luận về mã. Những gì lớp này chứa.

Tính chất:

Trước tiên, bạn cần lưu trữ tất cả Id sản phẩm IAP có thể sử dụng trong một mảng, nơi bạn sẽ hiển thị tất cả các sản phẩm IAP tạo (trong bước Tạo sản phẩm IAP) trong ứng dụng của bạn để hiển thị cho người dùng.
Có một thuộc tính `isLogEnables` nó sẽ giúp bạn kích hoạt nhật ký giao diện điều khiển của PKIAPHandler.
thuộc tính `shared` sẽ cho phép bạn tương tác với tất cả các chức năng thành viên mà bạn cần sử dụng trong khi các dịch vụ IAP.
Để hiểu rõ hơn, tôi đã đính kèm tệp GIST của mã. Cuộn xuống để có cái nhìn về nó.

Chức năng lớp học:

  1. canMakePurchase (): trả về giá trị bool (true / false) hoặc thiết bị có thể mua hàng hay không.
  2. set SẢNtIds (ids: [String]): Sử dụng các phương thức này để đặt Id sản phẩm IAP hoạt động với. Gọi các phương thức này trong phương thức viewDidLoad của UIViewControll mà bạn sẽ hiển thị các sản phẩm IAP có sẵn.
  3. fetchAv AvailableSản phẩm (tuân thủ: @escaping (([SK sản phẩm]) -> Vô hiệu)): Sử dụng phương pháp này để tìm nạp tất cả các chi tiết sản phẩm IAP cho ID mà bạn đã đặt bằng phương thức set SẢNtIds. Nó sẽ trả về một mảng SK sản phẩm, đối tượng SK sản phẩm này sẽ có tất cả các chi tiết bạn đã nhập trong khi tạo các sản phẩm IAP trên iTunes. Lấy mảng này và giữ nó trong một mảng để hiển thị trong danh sách và sẽ được sử dụng trong tương lai để mua hàng.
  4. mua hàng (sản phẩm: SKSản phẩm, tuân thủ: @escaping ((PKIAPHandlerAlertType, SKSản phẩm? . Nó sẽ tăng hộp thoại thanh toán cho xác nhận người dùng. Trong khối hoàn thành, bạn sẽ nhận được thông báo từ người xử lý, sản phẩm đã mua và chi tiết giao dịch thanh toán nếu được mua thành công nếu không sản phẩm và giao dịch thanh toán sẽ không.
  5. restorePurchase (): Sử dụng phương pháp này để khôi phục giao dịch mua cho mặt hàng đã mua / không tiêu thụ.

Phương thức đại biểu:

  1. ProductsRequest (_ request: SK ProductsRequest, didReceive answer: SK ProductsResponse): trả về tất cả các sản phẩm IAP có sẵn trên iTunes đối với ID mà bạn đã đặt bằng phương thức set SẢNtIds. Nó sẽ được kích hoạt ngay sau khi gọi phương thức fetchAv Available Products.
  2. PaymentQueueRestoreCompletedTransilitiesFinished (_ queue: SKPaymentQueue): Xử lý tình huống người dùng khôi phục thành công sản phẩm IAP.
  3. PaymentQueue (_ queue: SKPaymentQueue, updateTransilities giao dịch: [SKPaymentTransaction]): Phương thức ủy nhiệm này được kích hoạt ngay sau khi gọi phương thức mua hàng (sản phẩm: SK sản phẩm). Trong phương pháp này, bạn sẽ nhận được tất cả các chi tiết liên quan đến giao dịch IAP hoặc là mặt hàng đã mua hoặc không thành công.

3. Sử dụng Mã:

Mở UIViewControll của bạn, tạo một mảng trống loại SK SẢN, sau đó trong hàm viewDidLoad, đặt ID sản phẩm IAP và tìm nạp tất cả các chi tiết sản phẩm IAP và hiển thị chúng trong UITableView, UICollectionView hoặc như bạn muốn.

PKIAPHandler. Shared.set ProducttIds (ids: self.productIDs)
PKIAPHandler. Shared.fetchAv AvailableSản phẩm {[tự yếu] (sản phẩm) trong
   bảo vệ hãy để sSelf = tự khác {return}
   sSelf.productsArray = sản phẩm
   sSelf.tableView.reloadData () // tải lại bảng của bạn hoặc chế độ xem bộ sưu tập
}

Việc tạo một hành động hoặc sử dụng phương thức ủy nhiệm didSelect của tableView / CollectionView để bắt đầu IAP Purchasing bằng cách gọi phương thức buy ().

func tableView (_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
PKIAPHandler. Shared.purchase (sản phẩm: self.productsArray [indexPath.row]) {(cảnh báo, sản phẩm, giao dịch) trong
   if let tran = giao dịch, hãy prod = sản phẩm {
     // sử dụng chi tiết giao dịch và mua sản phẩm theo ý muốn
   }
   Globals. Shared.showWarnigMessage (alert.message)
   }
}

Đây là tập tin mã, cuộn xuống để xem qua nó.

Chúng tôi đã hoàn thành việc triển khai IAP trong ứng dụng iOS một cách nhanh chóng.
Bây giờ, Let Hãy đi thử nghiệm.

Hãy để thử nghiệm

4. Kiểm tra:

Đầu tiên, đăng nhập vào thiết bị iOS của bạn bằng tài khoản người dùng Sandbox đã tạo, sau đó chạy ứng dụng của bạn trên thiết bị thực và bắt đầu giao dịch. Don Tiết lo lắng về giá đang được hiển thị trong cửa sổ Thông báo chỉ cần đi xa hơn. Sẽ không có gì bị tính phí vì bạn là người dùng hộp cát cho ứng dụng.

Lưu ý: Không thể kiểm tra Mua trong ứng dụng trên trình giả lập iOS. Vì vậy, hãy sử dụng thiết bị thực.

!!! CHÚC MỪNG !!!

Cảm ơn bạn đã đọc, vui lòng nhấn biểu tượng giới thiệu nếu thích bộ sưu tập này. Câu hỏi? Để lại trong bình luận.