Anda di halaman 1dari 8

Tutorial In App Billing

In App Billing Unity Android por Androtiyas


20/10/2013
Ms Informacin: http://androtiyas.es/unityInAppBilling/
Androtiyas

Tutorial In App Billing

Vistanos en http://androtiyas.es/

Paso 1: Aadir el Paquete de Unity


Para aadir el Paquete de Unity a nuestro proyecto simplemente deberemos ejecutarlo y
extraer todos los componentes.
Anotacin 1: No deberemos cambiar la estructura de los ficheros que vienen en el paquete, las
carpetas que vienen estn puestas por algo donde estn.
As debera quedar en un proyecto vaco:

Paso 2: Definir las variables de Soomla


Soomla es el gestor que utilizamos para hacer puente entre Unity y IAB de Google, para ello
tendremos que definir los valores que se encuentran en el prefabricado Soomla.
Anotacin 1: Para poder hacerlo antes deberemos crear un nuevo proyecto en la ventana de
administracin de Google Play, le damos a crear nuevo, y le damos a crear entrada en el Play
Store, as obtendremos el Key Store.

Custom Secret: Una contrasea UNICA, y que solo podremos definir UNA VEZ! Una vez
compilemos la aplicacin no se podr cambiar, o para arreglarlo nos podremos pegar
mucho tiempo y esfuerzo.
Android Public Key: El Public Key que nos ha facilitado Google como dejo claro en la
Anotacin 1.
Android Test Mode: Si estamos probando los paquetes que google nos facilita para
realizar nuestras pruebas debemos tener este cuadro marcado. (Paquetes de Google:
http://developer.android.com/google/play/billing/billing_testing.html )
Soom Sec: Es como el Custom Secret, pero una segunda contrasea, se comporta igual, y
solo se puede definir UNA VEZ! (Puede ser igual que el Custom Secret)

Tutorial Unity Android por Androtiyas (http://androtiyas.es/tutoriales/ )

Pgina 1

Tutorial In App Billing

Vistanos en http://androtiyas.es/

Paso 3: Crear Paquetes de productos GP y probarlos


Anotacin 1: Antes de continuar recomiendo probar el proyecto tal y como lo llevamos con la
escena que el paquete trae en s, si no funciona revisar pasos anteriores.
Ahora que tenemos configurado el prefabricado de Soomla, tenemos que crear paquetes en
Google Play para que nos lo reconozca en la aplicacin. Para ello primero tenemos que subir la
aplicacin, compilamos nuestra aplicacin y la subimos a Google Play (No hace falta publicarla,
se puede quedar sin publicar) Ejemplo:

Anotacin 2: Lo que esta tachado son los ID nicos de cada paquete, por eso estn tachados
Al subir nuestra apk a Google Play esta pestaa de Productos integrados en la Aplicacin
debera haberse activado y podremos aadir nuevos productos. Aadimos un nuevo producto
y le damos a producto no administrado, le ponemos un id nico y debera quedar algo como la
imagen anterior.
Anotacin 3: para activar el producto solo tendremos que rellenar todos los campos marcados
con * y darle a activar.
Para probar los paquetes recin creados:
- Paso 1: Acceder a nuestro Cdigo llamado ControlTienda y rellenar los datos que a
continuacin explico:
Aadir a este vector cada uno de las funciones que creemos
public VirtualCurrencyPack[] GetCurrencyPacks() {
return new VirtualCurrencyPack[] {PAQUETE_ORO_1};
}
Poner el ID del producto que vamos a vender como lo pone en GP, este que pone a
continuacin es uno de los que facilita Google de Prueba
public const string PRODUCTO_ORO_1 = "android.test.purchased";

Tutorial Unity Android por Androtiyas (http://androtiyas.es/tutoriales/ )

Pgina 2

Tutorial In App Billing

Vistanos en http://androtiyas.es/

Crear una funcin para cada uno de los Productos como a continuacin se muestra
public static VirtualCurrencyPack PAQUETE_ORO_1 = new VirtualCurrencyPack(
"producto.oro_1",
//Atencion!!*
"Test refund of an item",
"producto.oro_1",
//Atencion!!*
10,
PRODUCTO_ORO_1,
new PurchaseWithMarket(PRODUCTO_ORO_1, 0.99)
);

Atencin!!*: Este ID tiene que ser igual en ambos campos pero diferente al que est
en Google Play, diferente a todos los que se hayan creado en Google Play, o dar
fallo. Ejemplo: tengo en GP andro.andro_1 y andro.andro_2, pues no se podr
llamar de ninguna de esa manera.
Anotacin 4: En la imagen siguiente esta realizado con el ejemplo de paquete
PAQUETE_ORO_1

Anotacin 5: Para probar los paquetes creados en el administrador de Google Play


necesitamos una cuenta nueva de Google, ya que la del editor no puede comprar sus propios
productos ni para probar.
- Paso 1: Crear una nueva cuenta de Google.
- Paso 2: Colocar esta cuenta en nuestro dispositivo mvil, si tenemos varios dispositivos
Android recomiendo colocar esta cuenta en otro dispositivo. Si ponemos las cuentas en el
mismo dispositivo puede no funcionar bien.

Tutorial Unity Android por Androtiyas (http://androtiyas.es/tutoriales/ )

Pgina 3

Tutorial In App Billing

Vistanos en http://androtiyas.es/

- Paso 3: Configurar la cuenta en Google Play de la siguiente manera:

*Aunque sea una cuenta de prueba, nos cobraran por cada compra que realicemos de
nuestros productos, es decir, si estamos probando recomiendo poner el precio a 0,50 (El
mnimo) del paquete, ya que Google se lleva un 30% de lo que gastemos.

Paso 4: Control de Eventos, finalizar la compra


En nuestro cdigo llamado ControlEventos tenemos todo lo necesario para poder realizar un
seguimiento de las compras.
Ejemplo: para crear un evento de compra, iremos a la funcin onMarketPurchase e
introduciremos que si es comprado el paquete prueba.prueba_1 ( if ( pvi.ItemId == "
prueba.prueba_1"){} ) se le d X de dinero (O lo que se quiera)

Ejemplo con el id de tem producto.oro_1

Tutorial Unity Android por Androtiyas (http://androtiyas.es/tutoriales/ )

Pgina 4

Tutorial In App Billing

Vistanos en http://androtiyas.es/

Consejos Muy importantes!


Consejo 1: Cuando se est probando la librera, se estn aadiendo paquetes y dems, es
muy muy aconsejable desinstalar la aplicacin del dispositivo mvil cada vez que se va a a
volver a instalar, el Android se guarda un registro temporal de los paquetes ya existentes.
- Problema 1: La aplicacin nos funciona perfectamente cuando le insertamos la
librera, pero al aadirle cosas se ha roto por algn lado, no veremos el fallo hasta
que la desinstalemos e instalemos de nuevo, mientras tanto nos ira perfectamente
lo que ya funcionaba y lo otro no har nada.
*Ca da vez que se cambie algo relacionado con: Las carpetas, La estructura de las
carpetas, Los ficheros, El cdigo de algn script. Relacionado con Soomla, reinstalar la
App para probarlo bien eliminando as el temporal.

Memorias de Androtiyas (Razones de fallo)


Razn 1: No tener actualizado el SKD de Android, si no tenemos el paquete de Google
Play Billing Library actualizado al ms actual no nos funcionara nada.

Razn 2: Si no llamamos a l ID del articulo desde nuestro Script de Informacin de


Tienda y est puesto en el Controlador de la Tienda

Tutorial Unity Android por Androtiyas (http://androtiyas.es/tutoriales/ )

Pgina 5

Tutorial In App Billing

Vistanos en http://androtiyas.es/

Virtual Item Was Not Found:


- Opcin 1: No tener actualizado el SKD de Android en el paquete Google Play Billing Library
- Opcin 2: No llamar al ID que se encuentra en Informacin de Tienda y que redirige a el que
se encuentra en este cdigo (Posible ejemplo: Escribir directamente el id en el
"StoreInventory.BuyItem)

Se llama al proceso pero no aparece la pantalla de Comprar:


- Opcin 1: No se han rellenado correctamente todas las variables obligatorias de este archivo

No tiene la misma versin de no s qu... (Aparece una vez se lanza la ventana de comprar
de GP)
- Opcin 1: No se tiene bien puesta la versin en GetVersion! Ya que debe ir acorde con el
Bunddle Versin Code (El GetVersion se encuentra en el archivo ControlTienda al principio)

La aplicacin se ha detenido desafortunadamente (Justo al Comprar un Objeto!)


- La Razn: El id del objeto en el Market tiene que estar solo puesto en la Variable Constante!
los dems valores deben ser otros ids, por ejemplo yo le quito el Androtiyas, y ya est!

Tutorial Unity Android por Androtiyas (http://androtiyas.es/tutoriales/ )

Pgina 6

Tutorial In App Billing

Vistanos en http://androtiyas.es/

Documentacin original y ayuda externa


Informacin Original: http://project.soom.la/
Pgina con Complementos: http://soom.la/
Web del Proyecto: https://github.com/soomla/
Web del Proyecto en Unity 3D: https://github.com/soomla/unity3d-store

Licencia
Facilitado por Androtiyas
Gua realizada por Androtiyas
Tutorial y Paquete Unity por Androtiyas
Androtiyas.es http://androtiyas.es/

MIT License. Copyright (c) 2012 SOOMLA. http://project.soom.la

http://www.opensource.org/licenses/MIT

Tutorial Unity Android por Androtiyas (http://androtiyas.es/tutoriales/ )

Pgina 7

Anda mungkin juga menyukai