Jump to content

[TOPIC: topicViewTemplate]
[GLOBAL: userSmallPhoto]
Photo

Recoger datos de una base de datos
Started by visstaralax Feb 12 2018 08:11 AM

17 replies to this topic
[TOPIC CONTROLS]
This topic has been archived. This means that you cannot reply to this topic.
[/TOPIC CONTROLS]
[modOptionsDropdown]
[/modOptionsDropdown]
[reputationFilter]
[TOPIC: post.html]
#1

visstaralax

[GLOBAL: userInfoPane.html]
visstaralax
  • Enthusiast

  • 39 posts
  • Corona SDK

¡Hola muy buenas!

 

Necesito algún consejo de algún experto de Corona SDK. Me gustaría saber de qué maneras se puede obtener información de una base de datos. 

 

Yo de momento, utilizo las funciones network.request() usando "get" para obtener los datos de la base de datos. El proceso que sigo es este:

 

1. Petición "get" desde la app de Corona

2. Petición recibida en el servidor desde PHP

3. "echo" de la información en una página php en JSON

4. Recepción y lectura de JSON desde la Corona SDK

 

El problema de este sistema, es que hay muchas maneras de interceptar la información, y por otro lado, hay que crear páginas por cada tabla de la BD. ¿Cómo lo haríais para mejorar la seguridad de la información sensible? Se podrían hacer sesiones de php?

 

Me gustaría saber si hay otras maneras de recoger la información de la base de datos.

 

¡Gracias de antemano! :D



[TOPIC: post.html]
#2

agramonte

[GLOBAL: userInfoPane.html]
agramonte
  • Corona Geek

  • 1,047 posts
  • Corona SDK

Hay muchas opciones. Si no tienes que usar la base de datos que estás usando puedes usar:

https://marketplace.coronalabs.com/plugin/gamesparks

https://marketplace.coronalabs.com/plugin/firebase-database

https://marketplace.coronalabs.com/plugin/coronium-skytable

 

Me imagino que hay otros que no conozco. Yo uso gamespark pero hay mucha gente que le gusta coronium-skytable.



[TOPIC: post.html]
#3

visstaralax

[GLOBAL: userInfoPane.html]
visstaralax
  • Enthusiast

  • 39 posts
  • Corona SDK

¡Muchas gracias por tu respuesta!

 

Entonces, ¿estos servicios tienen sus propias base de datos que tienes que contratar y usas el pluguin para acceder a ellos?

 

Saludos



[TOPIC: post.html]
#4

agramonte

[GLOBAL: userInfoPane.html]
agramonte
  • Corona Geek

  • 1,047 posts
  • Corona SDK

[TOPIC: post.html]
#5

miguel68

[GLOBAL: userInfoPane.html]
miguel68
  • Observer

  • 20 posts
  • Corona SDK

También podrías hacer una api REST basada en POST y con autenticación por token, así podrías servir distintos sets de datos en base a la api y es facíl de hacer con frameworks como Lumen o Slim en PHP

 

Saludos!



[TOPIC: post.html]
#6

agramonte

[GLOBAL: userInfoPane.html]
agramonte
  • Corona Geek

  • 1,047 posts
  • Corona SDK

Puedes hacer lo mismo con Gamesparks. Gamesparks usa mongo-db todo es guardado como un documento json.



[TOPIC: post.html]
#7

visstaralax

[GLOBAL: userInfoPane.html]
visstaralax
  • Enthusiast

  • 39 posts
  • Corona SDK

¡Gracias a todos por contestar!

 

Me ha gustado Firebase, pero me aparece el siguiente error: WARNING: The 'plugin.firebaseDatabase' library is not available on this platform.

 

He copiado del GitHub el build.setting para no tener ningún error, me he descargado los archivos necesarios de google-service, json y el archivo lua que me recomienda la consola, y están en la raiz del proyecto, y también he vinculado la aplicación con el nombre del package, y me sigue saliendo el mismo error.

 

He buscado información sobre los pluguins, y resulta que muchos de ellos no funcionan en el simulador. ¿EN SERIO? No es que sean pluguins complejos, pero desde luego necesito hacer un "prueba y error" hasta que tenga más control de las funciones. ¿Esto significa que debería hacer un build cada vez que tenga que comprobar si algo funciona correctamente? Si me equivoco, rectificadme. Y tampoco funciona como app para windows.

 

El caso, es que me pasaré a GameSparks e investigaré, espero que esta librería sea compatible.

 

Link del pluguin:

https://marketplace.coronalabs.com/plugin/firebase-database

 

Documentacion:

https://scotth.tech/plugin-firebaseDatabase

 

Saludos



[TOPIC: post.html]
#8

visstaralax

[GLOBAL: userInfoPane.html]
visstaralax
  • Enthusiast

  • 39 posts
  • Corona SDK

También podrías hacer una api REST basada en POST y con autenticación por token, así podrías servir distintos sets de datos en base a la api y es facíl de hacer con frameworks como Lumen o Slim en PHP

 

Saludos!

 

Mira que estuve investigando sobre las API REST que hace tiempo me recomendaste, pero no conseguí suficiente información en internet como para desarrollar algo. Pero para realizarlo con un framework tendría que dedicar mucho tiempo en aprender a utilizarlo, y la POO la llevo muy mal.

 

Saludos y gracias



[TOPIC: post.html]
#9

visstaralax

[GLOBAL: userInfoPane.html]
visstaralax
  • Enthusiast

  • 39 posts
  • Corona SDK

