GLBasic forum

Other languages => GLBasic - es => Topic started by: ampos on 2011-May-17

Title: Las compras dentro de las Apps
Post by: ampos on 2011-May-17
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...
Title: Re: Las compras dentro de las Apps
Post by: Hark0 on 2011-May-17
Que extraño....

Y en ipad?
Title: Re: Las compras dentro de las Apps
Post by: msx on 2011-May-17
¿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?
Title: Re: Las compras dentro de las Apps
Post by: 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

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.
Title: Re: Las compras dentro de las Apps
Post by: msx on 2011-May-17
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.
Title: Re: Las compras dentro de las Apps
Post by: 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...
Title: Re: Las compras dentro de las Apps
Post by: msx on 2011-May-17
También se puede cambiar con un iPhone jailbreakado  :doubt:
Title: Re: Las compras dentro de las Apps
Post by: Hark0 on 2011-May-17
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...

;)
Title: Re: Las compras dentro de las Apps
Post by: 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)
Title: Re: Las compras dentro de las Apps
Post by: 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í.
Title: Re: Las compras dentro de las Apps
Post by: 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...
Title: Re: Las compras dentro de las Apps
Post by: msx on 2011-May-17
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.

Title: Re: Las compras dentro de las Apps
Post by: ampos on 2011-May-17
Bueno, generas el txt nada mas ejecutar la app, y una de esas lineas debe ser el ID del movil.
Title: Re: Las compras dentro de las Apps
Post by: Hark0 on 2011-May-17
Una buena solución sería encriptar el TXT con algo tipo MD5...  :P
Title: Re: Las compras dentro de las Apps
Post by: Hark0 on 2011-May-17
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
Title: Re: Las compras dentro de las Apps
Post by: ampos on 2011-May-17
Quote from: Hark0 on 2011-May-17
Una buena solución sería encriptar el TXT con algo tipo MD5...  :P

GLBasic ya tiene el comando pa encriptar y desencriptar. Y es suficiente: si vendes poco, vas a perder poco por la pirateria. Y si vendes mucho, te va a dar igual  :booze:
Title: Re: Las compras dentro de las Apps
Post by: msx on 2011-May-17
Evidentemente la conclusión es esa. Yo creo que capturando el UUID y encriptándolo ya podríamos comprobar la activación de los servicios en caso de no disponer de conexión a internet, después es tan fácil como desencriptarlo compararlo con el UUID del dispositivo donde esté ejecutándose para asegurarnos de que no sea un archivo que esté rulando por la red. En caso de que haya conexión sería tan fácil como preguntar a Itunes por las compras.

Existe una forma para cambiar el UUID de los dispositivos con jailbreak, no sé si genera un número aleatorio o se puede especificar uno concreto, con ésto se podría saltar la protección, pero menos es eso que nada.

¿Hay alguna forma de usar el InApp purchase para descargar nuevos niveles para un juego o por fuerza tiene que estar ya contemplados estos niveles en el juego para poder activarlos?.
Title: Re: Las compras dentro de las Apps
Post by: ampos on 2011-May-17
No descargas nada, solo "flags" si/no.
Title: Re: Las compras dentro de las Apps
Post by: msx on 2011-May-17
Bueno, algo es algo, gracias ampos. A ver cuando te decides a publicar/pasar un tutorial  :whistle:
Title: Re: Las compras dentro de las Apps
Post by: Hark0 on 2011-May-17
Quote from: ampos on 2011-May-17
No descargas nada, solo "flags" si/no.

Vienen a ser como algunos DLC's de consolas grandes... que los datos vienen en el DVD "locked"  ;/
Title: Re: Las compras dentro de las Apps
Post by: ampos on 2011-May-17
www.diniplay.com/misc/iad.ipa

Lamentablemente no puedo seguir haciendo pruebas en tanto Apple no arregle lo de crear test users... manda cojones, 1 semana lleva roto... en los foros oficiales estan que echan humo...

