planeo hacer una app en la que existen unas pistas de audio reproducibles que requieren un pago previo, el cual valido bien a traves de un login+password, o bien a traves de una compra in-app. Estos sonidos los descargo de una URL zipeados, y luego los descomprimo para irlos reproduciendo. El fichero a descargar viene pesando 25-30 MB.
Se me ocurren varias formas de implementar esto:
A.- Incluyo el zip dentro de la app (incorporado al proyecto Xcode), y una vez valido al usuario (login o in-app purchase), descomprimo el zip y reproduzco la pista de audio en cuestión
B.- Incluyo las pistas sueltas en mp3, y hago una validación similar a la de la opción A; Una vez valida, reproduzco la pista.
C.- Una vez el cliente valida, inicio la descarga del fichero zip (25-30MB), una vez descargado descomprimo, y reproduzco.
A priori me parece más elegante la tercera opción, pero he leido que Apple tiene limitaciones en cuanto a tamaño de descargas, además de que puede serme más costosa de implementar, y tengo poco tiempo para la entrega.
¿Que os parece cada opción? ¿Cual os parecería la más ventajosa?
Gracias de antemano!
[UPDATE] Finalmente he optado por la opción C usando NSURLSession y NSURLSessionDownloadTask para descargar en Background. Ha quedado bastante elegante. Si alguien quiere más detalles que me consulte :) Por cierto, no funciona en iOS 6, solo iOS 7 en adelante.
[UPDATE 2] Otra nota interesante, no he podido implementar la validación con login+password como alternativa a la compra In-App, puesto que viola los puntos 11.1 / 11.2 de las review guidelines de App Store. Solamente se puede descargar contenido adicional con la compra In-App.
creo que la mejor es la opción C, para que la app sea más ligera a la hora de descargar en la appstore y se descargue el fichero de audio cuando haga falta.
Yo tambien diria la C
El limite de descarga creo que es de 50MB cuando estas con el 3G, pero no se si te afectaria o si es solo para apps
Tampoco se si apple te dejaria usar tu sistema de login para compras, seguramente no
Y que no se te olvide ofrecer la posibilidad de restaurar las compras
haha! bingo!!! App rechazada en su primera subida por no tener un restore purchases claro!! :PP (lo tenía, pero tal vez no era entendible para el usuario). +1 al prestarle mucha atención a restore purchases!!
aquí tienes info de como hacerlo, a mi también me rechazaron una app por eso ;)
http://stackoverflow.com/questions/11021932/in-app-purchases-restore-button
Apple permite alojar tu contenido con ellos y puedes descargarlo en background. Mira a ver si te puede interesar, lo tienes explicado en las guias de in-app Hosting Non-Consumable Products with Apple
Interesante. De momento habia pensado hacerlo con NSURLSession y NSURLSessionDownloadTask que parece ser elegante y una práctica aconsejada, aunque tengo la duda de si funcionará en iOS 6. Lo que no había visto es lo de alojar el contenido a descargar con Apple en lugar de en mis propios servidores. De todas formas lo tengo ya alojado con anterioridad de otros proyectos, por lo que no creo que esto suponga impedimento adicional.
planeo hacer una app en la que existen unas pistas de audio reproducibles que requieren un pago previo, el cual valido bien a traves de un login+password, o bien a traves de una compra in-app. Estos sonidos los descargo de una URL zipeados, y luego los descomprimo para irlos reproduciendo. El fichero a descargar viene pesando 25-30 MB.
Se me ocurren varias formas de implementar esto:
A.- Incluyo el zip dentro de la app (incorporado al proyecto Xcode), y una vez valido al usuario (login o in-app purchase), descomprimo el zip y reproduzco la pista de audio en cuestión
B.- Incluyo las pistas sueltas en mp3, y hago una validación similar a la de la opción A; Una vez valida, reproduzco la pista.
C.- Una vez el cliente valida, inicio la descarga del fichero zip (25-30MB), una vez descargado descomprimo, y reproduzco.
A priori me parece más elegante la tercera opción, pero he leido que Apple tiene limitaciones en cuanto a tamaño de descargas, además de que puede serme más costosa de implementar, y tengo poco tiempo para la entrega.
¿Que os parece cada opción? ¿Cual os parecería la más ventajosa?
Gracias de antemano!
[UPDATE] Finalmente he optado por la opción C usando NSURLSession y NSURLSessionDownloadTask para descargar en Background. Ha quedado bastante elegante. Si alguien quiere más detalles que me consulte :) Por cierto, no funciona en iOS 6, solo iOS 7 en adelante.
[UPDATE 2] Otra nota interesante, no he podido implementar la validación con login+password como alternativa a la compra In-App, puesto que viola los puntos 11.1 / 11.2 de las review guidelines de App Store. Solamente se puede descargar contenido adicional con la compra In-App.
17/07/2014 18:29
17/07/2014 18:52
El limite de descarga creo que es de 50MB cuando estas con el 3G, pero no se si te afectaria o si es solo para apps
Tampoco se si apple te dejaria usar tu sistema de login para compras, seguramente no
Y que no se te olvide ofrecer la posibilidad de restaurar las compras
31/08/2014 23:07
01/09/2014 12:20
http://stackoverflow.com/questions/11021932/in-app-purchases-restore-button
21/07/2014 21:35
22/07/2014 12:49