Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Android NDK: gestión de recursos

Iniciado por AgeR, 03 de Julio de 2012, 10:45:04 PM

« anterior - próximo »

AgeR

Hola,

Llevo ya unos días leyendo documentación y trasteando con el NDK de Android que te permite programar en C++ casi sin pasar por Java (odio Java  :o). Para hacerlo más emocionante, estoy programando usando el Visual Studio, gracias a vs-android, pero bueno al tema...

La cuestión es que ha llegado el momento de cargar recursos y veo que hay varias vías:
1.- Incluirlos en el APK. Tiene la ventaja de tenerlo todo en un paquete y que además serviría tanto para Google Play como para Amazon AppStore. El inconveniente es que Google Play no deja subir aplicaciones de más de 50 Mb.
2.- Dejar el APK con el ejecutable, y crear un APK de expansión principal con los recursos. La ventaja es que el APK de juego es menor. El inconveniente es que no serviría para Amazon AppStore, además de tener que gestionar la descarga del paquete de expansión (creo que desde C++ no se puede y habría que tirar de Java para ello).
3.- Igual que el 2, pero extrayendo los recursos al external storage y usarlos al modo tradicional (fopen, etc...). La ventaja es que una vez extraídos, podría usar las funciones ya existentes en nuestro motor para gestión de archivos. El inconveniente es que ocupa más espacio en disco, además de que pueden borrarse archivos, etc...

Me temo que tendré que implementar tanto la solución 1 como la 2 si quiero soportar Google Play y Amazon AppStore.

En resumen, los expertos del tema... ¿qué soluciones habéis adoptado para la gestión de recursos, más allá de que uséis C++ o Java?

Saludos!

bnl

Yo utilizo java y tengo los recursos incrustados en el APK pero no llego a los 50MB ni de lejos.

Muchos juegos que he visto utilizan la opcion de descargarse los recursos a una carpeta del external storage

Para muchos usuarios de moviles, sobre todo si son casuales, lo de bajarse juegos que ocupen mucho (independientemente de que sea un solo apk o se tenga que descargar luego contenido adicional) les echa para atras
Mi web: http://www.brausoft.com/
No sabían que era imposible, así que lo hicieron.

jmtu

Sólo he programado en java y todo dentro del apk, así que no he mirado esto nunca.
  Sobre el tamaño del juego, pues si tienes un móvil sin casi memoria interna no bajas nada que sea demasiado pesado. No tienes sitio para ello.

YaW

Si el juego que estás haciendo va a tener más de 50MB de datos, la mejor opción es hacer una descarga de estos datos cuando se inicia el juego como hacen la mayoría de los grandes. Tiene el inconveniente de que los datos los tienes que almacenar en tu servidor (con lo que conlleva de gastos por bandwith y demás) pero es la mejor opción bajo mi punto de vista.

Lo de los paquetes de expansión todavía no lo he visto en ninguna app así que no se como funciona, pero como comentas solo lo soporta Google Play y si lo quieres subir a otros sitios pues no te sirve.

Por cierto, el Amazon AppStore es una mierda, el porcentaje de usuarios que se bajan tu app desde ahí frente al Google Play (u otras tiendas alternativas) es ridículo. Al menos en mi caso particular (unas 4.000 descargas al día y solo 30-40 de Amazon).

bnl

Cita de: YaW en 04 de Julio de 2012, 10:30:00 AM
Por cierto, el Amazon AppStore es una mierda, el porcentaje de usuarios que se bajan tu app desde ahí frente al Google Play (u otras tiendas alternativas) es ridículo. Al menos en mi caso particular (unas 4.000 descargas al día y solo 30-40 de Amazon).

Ya te digo, en mi caso la diferencia es aun mas grande. Tengo 140.000 totales en el play y  37 en amazon. El segundo mejor market de los que he probado tambien queda muy lejos, es slideMe con 900 descargas

Enhorabuena por las 4.000 descargas al dia. Es una cifra muy buena. ¿es una cifra constante o va aumentando o disminuyendo?