Este ipa solo vale pal ipad de Hark0 o si tienes el install0us
Title: Re: Las compras dentro de las Apps
Post by: msx on 2011-May-17
¿Con el installous como?
Title: Re: Las compras dentro de las Apps
Post by: ampos on 2011-May-17
Joepe, pos lo copias en la carpeta download del installous usando el iFunBox... si no conoces iFunBox, estás en pecado mortal  :P
Title: Re: Las compras dentro de las Apps
Post by: msx on 2011-May-17
Yo uso WinSCP  :nana:
Title: Re: Las compras dentro de las Apps
Post by: ampos on 2011-May-17
Eso es xq nunca has usado el iFunBox... anda, pruebalo... (yo usé los 2)
Title: Re: Las compras dentro de las Apps
Post by: msx on 2011-May-17
Realmente tampoco lo suelo usar mucho, por no decir que lo habré usado dos veces, no sé que utilidad le das tú.
Title: Re: Las compras dentro de las Apps
Post by: msx on 2011-May-17
He probado la aplicación, cuando tocas la pantalla para hacer la compra se queda en negro y no sale de ese estado, ¿es normal?
Title: Re: Las compras dentro de las Apps
Post by: Omadan on 2011-May-17
hola amigos. Cual es la aplicacion. Y como va el In App, trabaja ya?
Title: Re: Las compras dentro de las Apps
Post by: ampos on 2011-May-17
Debe salir un reloj y pone "requesting product listing...". Luego debe de salir el listado de productos descargados. Pero no quedarse en negro...
Title: Re: Las compras dentro de las Apps
Post by: msx on 2011-May-17
Code (glbasic) Select
Products retrieved
Tap screen to BUY first product
0. NO PRODUCTS or ERROR


Después toco la pantalla y se queda en negro.
Title: Re: Las compras dentro de las Apps
Post by: ampos on 2011-May-17
AH, bueno... no se deberia quedar en negro, pero da igual, la app no importa.

LO que importa es que a tí NO te está funcionando. No ha listado ningún producto de la tienda, como me pasa a mí con mi 4G.

¿Has probao a reiniciar completamente el trasto?
Title: Re: Las compras dentro de las Apps
Post by: msx on 2011-May-18
Reiniciado iPhone y todo igual.

iPhone 3GS iOS 4.3.1
Title: Re: Las compras dentro de las Apps
Post by: Hark0 on 2011-May-18
Esta tarde pruebo el ipa... que acabo de ver el post ahorita mismo...


Sobre COMO instalar de forma rápida si tienes JB... busca iFile en Cydia... los instalas, ejecutas y te transfieres el ipa a la carpeta de installous... y desde installous, instalas...

Title: Re: Las compras dentro de las Apps
Post by: msx on 2011-May-18
así lo hice  :good: pero me costó encontrar donde se había descargado el archivo.
Title: Re: Las compras dentro de las Apps
Post by: mentalthink on 2011-May-18
La aplicacion de prueba donde está compañeros?¿,

Un saludo.
Iván J.
Title: Re: Las compras dentro de las Apps
Post by: DaCarSoft on 2011-May-18
Wenassss...

A ver... a ver...

Igual me estoy colando...   igual ya estoy un poco "off topic"... porque la verdad es que no he ido siguiendo el tema despacio ni he investigado las "inapp purchases" pero eso de que algo en un 3GS funcione pero no en un iPhone 4 me suena a estar relacionado con la versión del firmware y el reciente cambio en la forma de usar algunos objetos por parte de Apple...   Supongo que el código en iOS 4.2.1 o superior no funcionaría en ningún dispositivo sin retoques...

Tuve un problema parecido con mi código para utilizar el teclado de iOS con GLBasic (ver: http://www.glbasic.com/forum/index.php?topic=5747.msg46200#msg46200 (http://www.glbasic.com/forum/index.php?topic=5747.msg46200#msg46200))

Un saludo.
-David-
Title: Re: Las compras dentro de las Apps
Post by: ampos on 2011-May-18
No, si en el iphone 4 de mi mujer si va...
Title: Re: Las compras dentro de las Apps
Post by: DaCarSoft on 2011-May-18
Hummm, que versión de iOS?
Title: Re: Las compras dentro de las Apps
Post by: ampos on 2011-May-18
4.2.1 yo, que no va, y 4.1 mi mujer, y si va.

¿Crees que no va a ir en ningun 4.2.1 o superior?
Title: Re: Las compras dentro de las Apps
Post by: ampos on 2011-May-18
Quote from: Hark0 on 2011-May-18
Esta tarde pruebo el ipa... que acabo de ver el post ahorita mismo...


Sobre COMO instalar de forma rápida si tienes JB... busca iFile en Cydia... los instalas, ejecutas y te transfieres el ipa a la carpeta de installous... y desde installous, instalas...

el IPA lleva tu ID, así que prueba a instalarlo "a lo legal".
Title: Re: Las compras dentro de las Apps
Post by: DaCarSoft on 2011-May-18
Yo casi casi pondría la mano en el fuego...   así, jugándome el tardar el doble o más en teclear...   XDDDDDDD


Si estas usando algún código añadido a XCode en el proyecto (un archivo ".m" o ".mm"), y si yo no me equivoco...
habría que hacer modificaciones a ese código...  usando algún "performselectoronmainthread"

Ahí es na...   :P
Title: Re: Las compras dentro de las Apps
Post by: Hark0 on 2011-May-19
Quote from: ampos on 2011-May-18
Quote from: Hark0 on 2011-May-18
Esta tarde pruebo el ipa... que acabo de ver el post ahorita mismo...


Sobre COMO instalar de forma rápida si tienes JB... busca iFile en Cydia... los instalas, ejecutas y te transfieres el ipa a la carpeta de installous... y desde installous, instalas...

el IPA lleva tu ID, así que prueba a instalarlo "a lo legal".

Si si, en este caso con tirarlo a iTunes vale ... lo hago en un rato y te digo...

;)
Title: Re: Las compras dentro de las Apps
Post by: Hark0 on 2011-May-19
Bien, acabo de probar el IPA... no entiendo muy bien cómo funciona...


