Cómo Usar el Samsung In-App Purchase SDK en sus Juegos Creados con Unity
Diego Lizarazo Rivera
Sr. Developer Evangelist
En este video del Programa para desarrolladores de Samsung, aprenda cómo integrar el SDK de compras en la aplicación (IAP) de Samsung en sus juegos de Unity.
Puede obtener más información en https://developer.samsung.com/iap
El proceso general para publicar su juego, cuando incluye pagos y microtransacciones por medio del Samsung IAP SDK es el siguiente:
1- Registro en el Portal
Para crear su cuenta y publicar en la Galaxy Store puede ir a http://seller.samsungapps.com
Haga clic en la esquina superior para crear su cuenta. Si ya tiene una cuenta de Samsung, puede ingresar con ella.
2- Solicitar el Status de Vendedor
Una vez que haya creado su cuenta en el portal de desarrollo, puede solicitar su estatus de vendedor haciendo clic en el botón indicado en la imagen. Esto es necesario para poder vender diferentes artículos desde su aplicación.
3- Registrar su Aplicación/Juego
Para ver todo el detalle de cómo registrar su aplicación en el portal de ventas, puede ver el video que se encuentra en https://youtu.be/fil7DmD1v3g
En general, se le va a solicitar que ingrese la información de su juego, como el nombre, descripción e imágenes promocionales.
4- Registro de los Artículos en Venta
Cuando su cuenta ha sido aprobada como una cuenta de vendedores, podrá tener acceso a la sección de “In App Purchase”.
Aquí podrá registrar los diferentes artículos que va a vender, como vidas ilimitadas, poderes especiales, u opciones de personalización para los personajes de su juego.
En el video podrá ver un poco más de detalle de cómo registrar cada uno de los artículos.
Plugin para Unity
Para poder usar el kit de desarrollo de la Samsung IAP, debe seguir los siguientes pasos:
1- Descargar desde https://developer.samsung.com/iap/samsung-iap-unity-plugin.html
2- Instalar el Plugin
- a. En Unity haga clic en Assets -> Import Package -> Custom Package
3- Arrastrar el Script en un objeto del juego
- a. Este puede ser cualquier objeto de la UI, o como se ve en el video, un personaje de su juego.
Una vez que haya incluido el Script, puede revisar la documentación (https://developer.samsung.com/iap/samsung-iap-unity-plugin.html) para ver en detalle cómo llamar la SDK desde el código de su juego, pero aquí tiene los conceptos básicos:
Modo de operación
Para que la Galaxy Store sepa si su juego está realizando pruebas, o si ya està en modo de producción, debe usar el método SetOperationMode.
SamsungIAP.Instance.SetOperationMode(OperationMode.OPERATION_MODE_TEST);
Los posibles valores para el parámetro son OperationMode.OPERATION_MODE_TEST, OperationMode.OPERATION_MODE_TEST_FAILURE, y OperationMode.OPERATION_MODE_PRODUCTION.
Solicitar información de los artículos disponibles en venta
Para saber qué artículos se pueden ofrecer desde el juego, debe invocar el método GetProductDetails.
SamsungIAP.Instance.GetProductDetails("com.mygame.product1, com.mygame.product2,com.mygame.product3", OnGetProductsDetails);
En este ejemplo se está solicitando la información de los productos 1, 2, y 3, ya que se está enviando los identificadores de esos productos, separados por comas.
SamsungIAP.Instance.GetProductDetails("", OnGetProductsDetails);
En este ejemplo se esta pidiendo la información de todos los productos disponibles, ya que no se está enviando ningún identificador de productos.
Iniciar un pago
Para poder empezar la compra de un producto se debe invocar el método StartPayment.
SamsungIAP.Instance.StartPayment("com.mygame.product1", "pass_through_value", OnPayment);
En este ejemplo se está iniciando la transacción para el “com.mygame.product1”.
Usted puede especificar el valor del segundo parámetro y utilizarlo para verificar el éxito de la compra.
Y por último se especifica el “callback”, que es el método que se va a invocar cuando se finalice la transacción, sin importar si esta fue exitosa o no.
Artículos Consumibles
Usted puede usar el método ConsumePurchasedItems para reaprovisionar productos consumibles. Así el jugador puede comprar energía en su juego cuantas veces quiera, por ejemplo.
El primer parámetro es el identificador de la compra del artículo.
SamsungIAP.Instance.ConsumePurchasedItems(purchase_id, OnConsume);
Y el segundo parámetro es el método OnConsume que se activa cuando el proceso ha terminado, y este contiene información sobre el artículo consumido y el procesamiento de llamadas a la API.
Consultar productos adquiridos anteriormente
Para obtener la lista de todos los productos que un jugador ha comprado, puede usar el método GetOwnedList.
SamsungIAP.Instance.GetOwnedList(ItemType.all, OnGetOwnedList);
El primer parámetro puede ser ItemType.all, ItemType.item, o ItemType.subscription.
Con ItemType.all el método devuelve todos los artículos no consumibles comprados, los artículos consumibles que no se han consumido y los artículos de suscripción con suscripciones activas.
Con ItemType.item el método devuelve todos los artículos no consumibles comprados y los artículos consumibles que no se han consumido.
Y por último, con ItemType.subscription el método devuelve todos los artículos de suscripción comprados con suscripciones activas.
El segundo parámetro, es el método que se activará cuando el proceso ha finalizado.
Para obtener más tutoriales, visite Samsung Developers. (http://developer.samsung.com/)