Otra duda que tengo... alguien sabe el precio aproximado de la licencia de pago de GameSparks? FireBase de google cuesta 25$/mes. Lo pregunto porque en la pagina oficial tienes que ponerte en contacto con ellos y llegar a un acuerdo. Creo que enviaré un correo preguntando precios aproximados.

 

¡Saludos!



[TOPIC: post.html]
#10

agramonte

[GLOBAL: userInfoPane.html]
agramonte
  • Corona Geek

  • 1,047 posts
  • Corona SDK

Si entras en el programa "indy" los primeros 100,000 MAU son gratis después de eso te cobran 0.01 centavos americanos por MAU.  



[TOPIC: post.html]
#11

visstaralax

[GLOBAL: userInfoPane.html]
visstaralax
  • Enthusiast

  • 39 posts
  • Corona SDK

Gracias Agramonte.

 

Al final me decanto por el API REST con Lumen (con Laravel), porque he encontrado este video de youtube super instructivo:

 

https://www.youtube.com/watch?v=VmtOP5sEH68

 

Estoy sorprendido de los avances que estoy haciendo.

 

Espero no cambiar más de idea  :rolleyes:



[TOPIC: post.html]
#12

agramonte

[GLOBAL: userInfoPane.html]
agramonte
  • Corona Geek

  • 1,047 posts
  • Corona SDK

Bueno si cambias de idea yo te puedo hacer un video tambien.



[TOPIC: post.html]
#13

miguel68

[GLOBAL: userInfoPane.html]
miguel68
  • Observer

  • 20 posts
  • Corona SDK

Con Lumen es super sencillo, animo nos cuentas como te fue :D



[TOPIC: post.html]
#14

visstaralax

[GLOBAL: userInfoPane.html]
visstaralax
  • Enthusiast

  • 39 posts
  • Corona SDK

Voy avanzando, pero me he quedado estancado en un punto primordial. No puedo conectarme a mi base de datos, y he hecho un montón de pruebas, cambiando el numero de puerto, creando una contraseña maestra y buscando el error por internet, pero no he encontrado una respuesta. Os la dejaré aquí por si me podéis ayudar... mientras tanto estoy avanzando en otras cosas del temario.

 

Lo que tengo que rellenar es esto:

APP_ENV=local
APP_DEBUG=true
APP_KEY= XXXXXXXXXXXXXXXXXXXXXXXXXX
APP_TIMEZONE=UTC


LOG_CHANNEL=stack
LOG_SLACK_WEBHOOK_URL=


DB_CONNECTION=mysql
DB_HOST= XXXXXX.strato.es
DB_PORT=3306
DB_DATABASE=DXXXXXX
DB_USERNAME=UXXXXXX
DB_PASSWORD=XXXXXXXXXXXXXXX


CACHE_DRIVER=file
QUEUE_DRIVER=sync

La información la extraigo de mi pagina de hosting con strato, con el nombre de la base de datos y de usuario. El puerto no lo se y lo he intentado buscar. No se si APP_ENV=local es correcto.

 

El error que me sale es este: 

SQLSTATE[HY000] [2002] Se produjo un error durante el intento de conexión y a que la parte conectada no respondía adecuadamente tras un periodo de tiempo, o bien, se produjo un error en la conexión establecida ya que el host conectado no ha podido responder.

Saludos y de verdad que agradezco mucho vuestra ayuda  :)  :)  :)  :) !!!!

 



[TOPIC: post.html]
#15

visstaralax

[GLOBAL: userInfoPane.html]
visstaralax
  • Enthusiast

  • 39 posts
  • Corona SDK

Otra cosa que os quería preguntar.

 

Para obtener los datos de la base de datos debería hacer de nuevo un response() o echo de los datos en pantalla en JSON? Es lo que hacía antes, pero en teoría ahora con mucha más seguridad. Lo digo porque si sólo se hace una petición no hay problema, pero si se hacen varias peticiones de varios usuarios, como se distinguen entre ellas, y que además se correspondan?

 

Saludos y gracias!  :lol:



[TOPIC: post.html]
#16

miguel68

[GLOBAL: userInfoPane.html]
miguel68
  • Observer

  • 20 posts
  • Corona SDK

Hola :D en torno a tu duda pues puedes valerte de la variable de session de PHP o usar algo como Redis, sobre lo de la seguridad y distinguir usuarios te recomiendo usar un token unico por session que se use para validar las peticiones :D

 

Saludos



[TOPIC: post.html]
#17

visstaralax

[GLOBAL: userInfoPane.html]
visstaralax
  • Enthusiast

  • 39 posts
  • Corona SDK

Hola :D en torno a tu duda pues puedes valerte de la variable de session de PHP o usar algo como Redis, sobre lo de la seguridad y distinguir usuarios te recomiendo usar un token unico por session que se use para validar las peticiones :D

 

Saludos

 

Gracias Miguel!

 

Otra cuestión... si hablamos de API REST, es un sistema que no utiliza estados no? Entonces mejor uso el envio continuo de tokens para validar las peticiones. Por otro lado, de qué sirve un token si se puede ver en la URL? ¿Cómo se oculta?

 

Por cierto, ya he hecho mi primera app pequeña y utilizo postman para hacer las pruebas, y el logueo funciona bien. Pero sigo sin ver donde está la seguridad.

 

Saludos y gracias!



[TOPIC: post.html]
#18

visstaralax

[GLOBAL: userInfoPane.html]
visstaralax
  • Enthusiast

  • 39 posts
  • Corona SDK

La cosa está funcionando muy bien. Si alguien tiene alguna duda, puedo ayudar.

 

Saludos y gracias!




[topic_controls]
[/topic_controls]