Primero sale un texto que dice que se conecta y recupera una lista de objetos... pulso...pulso...

Da un código 0 y luego muestra la pantalla de FX y el reloj... al terminar, el globo y bloqueado...


¿? Hago algo mal?
O_O
Title: Re: Las compras dentro de las Apps
Post by: Hark0 on 2011-May-19
Ah!

IPad 32Gb - 4.3.1 (8G4) JB
;/
Title: Re: Las compras dentro de las Apps
Post by: DaCarSoft on 2011-May-19
Hola Hark0 :)


Ese "globo" supongo que es un "alert" de iOS (UIAlert).


Me reafirmo en que ese código no va a funcionar tal cual en dispositivos con iOS >= 4.2.1

Para que funcione es necesario hacer las modificaciones pertinentes al código cuando se lanzan los objetos "visibles" de iOS.

Ampos: No sé exactamente lo que tienes, pero supongo que agregas un archivo (que no has hecho tú...  ;)) al proyecto de XCode generado por GLBasic, y ese archivo es el que contiene las funciones "exportadas" para poder llamarlas desde GLBasic.
Es necesario modificar el código de ese archivo para que funcione en las ultimas versiones de iOS.

Si quieres puedo intentar echarle un vistazo...

Title: Re: Las compras dentro de las Apps
Post by: msx on 2011-May-19
Vamos, el mismo problema que tuvimos con el iAds, parece ser que matchy trabaja con versiones inferiores a 4.2
Title: Re: Las compras dentro de las Apps
Post by: ampos on 2011-May-19
-Hark0: lo del globo no es nada. Es ese 0. Debiera haberte salido una lista de valores.

-DaCarSoft: ya le comenté el prob a Matchy. Pero antes de pasartelo para arreglarlo debo pedirle permiso a él.

-msx: no crea que sea el mismo problema. En el iADs usaba unas funciones del 4.2. En este caso, parece que a partir del 4.2 las llamadas deben hacerse de manera distinta.
Title: Re: Las compras dentro de las Apps
Post by: msx on 2011-May-19
Resumiendo:

iPhone 4 iOS 4.1 - Sí
iPhone 4 iOS 4.2.1 - NO
iPhone 3GS iOS 4.3.1 - NO
iPad iOS 4.3.1 - Quizás (por lo que leo aparece algo más que a mí en un 3GS con el mismo iOS)


Title: Re: Las compras dentro de las Apps
Post by: ampos on 2011-May-19
Más bien así:

iPhone 3G iOS 3.1.3 - Sí
iPhone 3G iOS 4.0.2 - Sí
iPhone 4 iOS 4.1 - Sí
iPhone 4 iOS 4.2.1 - NO
iPhone 3GS iOS 4.3.1 - NO
iPad 1 iOS 4.3.1 - No

Title: Re: Las compras dentro de las Apps
Post by: DaCarSoft on 2011-May-19
Ampos: OK!

MSX: El iPad, por algún oscuro motivo, se comporta de manera ligeramente distinta a los iPhone/iPod...   pero al final el resultado suele ser el mismo: O algo funciona, o no funciona, aunque el bloqueo sea en puntos de la ejecución distintos...


Salu2.
Title: Re: Las compras dentro de las Apps
Post by: msx on 2011-May-19
Me gustaría que actualizárais ésto:

iPhone 3G iOS 3.1.3 - Sí
iPhone 3G iOS 4.0.2 - Sí
iPhone 4 iOS 4.1 - Sí
iPhone 4 iOS 4.2.1 - NO
iPhone 3GS iOS 4.3.1 JAILBROKEN instalado usando Installous - NO
iPad 1 iOS 4.3.1 - No

Title: Re: Las compras dentro de las Apps
Post by: Hark0 on 2011-May-19
Quote from: msx on 2011-May-19
Me gustaría que actualizárais ésto:

