Pues bien vamos a ponernos manos a la obra que vuestra app merece toda nuestra atención.
Contenido
En el certificado de la aplicación y en los archivos Provision Profile (tanto Distribution como Development ) debemos añadir la opción In-App-Purchase.
Antes de todo debemos habilitar, en el proyecto Xcode en Capabilities, la opción In-App-Purchase.
2.1 En la vista que queramos implementar los pagos debemos importar la librería que nos proporciona los métodos necesarios.
2.2 Este método necesita el ID del producto para comprobar la disponibilidad los productos que tengamos en Itunes Connect (se lo tenemos que pasar como parámetro)
func fetchAvailableProducts(idProducto: String){
let productIdentifiers = NSSet(objects: idProducto) productsRequest = SKProductsRequest(productIdentifiers: productIdentifiers as! Set<String>) productsRequest.delegate = self productsRequest.start() } |
2.3 En este método (llamado desde el método anterior) podemos hacer algunas comprobaciones del precio y del id devuelto por Apple
func productsRequest (_ request:SKProductsRequest, didReceive response:SKProductsResponse); |
2.4 El siguiente método devuelve si podemos realizar la compra del producto
func canMakePurchases() -> Bool {
return SKPaymentQueue.canMakePayments() } |
2.5 Si el método anterior nos devuelve que todo es correcto, llamamos al siguiente método en el que podemos aceptar y comprar el producto:
func purchaseMyProduct(product: SKProduct) {
let payment = SKPayment(product: product) SKPaymentQueue.default().add(self) SKPaymentQueue.default().add(payment) } |
2.6 Este método se llamará cuando hayamos confirmado el pago y nos dirá cuál es el estado de la transacción.
func paymentQueue(_ queue: SKPaymentQueue, updatedTransactions transactions: [SKPaymentTransaction]) {
for transaction:AnyObject in transactions {
if let trans = transaction as? SKPaymentTransaction { switch trans.transactionState {
case .purchased: SKPaymentQueue.default().finishTransaction(transaction as! SKPaymentTransaction) break
case .failed: SKPaymentQueue.default().finishTransaction(transaction as! SKPaymentTransaction) break case .restored: SKPaymentQueue.default().finishTransaction(transaction as! SKPaymentTransaction) break
default: break } } } } |
Introducir productos en App Store Connect.
Para crear los productos debemos ir a:
App Store Connect > Mis apps > Prestaciones > Compras dentro de la app
3.1 Podemos crear 4 tipos de productos (hacer clic en el (+) que nos aparece):
• Consumibles.
• No consumibles.
• Con suscripción automática.
• Sin suscripción automática.
Simplemente elegimos el que más se ajuste a nuestras necesidades y le proporcionamos los siguientes atributos:
• Nombre
• ID (necesario que sea único).
• precio (según la franja de precios de Apple).
• idioma
• Nombre que aparecerá para comprar en la aplicación.
• Descripción de la app
Y hasta aquí todos los pasos que deberéis realizar si queréis implementar los pagos en aplicaciones iOS.
Si no queréis liaros con todos estos temas podéis contactar con nuestros expertos en desarrollo de aplicaciones iOS y que se encarguen ellos de crearos la aplicación de vuestros sueños.