Las compras dentro de las Apps

Previous topic - Next topic

ampos

He estado probando el codigo y no funciona...

Me he pasado 4 días probando gilipolleces y no hay manera, no funciona en mi 4G... y eso que no es nada del otro mundo...

:'( :'( :'( :'( :'( :'( :'( :'( :'( :'( :'( :'( :'( :'( :'( :'( :'(

Hoy se me ha ocurrido enchufar uno de los 3G que tengo por aquí y... ¡funciona!

:enc: :enc: :enc: :enc: :enc: :enc: :enc: :enc: :enc: :enc: :enc: :enc:

He probado en 2 3G, uno con JB y otro sin él, 3.1.3 y 4.0.2, y va en los dos.

No sigo haciendo pruebas xq es muy tarde, pero el primer paso ha ido.

Este primer paso consiste en decirle a Apple: oye, miras estas compras que tengo, a ver lo que valen y tal... y itunes te devuelve una lista de los articulos válidos: id, nombre, precio (en moneda local) y descripción.

Por otro lado, no funciona en itunes la creación del Test User (es un problema de apple!), así que no sé cuando podré probar los siguientes pasos...
check my web and/or my blog :D
http://diniplay.blogspot.com (devblog)
http://www.ampostata.org
http://ampostata.blogspot.com
I own PC-Win, MacBook 13", iPhone 3G/3GS/4G and iPAC-WinCE

Hark0

Que extraño....

Y en ipad?
http://litiopixel.blogspot.com
litiopixel.blogspot.com - Desarrollo videojuegos Indie · Pixel-Art · Retroinformática · Electrónica Development Indie Videogames · Pixel-Art · Retrocomputing · Electronic

msx

¿Pero eso como funciona exactamente?, ¿qué se puede comprar? supongo que sirve para ampliar por ejemplo los niveles de un juego, pero ¿como se instala una vez descargado para que se añada a la aplicación?

ampos

Esta noche le robare el movil 4G a mi mujer y lo probaré... sobre el iPad, mandame el tuyo y lo pruebo :D

Son varios pasos:

1.- le mandas a itunes una lista de objetos que crees hay a la venta: escudo, espada y caballo.

2.- iTunes te devuelve una lista con los objetos que existen de los anteriores, su descripcion y precio:
-escudo, 0.79, para los golpes
-espada, 1.59, ya puedes matar malos
El caballo no está a la venta, así que no es devuelto por itunes.

3.- Luego en tu programa le muestras al usuario las cosas que tienes a la venta: oye! tengo escudo a 0.79 y espada a 1.59! El usuario decide que quiere comprar. "solo quiero espada".

4.- Le dices a Apple "oye, este usuario quiere comprar una espada". Al usuario le sale la ventana de compra (aqui es el iOS quien toma el control). Una vez finalizado el proceso, itunes le devuelve al programa un codigo sobre el resultado de la compra: sí o no (sí puede ser si lo compra o si ya lo compró anteriormente y está "reactivandolo").

5.- Es trabajo del programador almacenar en algún sitio que eso "se compró" para la próxima vez que el programa se ejecute.

En un futuro, puedes activar el caballo y aparecerá en la lista de objetos listados por itunes. Nota que si no preguntas especificamente por un objeto, este no es devuelto. Es decir, si en nuestro ejemplo, añadimos en itunes "castillo", como el prog solo pregunta por escudo, espada y caballo, nunca nos devolverá castillo como objeto comprable.

Hay 3 tipos de articulos: consumibles, no consumibles y suscripciones. Los comsumibles son "compra 1000 monedas". Tu, le añades 1000 monedas al jugador y te olvidas de la compra para siempre. Los no-consumibles son cosas que se compran 1 sola vez, por ejemplo, para que no salga la publicidad. Debes guardar en algun sitio "este ha pagao" para ejecutar tu programa con esa opción. Las suscripciones pos eso, que se le carga cada mes un dinero.
check my web and/or my blog :D
http://diniplay.blogspot.com (devblog)
http://www.ampostata.org
http://ampostata.blogspot.com
I own PC-Win, MacBook 13", iPhone 3G/3GS/4G and iPAC-WinCE

msx

Gracias por la excelente explicación ampos, pero ahora me surge la idea de que sí alguien averigua dónde se almacenan esos datos podía tomar control total sobre la aplicación, activandolo todo.

ampos

Sí, claro.

Tienes que grabar en "documentos" lo que sea, y o codificarlo o disimularlo, o posiblemente, las 2.

Otra opción es enviar por internet el ID del terminal y guardarlo, y cada vez que lo ejecutes, hacer una comprobación...
check my web and/or my blog :D
http://diniplay.blogspot.com (devblog)
http://www.ampostata.org
http://ampostata.blogspot.com
I own PC-Win, MacBook 13", iPhone 3G/3GS/4G and iPAC-WinCE

msx

También se puede cambiar con un iPhone jailbreakado  :doubt:

Hark0

Quote from: ampos on 2011-May-17
Sí, claro.

Tienes que grabar en "documentos" lo que sea, y o codificarlo o disimularlo, o posiblemente, las 2.

Otra opción es enviar por internet el ID del terminal y guardarlo, y cada vez que lo ejecutes, hacer una comprobación...

He encontrado alguna que otra app que se "limita" a guardar un txt en //documents de la app con contenido tipo espada=true, caballo=false

Si se tiene JB y el iFile, nohace falta decir que se puede "trampear"    con ponerlo todo a TRUE :P

Osea, recomiendo "encriptar" de alguna forma ese tipo de ficheros...

;)
http://litiopixel.blogspot.com
litiopixel.blogspot.com - Desarrollo videojuegos Indie · Pixel-Art · Retroinformática · Electrónica Development Indie Videogames · Pixel-Art · Retrocomputing · Electronic

Hark0

Quote from: ampos on 2011-May-17
Esta noche le robare el movil 4G a mi mujer y lo probaré... sobre el iPad, mandame el tuyo y lo pruebo :D

Puedo pasarte mi ID ipad... la pones en tu provision profile ese y listos!

Me pasas el ipa y lo cato con gusto...

8)
http://litiopixel.blogspot.com
litiopixel.blogspot.com - Desarrollo videojuegos Indie · Pixel-Art · Retroinformática · Electrónica Development Indie Videogames · Pixel-Art · Retrocomputing · Electronic

ampos

Una solución sería guardar un txt con 10 lineas de caracteres aleatorios. Pero uno de esos caracteres sería "el bueno".

Otra opción sería guardar las preferencias del idioma, y si pones como id del lenguaje español "es" es que no esta activado, y si pones "esp" es que sí.
check my web and/or my blog :D
http://diniplay.blogspot.com (devblog)
http://www.ampostata.org
http://ampostata.blogspot.com
I own PC-Win, MacBook 13", iPhone 3G/3GS/4G and iPAC-WinCE

ampos

Quote from: Hark0 on 2011-May-17
Quote from: ampos on 2011-May-17
Esta noche le robare el movil 4G a mi mujer y lo probaré... sobre el iPad, mandame el tuyo y lo pruebo :D

Puedo pasarte mi ID ipad... la pones en tu provision profile ese y listos!

Me pasas el ipa y lo cato con gusto...

8)

Ya tengo tu ID del ipad... y de hecho, creo que hasta firmo las apps con él...
check my web and/or my blog :D
http://diniplay.blogspot.com (devblog)
http://www.ampostata.org
http://ampostata.blogspot.com
I own PC-Win, MacBook 13", iPhone 3G/3GS/4G and iPAC-WinCE

msx

Quote from: ampos on 2011-May-17
Una solución sería guardar un txt con 10 lineas de caracteres aleatorios. Pero uno de esos caracteres sería "el bueno".

Otra opción sería guardar las preferencias del idioma, y si pones como id del lenguaje español "es" es que no esta activado, y si pones "esp" es que sí.

Todo eso deja de tener validez en el momento que el txt rule por internet.


ampos

Bueno, generas el txt nada mas ejecutar la app, y una de esas lineas debe ser el ID del movil.
check my web and/or my blog :D
http://diniplay.blogspot.com (devblog)
http://www.ampostata.org
http://ampostata.blogspot.com
I own PC-Win, MacBook 13", iPhone 3G/3GS/4G and iPAC-WinCE

Hark0

Una buena solución sería encriptar el TXT con algo tipo MD5...  :P
http://litiopixel.blogspot.com
litiopixel.blogspot.com - Desarrollo videojuegos Indie · Pixel-Art · Retroinformática · Electrónica Development Indie Videogames · Pixel-Art · Retrocomputing · Electronic

Hark0

Quote from: ampos on 2011-May-17
Quote from: Hark0 on 2011-May-17
Quote from: ampos on 2011-May-17
Esta noche le robare el movil 4G a mi mujer y lo probaré... sobre el iPad, mandame el tuyo y lo pruebo :D

Puedo pasarte mi ID ipad... la pones en tu provision profile ese y listos!

Me pasas el ipa y lo cato con gusto...

8)

Ya tengo tu ID del ipad... y de hecho, creo que hasta firmo las apps con él...

JUR!!!!

Qué cabeza la mia....  :P
http://litiopixel.blogspot.com
litiopixel.blogspot.com - Desarrollo videojuegos Indie · Pixel-Art · Retroinformática · Electrónica Development Indie Videogames · Pixel-Art · Retrocomputing · Electronic