iPhone 3G iOS 3.1.3 - Sí
iPhone 3G iOS 4.0.2 - Sí
iPhone 4 iOS 4.1 - Sí
iPhone 4 iOS 4.2.1 - NO
iPhone 3GS iOS 4.3.1 JAILBROKEN instalado usando Installous - NO
iPad 1 iOS 4.3.1 - No

Creo que da igual que la máquina esté JB ó cómo se instale... el tema es la versión...

No comprendo esto por parte de Apple... opino que deberían manter la retrocompatibilidad con las "viejas" versiones del sistema.
Title: Re: Las compras dentro de las Apps
Post by: msx on 2011-May-19
No creas Hark0, he leído por ahí gente que tiene problemas con los In-App y el Jailbreak de forma genérica, es lo que quisiera descartar.
Title: Re: Las compras dentro de las Apps
Post by: ampos on 2011-May-19
Uno de mis 3G esta JB aunke no lo instale a través del installous...
Title: Re: Las compras dentro de las Apps
Post by: msx on 2011-May-19
¿Alguno superior al iOS 4.2 tiene JB?
Title: Re: Las compras dentro de las Apps
Post by: Hark0 on 2011-May-20
Quote from: msx on 2011-May-19
¿Alguno superior al iOS 4.2 tiene JB?

Yo, la 4.3.1.... necesito el JB para trabajar con iFile... modificio X parámetros de mi juego directamente en el iPad... ;)

Pero como ya he dicho, a mi no me funciona....
Title: Re: Las compras dentro de las Apps
Post by: msx on 2011-May-20
Es lo que quiero averiguar, a ver si alguien con un iPhone sin Jailbreak e iOS superior a 4.2 lo pudiera probar, aunque claro está debería pasarle el UDID a ampos para que pudiera añadirlo a Devices en el Provisioning Portal.
Title: Re: Las compras dentro de las Apps
Post by: ampos on 2011-May-27
Alguno de los que os pasé el código a avanzado?
Title: Re: Las compras dentro de las Apps
Post by: msx on 2011-May-28
No lo he podido probar aún, estaba un poco liado con el tema de mi aplicación maldita, pero ahora que ya la han aceptado y que encima tengo mi flamante MacBook intentaré echarle un vistazo.  :good:
Title: Re: Las compras dentro de las Apps
Post by: DaCarSoft on 2011-May-29

Yo le he echado un vistazo, pero mi trabajo no me ha dejado mirarlo en serio.


Estuve revisando algunas cosas a ojo. Me daba pereza lo de las altas en las "in-app purchases" :P


Con suerte esta noche tendré tiempo para hacer un par de pruebas en serio, ya os comento en cuánto pueda.


Title: Re: Las compras dentro de las Apps
Post by: ampos on 2011-May-31
Si os interesa, Matchy usa 4.3.3 y le funciona. Además, acaba de subir una app con el in-app purchase... y yo ahora me toca modificar mi ultima app, Glowing Sky, para añadirle iADS e inApp purchase...
Title: Re: Las compras dentro de las Apps
Post by: msx on 2011-May-31
Entonces es que tú hiciste algo mal ¿no?, a ver si averiguas que es.

Por cierto, los iAds colócalos en la parte superior, no abajo, porque da problemas en iOS 4.3
Title: Re: Las compras dentro de las Apps
Post by: Omadan on 2011-May-31
Bueno y que ay que ser para obtener el in app program. Me encantaria tratarlo
Title: Re: Las compras dentro de las Apps
Post by: msx on 2011-May-31
¿Sabes como se llama la aplicación o no está aún publicada? es para probar que realmente me funciona.
Title: Re: Las compras dentro de las Apps
Post by: ampos on 2011-Jun-01
Firgen Santa, que impaciencia...  =D

Acaba de subirla, que yo sepa no está publicada.

@Omadan, no tengo permiso de Matchy para publicar el código.
Title: Re: Las compras dentro de las Apps
Post by: Hark0 on 2011-Jun-01
Quote from: ampos on 2011-Jun-01
@Omadan, no tengo permiso de Matchy para publicar el código.

:blink:
Title: Re: Las compras dentro de las Apps
Post by: ampos on 2011-Jun-01
Quote from: Hark0 on 2011-Jun-01
Quote from: ampos on 2011-Jun-01
@Omadan, no tengo permiso de Matchy para publicar el código.

:blink:

Quiere publicarlo él, y quiere hacerlo cuando tenga la app publicada, como hizo con el iADs.

El código es suyo y se lo folla cuando quiere. Y este Matchy, además, es gagito.
Title: Re: Las compras dentro de las Apps
Post by: Hark0 on 2011-Jun-01
 :D :D :D :D :D :D :D :D :D :D

Entendido!!!

Esperaremos a Matchy!!!

;)