En mi caso las descargas fueron aumentando rapidamente y luego empezaron a caer tambien rapidamente. Ahora estan mas o menos estables en 200-300 al dia.
Mi web: http://www.brausoft.com/
No sabían que era imposible, así que lo hicieron.

YaW

En mi caso es más o menos estable, lleva ya un par de años la app subida :)

El mejor market, obviando Google Play, bajo mis datos es Samsung Apps. Aunque es un horror subir una app ahí.

bnl

Cita de: YaW en 04 de Julio de 2012, 09:36:28 PM
El mejor market, obviando Google Play, bajo mis datos es Samsung Apps. Aunque es un horror subir una app ahí.

Pues yo ni me habia planteado subirlo alli pero lo hare. Gracias por la info
Mi web: http://www.brausoft.com/
No sabían que era imposible, así que lo hicieron.

AgeR

Hola, gracias por las respuestas!

Por el momento, parece que lo más sensato es comenzar con meterlo todo dentro del APK y obteniendo archivos a través del AssetManager, ya que es la solución más general y que sí o sí debo integrar en el motor/framework.

El problema es que debido a la carga gráfica, es altamente probable que no quepa el juego en esos 50 Mb, por lo que igualmente me tocará buscar otra solución. Lo de descargar los datos de un servidor propio... uff, tal como están los costes por transferencia de Gb, a poco que el juego tenga éxito, es un pastizal...

bnl

Hay servidores no muy caros que gb de transferencia ilimitada. No he utilizado ninguno de ellos asi que tampoco te puede recomendar o desaconsejar ninguno.
Mi web: http://www.brausoft.com/
No sabían que era imposible, así que lo hicieron.

bnl

Cita de: YaW en 04 de Julio de 2012, 09:36:28 PM
El mejor market, obviando Google Play, bajo mis datos es Samsung Apps. Aunque es un horror subir una app ahí.

Lo subi hace unos dias y todavia estan revisandolo

Por si te interesa acabo de conocer otro market que segun ellos es el que mas aplicaciones tiene despues del oficial, es el opera store que es lo mismo que handster (tienen los dos dominios pero parece que es el mismo market). Las aplicaciones no necesitan ser aprobadas pero la cuenta tarda 24 horas en activarse.
Yo subi ayer el juego, me activaron la cuenta hoy y en unas horas llevo 12 descargas. A ver como evoluciona...

http://dl.dropbox.com/u/3016636/Opera/Opera%20Handster%20offering.pdf (graficas en la segunda pagina)
Mi web: http://www.brausoft.com/
No sabían que era imposible, así que lo hicieron.

YaW

Interesante, gracias por compartirlo  :)

bnl

De nada  :)

Se me paso poner los enlaces:

http://apps.opera.com
http://www.handster.com

De momento en unas 24 horas llevo 80 descargas que para las descargas que tengo en el oficial (unas 200 al dia) no esta nada mal.

Ya nos contaras que tal te va a ti.
Mi web: http://www.brausoft.com/
No sabían que era imposible, así que lo hicieron.

YaW

Leches, pues acabo de ver que tengo las apps subidas allí  ^_^'

Voy a actualizarlas eso si, que es la versión de hace meses y meses.

bnl

Cita de: YaW en 04 de Julio de 2012, 09:36:28 PM
El mejor market, obviando Google Play, bajo mis datos es Samsung Apps. Aunque es un horror subir una app ahí.

Si pensaba que los de amazon eran algo tiquismiquis a la hora de aceptar aplicaciones los de samsung les dan mil vueltas. Tras bastantes dias en revision me han rechazado el juego y me han remitido un documento y varios videos indicando cosas que deberia modificar y algunas sugerencias.
Me estoy planteando si merece la pena dedicarle bastante tiempo a corregirlas todas o pasar de este market.
Mi web: http://www.brausoft.com/
No sabían que era imposible, así que lo hicieron.

YaW

Ya te lo comenté, es un horror subir algo ahí.

Aunque realmente, a mi casi todas las pegas que me han puesto me han ayudado a corregir algún bug de la app y tal. Aunque ahora las últimas versiones no las puedo subir porque se quejan de que algunos anuncios de AdMob redirigen a Google Play y contra eso no puedo (ni quiero) hacer nada, así que...






Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.