diff options
Diffstat (limited to 'files/es/mozilla/marketplace/publishing')
8 files changed, 636 insertions, 0 deletions
diff --git a/files/es/mozilla/marketplace/publishing/index.html b/files/es/mozilla/marketplace/publishing/index.html new file mode 100644 index 0000000000..e2b172a388 --- /dev/null +++ b/files/es/mozilla/marketplace/publishing/index.html @@ -0,0 +1,9 @@ +--- +title: Publishing +slug: Mozilla/Marketplace/Publishing +tags: + - NeedsTranslation + - TopicStub +translation_of: Archive/Mozilla/Marketplace/Publishing/Introduction +--- +<p>Marketplace publishing</p> diff --git a/files/es/mozilla/marketplace/publishing/marketplace_screenshot_criteria/index.html b/files/es/mozilla/marketplace/publishing/marketplace_screenshot_criteria/index.html new file mode 100644 index 0000000000..59d3e0ac04 --- /dev/null +++ b/files/es/mozilla/marketplace/publishing/marketplace_screenshot_criteria/index.html @@ -0,0 +1,78 @@ +--- +title: Marketplace screenshot criteria +slug: Mozilla/Marketplace/Publishing/Marketplace_screenshot_criteria +translation_of: >- + Archive/Mozilla/Marketplace/Publishing/Policies_and_Guidelines/Marketplace_screenshot_criteria +--- +<div class="summary"> + <p><span class="seoSummary">Cuando submitting an app to the Firefox Marketplace, you will be asked to provide one or more screenshots as part of the submission process. The Marketplace has some basic criteria for such screenshots which, while not strictly enforced, should serve as a guideline.</span> Apps which provide no screenshots that meet the criteria in this document may be asked to submit new screenshots.</p> +</div> +<h2 id="Screenshot_Overview">Screenshot Overview</h2> +<ul> + <li>Screenshots that you upload will appear on + <ul> + <li>Individual app pages</li> + <li>Featured app areas, when your app is promoted by an editor or curator</li> + <li>Various lists and feeds within the Marketplace</li> + </ul> + </li> + <li>The Marketplace accepts between 1 and 6 screenshots for 3 different form factors: + <ul> + <li>Phone (portrait or landscape)</li> + <li>Tablet</li> + <li>Desktop (usually 1024x768 or larger)</li> + </ul> + </li> + <li>For each form factor that your app supports, a minimum of 1 screenshot should be provided.</li> +</ul> +<h2 id="Quality_Guidelines">Quality Guidelines</h2> +<ul> + <li>Show your app in the best possible light: demonstrate its capabilities</li> + <li>Always remove the status bar, if possible</li> + <li>Screenshots from a device are preferred to screenshots from a simulator or emulator</li> + <li>Avoid placing the app inside the image of a device or a desktop + <ul> + <li>Doing this forces the app interface to scale down, making it more difficult to see</li> + <li>The device or desktop interfaces that you show may not match what a user has</li> + </ul> + </li> + <li>Avoid "hands-on" photographs of phones, tablets, or monitors</li> + <li>Apps in the Marketplace will not be used inside a browser, so avoid showing browser chrome (toolbars, back/forward, address bar, etc.)</li> + <li>Use text minimally to explain the interface, not to advertise</li> + <li>Avoid graphic elements other than the app itself</li> + <li>Avoid borders or "filters"</li> + <li>Screenshots are displayed in the order that they're uploaded; put your best screenshots first</li> +</ul> +<p>In general, you should show the app, not its surroundings.</p> +<h2 id="Sizes_and_Formats">Sizes and Formats</h2> +<p>Screenshots are accepted in JPG and PNG format, though PNG-24 is preferred because of its lossless properties. If JPG is used, the screenshot should use minimal compression and use the highest quality settings.</p> +<h3 id="Suggested_Sizes">Suggested Sizes</h3> +<table class="standard-table"> + <thead> + <tr> + <th scope="col">Form Factor</th> + <th scope="col">Suggested Resolutions</th> + </tr> + </thead> + <tbody> + <tr> + <td>Phone</td> + <td>multiples of 320x480, 720x1280, inverse/landscape ratios</td> + </tr> + <tr> + <td>Tablet</td> + <td>multiples of 1024x768, 1280x800</td> + </tr> + <tr> + <td>Desktop</td> + <td>multiples of 1280x800, 1440x900</td> + </tr> + </tbody> +</table> +<h2 id="Examples">Examples</h2> +<p>Do not include grahical elements other than the app itself, including ads or logos.</p> +<p><img alt="" src="https://mdn.mozillademos.org/files/6313/no-ads.png" style="width: 640px; height: 360px;"></p> +<p>Do not submit "hands-on" photos, or edit the screenshot onto a physical device.</p> +<p><img alt="" src="https://mdn.mozillademos.org/files/6315/no-hand.png" style="width: 640px; height: 360px;"></p> +<p>Do not submit screenshots that use simulated device borders, unnecessary text, or other unnecessary features.</p> +<p><img alt="" src="https://mdn.mozillademos.org/files/6317/no-simulated-device.png" style="width: 640px; height: 360px;"></p> diff --git a/files/es/mozilla/marketplace/publishing/open_web_apps_for_android/index.html b/files/es/mozilla/marketplace/publishing/open_web_apps_for_android/index.html new file mode 100644 index 0000000000..c624a48e12 --- /dev/null +++ b/files/es/mozilla/marketplace/publishing/open_web_apps_for_android/index.html @@ -0,0 +1,133 @@ +--- +title: 'Open Web Apps for Android: Synthetic APKs' +slug: Mozilla/Marketplace/Publishing/Open_web_apps_for_android +translation_of: Archive/Marketplace/Options/Open_web_apps_for_android +--- +<div class="summary"> + <p>Los usuarios pueden instalar sus aplicaciones de Marketplace en el navegador de Firefox o Firefox OS, obteniendo el beneficio potentes funciones de web abierta. Sin embargo, para los usuarios de Android puede resultar más cómodo instalar sus aplicaciones como aplicaciones de Android 'normales'. Ahora eres capaz de ofrecer esta característica a los usuarios usando Synthetic APKs (también conocido como tiempo de ejecución de Web para Android), una solución disponible en <a href="https://marketplace.firefox.com/">Firefox Marketplace</a> que crea APKs nativas para la instalación en dispositivos Android.</p> +</div> +<h2 id="¿Qué_es_una_Synthetic_APK">¿Qué es una Synthetic APK?</h2> +<p>Una Synthetic APK es una Open Web App contenida en un paquete de instalación de Android, que puede ser instalado y ejecutado del mismo modo que cualquier otra aplicación Android. El paquete APK consiste en contenido web (en el caso de aplicaciones empaquetadas) o un puntero a contenido web (en el caso de aplicaciones organizadas). Este contenido es después encerrado en una fina envoltura Java/Android que proporciona de integración en el Sistema Operativo nativo.</p> +<p>Estos paquetes son creados por el <a href="https://github.com/mozilla/apk-factory-service">APK Factory Service</a> que es ejecutado como un servicio web por Marketplace. El APK Factory Service hace uso del <a href="https://github.com/mozilla/apk-factory-library">APK Factory Library</a> para crear el paquete real y del <a href="https://github.com/mozilla/apk-signer">APK Signer</a> para firmar digitalmente el APK. Este servicio está disponible para <a href="/en-US/Marketplace/Publishing/Creating_a_store">su propio Marketplace</a>, si decide crear uno.</p> +<p>Usted no necesita ningún conocimiento de desarrolo Android, o adoptar medidas de desarrollo adicionales, para usar Synthetic APK: usted simplemente selecciona la opción APK al enviar sus aplicaciones al Marketplace.</p> +<div class="note"> + <p><strong>Nota</strong>: Synthetic APKs son soportadas por los dispositivos Android con Firefox 29 o superior instalado.</p> +</div> +<p>El tiempo de ejecución de Open Web App en Android sostiene 12 APIs para accedes a capacidades del dispositivo tales como vibración, geolocalización, estado de la batería, y más. Puede verse una<a href="https://wiki.mozilla.org/WebAPI#APIs"> lista completa de APIs soportadas aquí</a>: las APIs que muestran una "A" bajo "Availability" son aquellas APIs disponibles en Android, con elementos verdes indicando que la API está disponible en su totalidad. Usted puede colocar el puntero del ratón sobre los elementos individuales para obtener mensajes con más información.</p> +<p>El tiempo de ejecución en Android continuará añadiendo soporte para otras APIs en futuras versiones. Algunas de las APIs planeadas son:</p> +<ul> + <li>API de Alarma</li> + <li>SimplePush API</li> + <li>Actividades Web</li> +</ul> +<div class="note"> + <p><strong>Nota</strong>: Los usuarios de Android pueden estar usando dispositivos con mayores resoluciones (DPI) y mayores tamaños de pantalla que aquellos encontrados en los dispositivos con Firefox OS. Las aplicaciones que no han usado un diseño de respuesta puede que por ello proporcionen una experiencia pobre, y puede que usted quiera diseñar sus aplicaciones teniendo esto en mente.</p> +</div> +<h2 id="Uso_de_synthetic_APKs">Uso de synthetic APKs</h2> +<p>Esta sección proporciona detalles en el modo en que usted elija para hacer uso de synthetic APKs, cómo afectan a la experiencia de Marketplace, e información sobre actualizaciones de las aplicaciones. </p> +<h3 id="Activación_de_la_opción_synthetic_APK">Activación de la opción synthetic APK </h3> +<p>Cuando usted <a href="/en-US/Marketplace/Submission/Submitting_an_app">envía una aplicación al Firefox Marketplace</a>, usted tiene la opción de hacer que su aplicación esté disponible como una aplicación "nativa" para dispositivos Android usando una synthetic APK.</p> +<h3 id="Envío_una_aplicación">Envío una aplicación</h3> +<p>Cuando usted envía una aplicación al al Marketplace el APK Factory Service es invocado para crear una synthetic APK firmada en modo de depuración de Android. Esta versión de la APK entonces se hace disponible para que los críticos de la aplicación completen el proceso normal de revisión. Una vez que la aplicación ha sido revisada y aprobada el APK Factory service es invocado de nuevo, esta vez para firmar la synthetic APK con una APK Signing Key única. La Synthetic APK firmada resultante es entonces almacenada en caché para la entrega cuando un usuario decide instalar la aplicación.</p> +<h3 id="Instalación_de_una_synthetic_APK">Instalación de una synthetic APK</h3> +<p>Una vez que su aplicación ha sido aprobada, cuando un usuario selecciona su aplicación en el Marketplace en su dispositivo Android la instalación se diferencia ligeramente del proceso habitual, como sigue:</p> +<ol> + <li><a href="https://marketplace.firefox.com/">Firefox Marketplace</a> muestra la información de la aplicación y el botón de instalación como normalmente.</li> + <li>Cuando el usuatio selecciona instalar se muestra el diálogo de confirmación de instalación estándar de Marketplace. El diálogo lista los permisos requeridos por aplicaciones privilegiadas e información acerca de la necesidad de habilitar la opción de instalar aplicaciones de "fuentes desconocidas"; el Marketplace incluirá redacción para explicar cualquien duda que los usuarios puedan tener.</li> + <li>Cuando el usuario confirma que quiere continuar con la instalación, {{ domxref("Apps.install") }} / {{ domxref("Apps.installPackage") }} son invocados como usted esperaría (dependiendo de si se trata de una aplicación alojada o empaquetada), sin embargo en vez del proceso normal por el cual la versión Open Web APP es instalada, se realiza una llamada al APK Factory Service para solicitar la APK almacenada en caché. La synthetic APK es entonces descargada al dispositivo Android y el proceso de instalación de aplicación estándar de Android es invocado.</li> +</ol> +<p>Una vez que la synthetic APK ha sido instalada, el usuario encontrará la aplicación en su menú de aplicaciones y el proceso para usar y eliminar las aplicaciones será el mismo que esperaría de otras aplicaciones Android.</p> +<h3 id="Mantener_las_aplicaciones_actualizadas">Mantener las aplicaciones actualizadas</h3> +<p>El Marketplace y la APK Factory también proporcionan un mecanismo para actualizar su aplicación e informar a los usuarios de que la actualización está disponible.</p> +<p>Si su aplicación está alojada, siempre que usted haga un cambio en su servidor los usuarios se enterarán de esos cambios la siguiente vez que ejecuten su aplicación. Si usted realiza un cambio visible en su aplicación. tal como realizar un cambio en el icono de la aplicación, tras detectar el número de versión actualizada en el manifiesto de la aplicación la APK Factory creará una APK actualizada y notificará a los usuarios de que una actualización está disponible.</p> +<p>Para aplicaciones empaquetadas usted actualiza el contenido de la aplicación y envía un nuevo archivo empaquetado en zip y el manifiesto actualizado. La APK Factory recogerá esos cambios e informará a sus usuarios de que una aplicación actualizada se encuentra disponible.</p> +<h2 id="Como_funciona_la_APK_Factory">Como funciona la APK Factory </h2> +<p>Esta sección describe como la APK Factory crea synthetic APKs.</p> +<ol> + <li>Cuando la APK factory es invocada, como se ha descrito anteriormente, detecta si la aplicación está alojada o empaquetada, entonces pide el archivo de manifiesto de la aplicación del servidor donde se halla alojada (el Firefox Marketplace, o cualquier otro lugar donde la aplicación está alojada): + <ul> + <li>El manifiesto principal en el caso de aplicaciones alojadas.</li> + <li>El manifiesto mini en el caso de aplicaciones empaquetadas.</li> + </ul> + </li> + <li>La APK factory ahora tiene la información que necesita acerca de la aplicación, y solicita: + <ul> + <li>La URL de almacenamiento de aplicaciones en el caso de aplicaciones alojadas.</li> + <li>El archivo zip de la aplicación del marketplace en el caso de aplicaciones empaquetadas.</li> + </ul> + </li> + <li>Ahora el APK Factory service crea la synthetic APK mediante la realización de la transcodificación de algunos metadatos para elementos tales como iconos y requerimientos de seguridad, entonces: + <ul> + <li>envolviendo la URL de alojamiento en un contenedor Android Java para aplicaciones alojadas.</li> + <li>envolviendo el contenido de la aplicación en un contenedor Android Java para aplicaciones empaquetadas.</li> + </ul> + </li> + <li>Una vez creada, la synthetic APK es firmada por un servicio <strong><a href="https://github.com/mozilla/apk-signer">APK Signer</a></strong> seguro: + <ul> + <li>Para "revisión" las APKs son firmadas en modo de depuración de Android.</li> + <li>For "lanzamiento" las APKs son firmadas con una <strong>APK signing key</strong>.</li> + </ul> + </li> + <li>Finalmente, la APK firmada es almacenada en caché para enviar a: + <ul> + <li>el proceso de revisión de aplicación.</li> + <li>un dispositivo Android cuando el usuario solicite su instalación desde Marketplace.</li> + </ul> + </li> +</ol> +<p>Los siguientes diagramas ofrecen una representación alternativa del flujo de trabajo de la APK Factory. Primero, una aplicación empaquetada:</p> +<p><img alt="" src="https://mdn.mozillademos.org/files/7315/synthapkflow-packaged.png" style="width: 540px; height: 522px; display: block; margin: 0px auto;"></p> +<p>Ahora, para una aplicación alojada:</p> +<p><img alt="" src="https://mdn.mozillademos.org/files/7313/synthapkflow-hosted.png" style="width: 678px; height: 525px; margin: 0px auto; display: block;"></p> +<h2 id="Nombramiento_de_paquetes_y_claves_de_firma_de_APK">Nombramiento de paquetes y claves de firma de APK</h2> +<p>En la instalación de una synthetic APK el dispositivo Android comprueba el nombre y la firma del paquete Java. Verifica la firma la primera vez que una aplicación es instalada (no exixte una autoridad central con la que lo comprueba) y actualizaciones futuras deberán tener el mismo nombre y firma del paquete. Si el nombre y la firma del paquete no son los mismos el dispositivo Android no actualizará la instalación.</p> +<h3 id="Nombramiento_de_paquetes">Nombramiento de paquetes</h3> +<p>El nombre de paquete para una synthetic APK consiste en el sitio de alojamiento y un número de serie único, por ejemplo:</p> +<ul> + <li>para una aplicación alojada: org.mykzilla.p362b12c70d0556c124908a3c125d3d02:</li> + <li>para una aplicación empaquetada: com.firefox.marketplace.p0604c71abc0d4091829d19be9a50453c</li> +</ul> +<h3 id="Claves_de_firma_de_APK">Claves de firma de APK</h3> +<p>Cada APK necesita ser identificada por una clave de firma de APK antes de poder ser instalada en un dispositivo Android. Las claves de firma APK son creadas y son propiedad del servicio <strong><a href="https://github.com/mozilla/apk-signer">APK Signer</a></strong>. Estas claves de firma son inestables en sistema, y almacenadas de manera segura en el APK Signer, que es por lo que se considera "seguro".</p> +<p>Este servicio crea una clave única para cada aplicación, aplicándola a la publicación inicial y a las actualizaciones subsiguientes. La reutilización de la clave en aplicaciones APK actualizadas es importante ya que sin una igualdad en el nombre del paquete y la clave Android no instalará una actualización sobre una versión anterior de la aplicación. Si usted crea su propia versión del Marketplace la APK conservará el mismo nombre y claves, por lo que cualquier versión podrá actualizar la otra.</p> +<div class="note"> + <p><strong>Nota</strong>: Mozilla no asume ninguna responsabilidad acerca de la credibilidad de las claves de firma de APK, refiriéndose a que las claves no proporcionen ninguna información acerca de la autenticidad de la aplicación o el desarrollador más allá de que han sido aprobados para su lanzamiento en Marketplace. El servicio no está vinculado a Google o alguna otra autoridad central.</p> +</div> +<h2 id="FAQ">FAQ</h2> +<p>Aquí se encuentran las respuestas a algunas preguntas relizadas frecuentemente acerca de Synthetic APKs.</p> +<h3 id="¿Qué_pasa_con_la_reinstalación_de_aplicaciones_instaladas_como_favoritas">¿Qué pasa con la reinstalación de aplicaciones instaladas como favoritas?</h3> +<p>Esto no ha sido aún realizado totalmente, pero el comportamiento esperado es que el marcado de aplicaciones como favoritas dejará de funcionar cuando el usuario actualice a una versión de Firefox para Android con la implementación Synthetic APK (versión 29 o posterior). El usuario entonces tendrá que reinstalar sus aplicaciones para usarlas de nuevo.</p> +<h3 id="¿Cómo_funcionarán_las_compras_in-app">¿Cómo funcionarán las compras in-app?</h3> +<p>La APK tiene acceso a la interfaz de usuario de confianza, <a href="/en-US/docs/Web/API/Navigator.mozPay">mozPay</a>, y todos los procesos de pago para compras in-app, por lo que los pagos in-app funcionarán de manera normal.</p> +<h3 id="¿Cómo_puedo_descargar_una_copia_de_la_APK_de_mi_aplicación">¿Cómo puedo descargar una copia de la APK de mi aplicación?</h3> +<p>Usted puede descargar una copia de su aplicación usando using wget y el siguiente comando:</p> +<p><code>https://controller.apk.firefox.com/application.apk?manifestUrl=ESCAPED_URL_TO_MANIFEST</code></p> +<p>donde ESCAPED_URL_TO_MANIFEST es una URL escapada el manifiesto de la aplicación o mini-manifiesto. Esta URL hace que la APK Factory devuelve la copia almacenada en caché de la APK, o crea una nueva si la aplicación no ha sido enviada al Marketplace. Si la aplicación no ha sido enviada al Marketplace la APK es firmada en modo de depuración.</p> +<h4 id="Ejemplos">Ejemplos</h4> +<p>Para una aplicación alojada:</p> +<p><code>> wget https://controller.apk.firefox.com/application.apk?manifestUrl=http%3A%2F%2Fmykzilla.org%2Fapp%2Fmanifest.webapp -O mykzilla.apk<br> + > aapt dump --values badging mykzilla.apk<br> + package: name='org.mykzilla.p362b12c70d0556c124908a3c125d3d02' versionCode='1395692586' versionName=''</code></p> +<p>Para una aplicación empaquetada:</p> +<p><code>> wget https://controller.apk.firefox.com/application.apk?manifestUrl=https%3A%2F%2Fmarketplace.firefox.com%2Fapp%2Fa22e0277-35bc-434d-9371-1568c75fc726%2Fmanifest.webapp -O cuttherope.apk<br> + > aapt dump --values badging cuttherope.apk<br> + package: name='com.firefox.marketplace.p0604c71abc0d4091829d19be9a50453c' versionCode='1394154656' versionName='1.3'</code></p> +<h3 id="¿Puedo_generar_una_synthetic_APK_manualmente_desde_una_URL_diferente">¿Puedo generar una synthetic APK manualmente desde una URL diferente?</h3> +<p>Sí puede, proporcionando la URL de cualquier ubicación de sus archivos de manifiesto o mini-manifiesto. No obstante, tenga cuidado con esto porque si la synthetic APK es generada desde una URL diferente el nombre de paquete será distinto del creado cuando usted envió la aplicación al Marketplace, por lo que la versión del Marketplace será instalada como una aplicación separada.</p> +<h3 id="Si_configuro_mi_propia_versión_de_APK_Factory_¿puedo_usar_la_synthetic_APK_que_genera">Si configuro mi propia versión de APK Factory ¿puedo usar la synthetic APK que genera?</h3> +<p>Usted puede, pero tenga cuidado porque las claves de firma serán diferentes de las asignadas a una versión de la synthetic APK generada por el Marketplace. Como resultado Android rechazará instalar la versión que el usuario intente instalar en segundo lugar. <span style="line-height: 1.5;">(Ver </span><a href="https://developer.mozilla.org/en-US/Marketplace/Publishing/Open_web_apps_for_android#If_I_also_have_an_Android_native_version_of_my_app.2C_can_both_be_installed_on_an_Android_device.3F" style="line-height: 1.5;">Si también tengo una versión nativa de Android de mi aplicación, ¿pueden ambas ser instaladas en un dispositivo Android?</a><span style="line-height: 1.5;"> para más información.)</span></p> +<h3 id="¿Puedo_enviar_una_synthetic_APK_a_Google_Play_o_a_otra_tienda_de_Android">¿Puedo enviar una synthetic APK a Google Play o a otra tienda de Android? </h3> +<p>Usted puede enviar una synthetic APK a Google Play o a una tienda alternativa de Android. Sin embargo, es su responsabilidad:</p> +<ul> + <li>Confirmar que su aplicación cumple las políticas de la tienda a la que usted la está enviando. La aprobación para distribución en Marketplace no implica una aprobación para Google Play u otro Marketplace Android.</li> + <li>Cuando usted actualice su Open Web App usted tendrá que actualizar la synthetic APK en todas las tiendas a las que usted haya enviado la APK, no hay un proceso automático para enviar APKs actualizadas a tiendas de Android.</li> +</ul> +<h3 id="¿Puedo_emplear_mis_claves_de_firma_Android_para_firmar_la_synthetic_APK_y_elegir_el_nombre_del_paquete">¿Puedo emplear mis claves de firma Android para firmar la synthetic APK y elegir el nombre del paquete?</h3> +<p>Actualmente usted no puede usar sus propias clavez de firma para firmar una synthetic APK o elegir el nombre del paquete. Esta opción está siendo considerada. Si esto es de su interés, únase a la discusión en el <a href="https://lists.mozilla.org/listinfo/dev-marketplace">dev-marketplace mailing list</a>, o el <a href="irc://irc.mozilla.org/marketplace">Marketplace IRC channel</a>.</p> +<h3 id="Si_también_tengo_una_versión_nativa_de_Android_de_mi_aplicación_¿pueden_ambas_ser_instaladas_en_un_dispositivo_Android">Si también tengo una versión nativa de Android de mi aplicación, ¿pueden ambas ser instaladas en un dispositivo Android?</h3> +<p>A menos que usted elija usar el nombre de paquete de synthetic APK de su aplicación Android nativa, ambas pueden ser instaladas en un dispositivo Android. Si usted elige usar el mismo nombre de paquete para su aplicación Android nativa (la cual usted firmará con su propia clave) Android rechazará instalar la versión que el usuario intente instalar en segundo lugar. Esto es debido a que los nombres de paquete son iguales pero las claves de firma son diferentes, por lo que Android considera que las aplicaciones son la misma, pero de distintas fuentes. Por lo tanto Android rechazará actualizar una aplicación con la otra, ya que eso permitiría a un desarrollador anular la aplicación de otro. El usuario acabará con la primera versión instalada en su dispositivo.</p> +<div class="warning"> + <p>Debido a los problemas que puede causar a los usuarios, es altamente recomendado que usted no reutilice el nombre de paquete que la APK Factory asigna a su aplicación para una versión Android nativa de su aplicación.</p> +</div> +<h3 id="¿Cómo_puedo_testeardepurar_APKs">¿Cómo puedo testear/depurar APKs?</h3> +<p>Estamos trabajando en una serie de herramientas para testear y depurar una aplicación en un dispositivo Adnroid. La versión inicial incluirá una herramienta de línea de comandos basada en ndos para generar una APK que usted pueda instalar en el dispositivo y depurar usando Firefox's Remote Developer Tools.</p> diff --git a/files/es/mozilla/marketplace/publishing/packaged_apps/index.html b/files/es/mozilla/marketplace/publishing/packaged_apps/index.html new file mode 100644 index 0000000000..7a76aa8d98 --- /dev/null +++ b/files/es/mozilla/marketplace/publishing/packaged_apps/index.html @@ -0,0 +1,190 @@ +--- +title: Aplicaciones empaquetadas +slug: Mozilla/Marketplace/Publishing/Packaged_apps +translation_of: Archive/Mozilla/Marketplace/Options/Packaged_apps +--- +<p>Una <strong>aplicación empaquetada</strong> es una <em>Open Web App</em> que tiene todos sus recursos (HTML, CSS, JavaScript, manifiesto y demás) empaquetados en un archivo zip, en lugar de tenerlos en un servidor web. Una aplicación empaquetada es simplemente un archivo zip con el <a href="/en-US/docs/Web/Apps/Manifest">manifiesto de la aplicacion </a>en su directorio raíz. El manifiesto debe ser llamado <code>manifest.webapp</code>.</p> + +<p>Una direferencia de una aplicación alojada es que una aplicación empaquetada, es que debe especificar una ruta de arranque en el manifiesto en tanto que se trata de un campo opcional en una aplicación alojada.</p> + +<div class="note"> +<p><strong>Nota:</strong> Actualmente (Enero 2013) Firefox Marketplace solamente soporta aplicaciones empaquetadas para Firefox OS.</p> +</div> + +<h2 id="Propósito_de_las_aplicaciones_empaquetadas.">Propósito de las aplicaciones empaquetadas.</h2> + +<p>El propósito de una aplicación empaquetada, es tener una forma viable de proveer aplicaciones que tengan acceso a APIs sensibles en el dispositivo. Las aplicaciones deben ser verificadas por la tienda donde es distribuida (como Firefox Markerplace). La tienda revisa la aplicación y si la encuentra aceptable, firma el archivo zip de la aplicación con su llave privada. Esto da a los usuarios de la aplicación más seguridad de que han sido revisados problemas potenciales de seguridad, privacidad y capacidad.</p> + +<h2 id="Tipos_de_aplicaciones_empaquetadas.">Tipos de aplicaciones empaquetadas.</h2> + +<p>Aplicaciones privilegiadas</p> + +<dl> + <dd>Una <em>aplicación privilegiada</em> es aprobada por la Firefox Marketplace usando un proceso especial. Esto significa que provee más seguridad a los usuarios cuando la aplicación quiere accesar a ciertas APIs sensibles del dispositivo. Esto equivale a las aplicaciones nativas en plataformas como iOS o Android. Para especificar que se trata de una aplicación privilegiada agregue el campo <a href="/en-US/docs/Web/Apps/Manifest#type"><code>type</code></a> a su archivo <code>manifest.webapp</code> y establezca el valor de <code>privileged</code>.</dd> + <dd>Una aplicación privilegiada tiene las siguientes características : + <ul> + <li>Es aprobada por una tienda de aplicaciones después de la revisión de código o equivalente.</li> + <li>Los recursos de la aplicación son firmados por la tienda de aplicaciones.</li> + <li>Permite usar ciertas APIs Web sensibles a las que contenido no confiable no puede accesar.</li> + <li>Aplica <a href="/en-US/docs/Security/CSP/Introducing_Content_Security_Policy">Politicas de seguridad de contenido</a> (CSP). Una aplicacion con privilegios utiliza estas CSP: + <pre>"default-src *; script-src 'self'; object-src 'none'; style-src 'self' 'unsafe-inline'"</pre> + </li> + <li>Implementa otros requisitos relacionados con la seguridad. Vea <a href="https://wiki.mozilla.org/Apps/Security">Seguridad</a> para mas informacion.</li> + </ul> + </dd> + <dt>Aplicación certificada</dt> + <dd>Una aplicacion certificada está destinada a una función crítica del sistema como el marcado por defecto o la configuración del sistema en un teléfono inteligente. Este tipo de aplicación podría ser usada para funciones críticas en un teléfono con Firefox OS. No está destinada para aplicaciones de terceros por lo que la mayoría de desarrolladores no pueden utilizarlas. Una aplicación certificada es una aplicación empaquetada similar a una con privilegios, excepto que todos los permisos del dispositivos son implícitos, lo que significa que son habilitados sin la aprobación explícita del usuario. A Una aplicación certificada debe ser aprovada por el fabricante (OEM) o compañía (carrier) para tener la aprobación implícta para usar APIs críticas. Para especificar que una aplicación es certificada, agregue el campo <a href="/en-US/docs/Web/Apps/Manifest#type"><code>type</code></a> a su archivo <code>manifest.webapp</code> y establecer su valor a <code>certified</code>.</dd> + <dd>Las siguientes son las CSP de una aplicación certificada, las cuales, son lígeramente direfentes de las de una con privilegios: + <pre>"default-src *; script-src 'self'; object-src 'none'; style-src 'self'"</pre> + Esto hace parecer que las reglas en las CSP son ligeramente más flexibles para las aplicaciones con privilegios que en las aplicaciones certificadas. Si quiere saber las razones de esto, vea <a href="https://wiki.mozilla.org/Apps/Security#Default_CSP_policy">las Políticas CSP por defecto </a>y <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=768029">Bug 768029</a>.</dd> + <dt>Aplicaciones empaquetadas planas</dt> + <dd>Usted también puede hacer una simple aplicación empaquetada en un archivo zip. La tienda la firma, pero no implementa el proceso especial de autenticación como en las aplicaciones certificadas o con privilegios. Estas aplicaciones no pueden usar ciertas Web APIs sensibles. Tampoco está sujeta a las CSP como las aplicaciones certificadas o con privilegios. Este tipo de aplicación puede ser útil si quiere que todos los recursos de su aplicación estén disponibles cuando el usuario la usa por primera vez sin descargarlos. Este tipo de aplicación empaquetada no requiere el campo <code>type</code> en su archivo <code>manifest.webapp</code> por que el valor por defecto para <code>type</code> (<code>web</code>) es correcto.</dd> +</dl> + +<h2 id="Diferencias_con_las_aplicaciones_hospedadas">Diferencias con las aplicaciones hospedadas</h2> + +<p>Las aplicaciones empaquetadas tienen las mismas capacidades que las aplicaciones web de código abierto normales (aplicaciones "alojadas"), pero las aplicaciones empaquetadas tienen algunas diferencias:</p> + +<ul> + <li>No tienen origen en Internet. La política de una aplicación por origen (<em>one-app-per-origin</em>) que gobierna a las aplicaciones hospedadas no aplica para las aplicaciones empaquetadas.</li> + <li>Las aplicaciones empaquetadas usan un protocolo interno especial en el archivo zip: <code>app://<uuid></code>. Ejemplo: Cuando usted carga el contenido de <code>/index.html</code> en una aplicacion empaquetada, en realidad esta cargando algo como lo siguiente: (el UUID sera diferente): + <pre>app://550e8400-e29b-41d4-a716-446655440000/index.html</pre> + + <p>El UUID es generado al azar en el momento de la instalacion, lo cual significa que es único en cada dispositivo en la que es instalada la aplicación. El protocolo <code>app://</code> será útil en futuras versiones en tiempo de ejecución, pagos y flujos de OAuth.</p> + </li> + <li>El archivo del manifiesto debe ser llamado <code>manifest.webapp</code>.</li> + <li>Los recursos son accedidos desde un archivo zip, el cual es almacenado en el dispositivo donde son instalados.</li> + <li>Son instalados con una funcion API <code>mozApps</code> diferente: <code>installPackage()</code>.</li> + <li>Aplican una <a href="/en-US/docs/Security/CSP/Introducing_Content_Security_Policy">CSP</a> para todo el contenido de la aplicación (una aplicación también puede usar una CPS, pero no la requiere).</li> + <li>También pueden incrustar contenido remoto en <code>iframes</code>, pero dicho contenido no tendrá acceso a APIs privilegiadas ni las CSP por defecto le serán aplicadas.</li> + <li>Tienen un proceso de actualizacion para obtener las nuevas versiones para los usuarios; las aplicaciones hospedades no lo necesitan de este proceso.</li> +</ul> + +<p>Las aplicaciones empaquetadas también pueden hacer cosas como acceder a bases de datos en un servidor web como una aplicación hospedada.</p> + +<h2 id="Usando_APIs_Web_sensibles">Usando APIs Web sensibles</h2> + +<p>Hay Web APIs que pueden ser usadas maliciosamente por lo que el acceso a estas debe ser controlado. Para cada API sensible a la que se quiera acceder, ustede debe agregar una entrada al campo <code>permissions</code> en el <a href="/en-US/docs/Web/Apps/Manifest">manifiesto de la aplicación</a>.</p> + +<p>Algunas APIs sensibles pueden ser accedidas por aplicaciones hospedadas normales, pero otras APIs requieren que usted use una aplicación empaquetada (con privilegios o certificada). Vea <a href="/en-US/docs/Web/Apps/App_permissions">Permisos de aplicaciones</a> para una tabla que describe los requisitos..</p> + +<h2 id="Aplicaciones_empaquetadas_de_la_tienda_de_Firefox_(Firefox_Marketplace).">Aplicaciones empaquetadas de la tienda de Firefox (Firefox Marketplace).</h2> + +<p>La tienda de Firefox (Firefox Marketplace) maneja a las aplicaciones empaquetadas de forma diferente que las aplicaciones hospedadas. Cuando usted manda una aplicación empaquetada, su archivo zip es almacenado en los servidores de la Tienda y genera un nuevo manifiesto llamado el "mini-manifiesto" que está basado en el manifiesto de la aplicación que se encuentra en el archivo zip. Cuando un usuario installa su aplicación, el mini-manifiesto es pasado a la función <code>installPackage()</code> en la aplicación instalada. El mini-manifiesto existe para propósitos de instalación y actualización y no es usado cuando la aplicación se ejecuta.</p> + +<h2 id="Prueba_de_instalación_de_una_aplicación_empaquetada_(con_Simulador)">Prueba de instalación de una aplicación empaquetada (con Simulador)</h2> + +<p>Para instalar una aplicación empaquetada en un dispositivo Firefox OS usando el simulador, vea la <a href="/en-US/docs/Tools/Firefox_OS_Simulator#Push_to_device">sección "Push to Device" en la guía del Simulador</a>.</p> + +<h2 id="Prueba_de_instalación_de_una_aplicación_empaquetada_(sin_Simulador)">Prueba de instalación de una aplicación empaquetada (sin Simulador)</h2> + +<p>Si quieres probar localmente la instalación de tu aplicación empaquetada, aquí hay otra forma de hacerlo. Usa los siguietnes pasos para instalar una aplicación empaquetada en un teléfono usando un servidor Web que está en tu red local. Puede ser un servidor local que se ejecute en la computadora en la que estás desarrollandol. Esto también de dará una idea de cómo funciona la instalación de aplicaciones empaquetadas.</p> + +<h3 id="Requisitos">Requisitos</h3> + +<ul> + <li>El servidor Web debe estar en la misma red que el teléfono y debe de estar habilitado para recibir peticiones de la red local.</li> + <li>El teléfono debe ejecutar Firefox OS y tener el Wi-fi encendido.</li> + <li>Modifique las rutas usadas en el siguiente código de ejemplo para que coincidan con su servidor..</li> + <li>Obtenga la dirección IP de su servidor y úsela en lugar de <strong><code><server-ip></code></strong> en los siguientes ejemplos. Si el servidor no utiliza un puerto estándar, use este también. Ejemplo de una dirección IP sin un puerto estándar: + <pre>10.10.12.1:8080</pre> + </li> +</ul> + +<h3 id="Pasos">Pasos</h3> + +<ol> + <li>Tenga su aplicación empaquetada disponible y dele el nombre de <code>package.zip</code>. Este archivo tiene todos los recursos, incluyendo el archivo del manifiesto.</li> + <li>Cree un archivo llamado <code>package.manifest</code> y agregue el siguiente contenido. Este es un mini-manifiesto usado por aplicaciones empaquetadas dentro del archivo zip. Vea <a href="#Mini-manifest_fields">Campos del mini-manifiesto</a> si quiere más información acerca de los mini-manifiestos. + <pre class="brush: js">{ + "name": "My App", + "package_path": "http://<strong><server-ip></strong>/package.zip", + "version": "1.0" +}</pre> + </li> + <li>Cree un archivo llamado <code>install.html</code> con el siguiente contenido . Este contiene el código JavaScript que llama a la aplicación empaquetada (<a href="/en-US/docs/Web/API/Apps.installPackage"><code>installPackage()</code></a>) y a las funciones <em>callbacks</em> para las notificaciones de éxito o falla. + <pre class="brush: html"><html> + <body> + <p>Packaged app installation page</p> + <script> + // This URL must be a full url. + var manifestUrl = 'http://<strong><server-ip></strong>/package.manifest'; + var req = navigator.mozApps.installPackage(manifestUrl); + req.onsuccess = function() { + alert(this.result.origin); + }; + req.onerror = function() { + alert(this.error.name); + }; + </script> + </body> +</html></pre> + </li> + <li>Copie el archivo <code>package.zip</code>, <code>package.manifest</code>, e <code>install.html</code> dentro de la carpeta raíz del documento en el servidor.</li> + <li>Utilice el navegador en el teléfono para abrir <code>http://<strong><server-ip></strong>/install.html</code> y confirme la entrada para instalar la aplicación. El script le dará una la indicación de que la instalación fue exitosa o falló.</li> +</ol> + +<div class="note"> +<p><strong>Nota:</strong> Si usted quiere probar aplicaciones certificadas (descritas anteriormente) encienda el "modo de desarrolador" ("developer mode") en el dispositivo que quiera instalar la aplicación (con Firefox OS) y asegúrese de especificar el <a href="/en-US/docs/Web/Apps/Manifest#type"><code>type</code></a> correcto en su archivo <code>manifest.webapp</code>.</p> +</div> + +<h2 id="Campos_del_mini-manifiesto">Campos del mini-manifiesto</h2> + +<p>Aqui hay un ejemplo de los campos del mini-manifiesto (mini-manifest):</p> + +<pre class="brush: js">{ + "name": "My app", + "package_path": "http://thisdomaindoesnotexist.org/myapp.zip", + "version": "1.0", + "size": 172496, + "release_notes": "First release", + "developer": { + "name": "Developer Name", + "url": "http://thisdomaindoesnotexist.org/" + }, + "locales": { + "fr_FR": { + "name": "Mon application" + }, + "se_SE": { + "name": "Min balla app" + } + }, + "icons": { + "16": "/icons/16.png", + "32": "/icons/32.png", + "256": "/icons/256.png" + } +} +</pre> + +<p>Cuando el Firefox Marketplace genera un mini-manifiesto para tu aplicacion, extrae informacion desde tu manifiesto de la aplicacion para algunos campos. Usted puede encontrar documentación para estos campos en el <a href="/en-US/docs/Web/Apps/Manifest">manifiesto de la aplicación</a>. Los campos únicos del mini-manifiesto son <code>package_path</code>, <code>release_notes</code>, y <code>size</code>. Los campos <code>name</code>, <code>version</code>, <code>developer</code>, y <code>locales</code> en su manifiesto de la aplicación deben ser exactamente los mismos que en su mini-manifiesto.</p> + +<p>Aquí hay información sobre el mini-manifiesto que se relaciona con su uso a nivel local para sus propias pruebas::</p> + +<dl> + <dt><code>name</code></dt> + <dd>(requerido) El nombre de la aplicación. La longitud máxima es de 128 caracteres.</dd> + <dt><code>package_path</code></dt> + <dd>(Requerido) Una URL completa donde el zip de la aplicación puede ser encontrado.</dd> + <dt><code>version</code></dt> + <dd>La versión de la aplicación.</dd> + <dt><code>size</code></dt> + <dd>El tamaño del zip de la aplicación en bytes. No es necesario para las pruebas locales pero se utiliza para mostrar una barra de progreso durante la instalación.</dd> + <dt><code>release_notes</code></dt> + <dd>Información acerca del lanzamiento de la aplicación. En el Marketplace esta información proviene de la página web que es parte del proceso de envío..</dd> + <dt><code>developer</code></dt> + <dd>Información acerca del desarrolador, contiene los campos <code>name</code> y <code>url</code>.</dd> + <dt><code>locales</code></dt> + <dd>Información de localización.</dd> + <dt><code>icons</code></dt> + <dd>Iconos usados por la aplicación.</dd> +</dl> + +<h2 id="Actualizando_aplicaciones_empaquetadas">Actualizando aplicaciones empaquetadas</h2> + +<p>Para información sobre actualizar aplicaciones, vea <a href="/en-US/docs/Web/Apps/Updating_apps">Actualizando aplicaciones</a>.</p> + +<h2 id="Ejemplo_de_aplicación_empaquetada">Ejemplo de aplicación empaquetada</h2> + +<p><a href="https://github.com/robnyman/Firefox-OS-Boilerplate-App" title="https://github.com/robnyman/Firefox-OS-Boilerplate-App">Firefox OS Boilerplate App</a></p> diff --git a/files/es/mozilla/marketplace/publishing/publish_options/index.html b/files/es/mozilla/marketplace/publishing/publish_options/index.html new file mode 100644 index 0000000000..fbe32dff00 --- /dev/null +++ b/files/es/mozilla/marketplace/publishing/publish_options/index.html @@ -0,0 +1,70 @@ +--- +title: Opciones para la publicación de aplicaciones +slug: Mozilla/Marketplace/Publishing/Publish_options +tags: + - Apps + - Marketplace +translation_of: Archive/Mozilla/Marketplace/Options/Self_publishing +--- +<div class="summary"> + <p>Una vez usted ha finalizado su aplicación es necesario publicarla para que este disponible para el usuario final (sin importar que se utilice como una página Web desde el navegador o sea descargada y utilizada en un dispositivo como un teléfono con Firefox OS), suministrando información de soporte como instrucciones de uso y otros recursos. Este articulo muestra brevemente las diferentes opciones disponibles para usted.</p> +</div> +<h2 id="Publicando_en_el_Marketplace_de_Firefox">Publicando en el Marketplace de Firefox</h2> +<p>El <a href="https://marketplace.firefox.com/" title="/en-US/docs/Web/Apps/Publishing/Submitting_an_app">Marketplace de Firefox</a> es nuestra tienda para distribuir aplicaciones tanto gratuitas como de pago. <a href="/en-US/docs/Web/Apps/Publishing/Submitting_an_app">Enviar una aplicación al Marketplace de Firefox</a> es un proceso simple, la carga a la tienda implica la subida de la aplicación conjuntamente con su información complementaria, luego espere mientras su aplicación pasa a través del proceso de revisión para segurar su calidad y que no contenga código malicioso. El envió al Marketplace de Firefox también confiere una serie de ventajas como el incremento de publicidad, tampoco es necesario implementar APIs especiales en su sitio Web, y la posibilidad de publicar aplicaciones de pago. Usted puede enviar tanto aplicaciones empaquetadas como aplicaciones hosteadas al Marketplace de Firefox.</p> +<h3 id="Aplicaciones_hosteadas">Aplicaciones hosteadas</h3> +<p>Una aplicación hosteada es básicamente una página almacenada en un servidor Web que puede utilizarse como una aplicación (el termino hosteada viene del ingles hosting). Si usted quiere permitir a las personas instalar su aplicación directamente desde su Web, usted debe implementar <a href="/en-US/Apps/Developing/JavaScript_API"> algo de código JavaScript</a> en su sitio Web para administrar la instalación y/o actualización de la aplicación en el navegador de los usuarios, asegúrese también que el código de su aplicación incluya un archivo de manifiesto válido. Por favor vea nuestros <a href="/en-US/docs/Web/Apps/Introduction_to_open_web_apps#Manifest" title="/en-US/docs/Web/Apps/Introduction_to_open_web_apps#Manifest">archivos de manifiesto</a> y nuestras <a href="/en-US/docs/Web/Apps/Introduction_to_open_web_apps#Install_API_functionality" title="/en-US/docs/Web/Apps/Introduction_to_open_web_apps#Install_API_functionality">APIs de instalación</a> para ver los pasos para implementar estas funciones.</p> +<p>El lugar que usted escoja para almacenar su aplicación queda enteramente a su conveniencia, pero las dos opciones que mostraremos a continuación son las mas comunes y convenientes.</p> +<h4 id="GitHub">GitHub</h4> +<p>Si tu aplicación Web es puramente estática (HTML/CSS/JavaScript, pero sin procesamiento del lado del servidor), <a href="http://pages.github.com" rel="external">GitHub Pages</a> es una opción bastante confiable. si usted usa una extensión <code>.webapp </code>esta plataforma entregara su manifiesto con <a href="/en-US/Apps/Developing/Manifest#Serving_from_GitHub">correspondiente tipo de MIME</a>.</p> +<h4 id="Soluciones_genéricas_de_hosting">Soluciones genéricas de hosting</h4> +<p>Para sitios Web dinámicos use la opción de hosting genérico (como un servidor Web de su propiedad o uno al que tenga acceso) con las capacidades necesarias o un proveedor de hosting específicamente adaptado a las necesidades de su aplicación, como por ejemplo <a href="http://www.heroku.com" rel="external">Heroku</a> o <a href="http://code.google.com/appengine" rel="external">Google App Engine</a>.</p> +<div class="note"> + <p><strong>Nota</strong>: Las aplicaciones Web instalables tienen una política de seguridad llamada "una aplicación por origen" ; básicamente usted no puede almacenar mas de una aplicación por origen. Esto hace el proceso de pruebas un poco mas difícil, pero siempre podrá crear un sub-dominio para cada aplicación y utilizar el simulador de Firefox OS o Firefox Aurora (que permites instalar aplicaciones Web el en escritorio) para probarlas. Vea las <a href="/en-US/docs/Web/Apps/FAQs/About_app_manifests">FAQs acerca del manifiesto de aplicaciones</a> para mas información sobre los orígenes.</p> +</div> +<h3 id="Aplicaciones_empaquetadas">Aplicaciones empaquetadas</h3> +<p>Una aplicación empaquetada es una Web que tiene todos sus recursos (HTML, CSS, JavaScript, manifiesto, etc.) contenidos en un archivo zip en lugar de tener esos recursos alojados en un servidor Web. Una aplicación empaquetada es simplemente un archivo zip con el <a href="https://developer.mozilla.org/en-US/docs/Web/Apps/Manifest">manifiesto de la aplicación</a> en su directorio raíz. El manifiesto debe llamarse <code>manifest.webapp</code>.</p> +<p>Una diferencia con las aplicaciones hosteadas es que usted debe especificar un <code><a href="https://developer.mozilla.org/en-US/docs/Web/Apps/Manifest#launch_path">launch_path</a></code> en el manifiesto, y en las aplicaciones hosteadas esto es un campo opcional. Para mayor información vea nuestro articulo sobre <a href="/en-US/docs/Web/Apps/Publishing/Packaged_Apps" title="/en-US/docs/Web/Apps/Publishing/Packaged_Apps">Aplicaciones empaquetadas</a>.</p> +<h2 id="Aplicaciones_auto-publicadas">Aplicaciones auto-publicadas</h2> +<p>Usted además puede elegir la opción de auto-publicar. Para aplicaciones hosteadas, esto solo involucra colocarla en un hosting como se indica a continuación.</p> +<p>Usted puede auto-publicar una aplicación empaquetada solo colocándola en un servidor conjuntamente con un mini manifiesto en el mismo directorio donde se encuentra y que será usado al instalar la aplicación. Veamos este proceso:</p> +<ol> + <li>Tener el zip de la aplicación empaquetada con el nombre <code>package.zip</code>. Este archivo contiene todos los recursos de la aplicación así como también su manifiesto.</li> + <li>Cree un archivo llamado <code>package.manifest</code> con el siguiente contenido. Este es un mini manifiesto usado para la instalación de aplicaciones empaquetadas. No es el manifiesto principal, el cual se encuentra dentro del archivo zip.<br> + <pre class="brush: js">{ + "name": "My sample app", + "package_path" : "http://my-server.com/my-app-directory/my-app.zip", + "version": "1", + "developer": { + "name": "Chris Mills", + "url": "http://my-server.com" + } +}</pre> + </li> + <li>Cree un archivo llamado <code>index.html</code> con el siguiente contenido. Este contiene un ejemplo del JavaScript que llama a la aplicación empaquetada (<a href="/en-US/docs/Web/API/Apps.installPackage"><code>installPackage()</code></a>) y devuelve la llamada en caso de éxito y notificación de errores. + <pre class="brush: html"><html> + <body> + <p>Packaged app installation page</p> + <script> + // This URL must be a full url. + var manifestUrl = 'http://my-server.com/my-app-directory/package.manifest'; + var req = navigator.mozApps.installPackage(manifestUrl); + req.onsuccess = function() { + alert(this.result.origin); + }; + req.onerror = function() { + alert(this.error.name); + }; + </script> + </body> +</html></pre> + </li> + <li>Copie <code>package.zip</code>, <code>package.manifest</code>, y <code>index.html</code> en la raíz del directorio de su aplicación (<code>my-app-directory</code> en este ejemplo).</li> + <li>Utilizando un dispositivo compatible (como un teléfono con Firefox OS), navegue hasta la localización en su servidor donde usted coloco los archivos de ejemplo y confirme cuando se le pregunte para completar la instalación. El script le dará una indicación en caso de completarse exitosamente o de una falla.</li> +</ol> +<div class="note"> + <p><strong>Nota:</strong> Usted no puede instalar aplicaciones privilegiadas o certificadas desde paquetes auto-publicados ya que ellas necesitan ser firmadas durante el proceso de publicación del Marketplace de Firefox.</p> +</div> +<div class="note"> + <p><strong>Nota</strong>: Usted incluso puede <a href="/en-US/docs/Web/Apps/Creating_a_store" title="/en-US/docs/Web/Apps/Creating_a_store">crear su propia tienda de aplicaciones</a>, ya que dispone de una serie de opciones para hacerlo.</p> +</div> +<p> </p> diff --git a/files/es/mozilla/marketplace/publishing/submit/index.html b/files/es/mozilla/marketplace/publishing/submit/index.html new file mode 100644 index 0000000000..265a1ad776 --- /dev/null +++ b/files/es/mozilla/marketplace/publishing/submit/index.html @@ -0,0 +1,10 @@ +--- +title: Submit +slug: Mozilla/Marketplace/Publishing/Submit +tags: + - NeedsTranslation + - TopicStub +translation_of: Archive/Mozilla/Marketplace/Publishing/Submit +--- +<p>This section describes the process for submitting an app to Firefox Marketplace</p> +<p>Residual details: <a href="/en-US/Marketplace/Publishing/Submit/Submitting_an_app">https://developer.mozilla.org/en-US/Marketplace/Publishing/Submit/Submitting_an_app</a></p> diff --git a/files/es/mozilla/marketplace/publishing/submit/overview/index.html b/files/es/mozilla/marketplace/publishing/submit/overview/index.html new file mode 100644 index 0000000000..5c2877d8f6 --- /dev/null +++ b/files/es/mozilla/marketplace/publishing/submit/overview/index.html @@ -0,0 +1,122 @@ +--- +title: Overview +slug: Mozilla/Marketplace/Publishing/Submit/Overview +translation_of: Archive/Mozilla/Marketplace/Publishing/Submit/Overview +--- +<div class="summary"> +<p>To make your apps available on Firefox Marketplace, each one needs to be submitted to Marketplace and reviewed before it's published. <span class="seoSummary">This page provides an overview to the processes involved in submitting an app to Firefox Marketplace.</span> Subsequent pages provide additional detail on each step.</p> +</div> + +<div class="note"> +<p>For more details on each step of the process, please follow the links on the step heading or start the process from step 1. A diagrammatic representation of the steps is offered at the bottom of this page.</p> +</div> + +<p>You can also follow the submission process in this video: <a class="video-item" href="http://s.vid.ly/embeded.html?link=8k2n4w&autoplay=false">http://vid.ly/8k2n4w</a></p> + +<h2 id="The_process">The process</h2> + +<p>So you want to submit your app to Firefox Marketplace, let's get started:</p> + +<dl> + <dt><a href="/en-US/Marketplace/Publishing/Submit/Sign-in_to_your_developer_account">Step 1 - Sign in to your Developer account</a></dt> + <dd> + <ul> + <li>Go to the <a class="external external-icon" href="https://marketplace.firefox.com/developers/">Firefox Marketplace Developer Hub.</a></li> + <li>Click <a class="button" href="https://marketplace.firefox.com/developers/submit/">Submit your app to the Marketplace </a></li> + <li>Sign in to your developer account: + <ul> + <li>If you aren't registered you'll be asked to register.</li> + <li>If you haven't done so already, you'll be asked to agree to the Firefox Marketplace Developer Agreement.</li> + </ul> + </li> + </ul> + </dd> + <dt><a href="/en-US/Marketplace/Publishing/Submit/Load_your_app">Step 2 - Load your app</a></dt> + <dd>On the <strong>Submit an app</strong> page: + <ul> + <li>Select whether the app is free or paid.</li> + <li>Select the platforms the app will be available on.</li> + <li>Select whether the app is hosted or packaged then: + <ul> + <li>For a hosted app, provide the link to its manifest file.</li> + <li>For a packaged app, upload the <code>package.zip</code> file, and once it has been validated, identify the minimum API requirements.</li> + </ul> + </li> + <li>Click <strong>Continue</strong>.</li> + </ul> + </dd> + <dt><a href="/en-US/Marketplace/Publishing/Submit/Enter_your_apps_details">Step 3 - Enter your app's details</a></dt> + <dd> + <p>On the <strong>Edit App Details</strong> page:</p> + + <ul> + <li>Modify the app URL if you wish.</li> + <li>Modify the description (provided in the manifest) if you wish.</li> + <li>Select one or two categories.</li> + <li>Provide a Privacy Policy.</li> + <li>Defined a home page and support website if you have them.</li> + <li>Provide a support email address.</li> + <li>Indicate whether the app requires Flash support.</li> + <li>Add at least one screenshot or video.</li> + <li>Provide additional comments for the app reviewer (such as sign in details if the app requires them) - note you'll only be able to modify these notes by submitting a new version of the app.</li> + <li>Select whether the app will be published as soon as approved - note you'll only be able to modify this setting by submitting a new version of the app.</li> + <li>Click <strong>Continue</strong>.</li> + </ul> + </dd> + <dt><a href="/en-US/Marketplace/Publishing/Submit/Next_steps">Step 4 - See details of the next steps</a></dt> + <dd>On the <strong>Next Steps</strong> page click <strong>Continue</strong>.</dd> + <dt><a href="/en-US/Marketplace/Publishing/Submit/Rating_Your_Content">Step 5 - Obtain a content rating</a></dt> + <dd>On the <strong>Content Ratings</strong> page: + <ul> + <li>to obtain a new rating click <strong>Create an IARC Ratings Certificate</strong> and on the IARC Web site, complete the ratings questionnaire.</li> + <li>to enter a rating you've already obtained provide its <strong>Submission ID</strong> and <strong>Security Code</strong>.</li> + </ul> + </dd> + <dt><a href="/en-US/Marketplace/Publishing/Pricing/Introduction">Step 6 - Update availability and payment details</a></dt> + <dt style="margin-left: 40px;">Step 6a - If the app is free (and doesn't include in-app purchases):</dt> + <dd style="margin-left: 40px;">On the left hand menu, click <strong>Compatibility</strong>. Change the countries the app will be available in if you wish.</dd> + <dt style="margin-left: 40px;">Step 6b - If the app is paid (or free, but includes in app payments):</dt> + <dd style="margin-left: 40px;">On the left hand menu, click <strong>Compatibility & Payments</strong> + <ul> + <li>Setup your payment provider accounts, such as Bango and Boku.</li> + <li>Set the price, identify whether the app includes in-app products and select the countries the app will be available in.</li> + <li>If the app is being offered as a premium upgrade to a free app, identify the free app.</li> + </ul> + </dd> + <dt style="margin-left: 40px;">Step 6c - If the app includes in-app products:</dt> + <dd style="margin-left: 40px;"> + <ul> + <li>On the left hand menu click <strong>In-App Payments</strong> and obtain your API key and secret. (Note that you'll have to <a href="/en-US/Marketplace/Publishing/Updating_apps">submit an update</a> to your app once the API key and secret have been added to it, for more details see <a href="/en-US/Marketplace/Monetization/In-app_payments">In-app payments</a>.)</li> + <li>If you're using <a href="/en-US/Marketplace/Monetization/In-app_payments_section/fxPay_iap">fxPay</a>, on the left hand menu click <strong>In-App Products</strong> and define each of your in-app products.</li> + </ul> + </dd> + <dt><a href="/en-US/Marketplace/Publishing/Submit/Define_your_team">Step 7 - Setup team member (optional)</a></dt> + <dd>On the left hand menu, click <strong>Team Members</strong> and add any additional team member if you wish.</dd> + <dt><a href="/en-US/Marketplace/Publishing/Submit/View_your_listing">Step 8 - View the listing (optional)</a></dt> + <dd>On the left hand menu, click <strong>View Listing</strong> and view your app's Marketplace listing if you wish.</dd> + <dt><a href="/en-US/Marketplace/Publishing/Submit/Edit_other_localizations">Step 9 - Edit other localization listings (optional)</a></dt> + <dd>On the left hand menu click <strong>Edit Listing</strong> and modify the app URL, description, and categories for any of the app's localizations or add details for any other locale supported by Firefox Marketplace.</dd> +</dl> + +<p>Your app is now in the review queue. You can monitor its progress through the review process by clicking <strong>Status and Version</strong> on the left hand menu. Remember that if your app makes use of in-app payments you will need to code in the API Key and submit an update before the app can be published.</p> + +<h2 id="Flow_chart">Flow chart</h2> + +<p><img alt="Flow chart showing the app submission process" src="https://mdn.mozillademos.org/files/8137/Submission%20Process%20v4.png" style="height: 2834px; width: 1260px;"></p> + +<h2 id="What_next">What next?</h2> + +<p>Having completed your app submission your might want to:</p> + +<ul> + <li><a href="https://marketplace.firefox.com/developers/support">get support</a></li> + <li>get news and updates from: + <ul> + <li><a href="https://hacks.mozilla.org/">the Hacks blog</a></li> + <li><a href="https://www.youtube.com/user/mozhacks">the Hacks video channel on YouTube</a></li> + <li><a href="https://twitter.com/mozhacks">the Hacks twitter feed</a></li> + <li><a class="external external-icon" href="https://marketplace.firefox.com/developers/#newsletter-signup">the Apps & Hacks newsletter</a></li> + </ul> + </li> + <li><a href="https://wiki.mozilla.org/Marketplace/Contributing/Apps">get involved with Marketplace</a></li> +</ul> diff --git a/files/es/mozilla/marketplace/publishing/updating_apps/index.html b/files/es/mozilla/marketplace/publishing/updating_apps/index.html new file mode 100644 index 0000000000..f75be357b6 --- /dev/null +++ b/files/es/mozilla/marketplace/publishing/updating_apps/index.html @@ -0,0 +1,24 @@ +--- +title: Actualización de aplicaciones +slug: Mozilla/Marketplace/Publishing/Updating_apps +translation_of: Archive/Mozilla/Marketplace/Publishing/Updating_apps +--- +<div class="note"> + <p><strong>Nota:</strong> Si cambias el nombre de tu aplicacion despues de que haya sido aprobada por el Marketplace, tendrás que volver a enviarla para que sea aprobada.</p> +</div> +<h2 id="Actualización_de_aplicaciones_alojadas">Actualización de aplicaciones alojadas</h2> +<p>Una aplicación respeta las reglas habituales de almacenamiento en caché y, tal vez en ocasiones, utilice mecanismos más avanzados para una mejora en el inicio, como <a href="/es/docs/Recursos_offline_en_firefox">HTML5 AppCache</a>. Una vez dicho esto, no hay nada especial a tener en cuenta cuando actualicemos los recursos normales que utiliza una aplicación.</p> +<p>Sin embargo, las aplicaciones de código abierto son diferentes por el modo de manejar el manifiesto (<em>manifest</em>). Podría ser que ciertos cambios en el manifiesto requieran aprobación del usuario. Dependiendo de la implementación del tiempo de ejecución de la Web, puede resultar confuso si ha habido alguna actualización o no.</p> +<p>Una forma sencilla de manejar este asunto consiste en añadir un campo <code>version</code> en el manifiesto de la aplicación. Más adelante podrás comprobar la versión examinando el valor de retorno de la función <a href="/en-US/docs/Web/API/Apps.getInstalled"><code>navigator.mozApps.getInstalled()</code></a>. Si la versión que el usuario tiene instalada no está actualizada, podrás lanzar una actualización utilizando <a href="/en-US/docs/Web/API/Apps.install"><code>navigator.mozApps.install()</code></a>.</p> +<p>El tiempo de ejecución de la Web no utiliza el valor <code>version</code>, de modo que puedes utilizar cualquier esquema de versión que desees.</p> +<p>Ten también en cuenta que se detectarán los cambios que hagas a un manifest que provoquen errores u otros daños si subes el manifest a Firefox Marketplace. Aquellos errores graves provocarán que se la aplicación desaparezca del listado. Los errores menos graves marcarán la aplicación para que sea revisada de nuevo.</p> +<h2 id="Actualización_de_aplicaciones_empaquetadas">Actualización de aplicaciones empaquetadas</h2> +<p>Las <a href="/es/docs/Web/Apps/Developing/Packaged_apps/Packaged_apps">aplicaciones empaquetadas</a> tienen un proceso de actualización diferente al de las aplicaciones alojadas. Para actualizar una aplicación empaquetada, debes subir una nueva versión del archivo zip de la aplicación a Firefox Marketplace. Entonces, la aplicación actualizada se revisa y se publica en Marketplace. Este proceso lanza una actualización en el teléfono Firefox OS. El usario del teléfono también puede solicitar una actualización utilizando la aplicación de Configuración.</p> +<p>Si quieres más detalles sobre el proceso de actualización de una aplicación empaquetada, continúa leyendo.</p> +<h3 id="Más_detalles_sobre_la_actualización_de_aplicaciones_empaquetadas">Más detalles sobre la actualización de aplicaciones empaquetadas</h3> +<p>Aquí tienes más detalles sobre el proceso de actualización de las aplicaciones empaquetadas. Puede que necesites esta información si vas a implementar un mercado de aplicaciones.</p> +<ul> + <li>Cuando la aplicación empaquetada actualizada se publica, el <a href="/es/docs/Web/Apps/Developing/Packaged_apps/Packaged_apps#Aplicaciones_empaquetadas_de_la_tienda_de_Firefox_(Firefox_Marketplace).">mini-manifiesto</a> <em>(mini-manifest</em>) se actualiza para conducir al archivo zip actualizado (el mini-manifiesto no forma parte del manifiesto principal de la aplicación). El encabezamiento <code>ETag</code> header se modifica, y esto lanza una actualización en el teléfono Firefox OS.</li> + <li>En el teléfono, Firefox OS hace, una vez al día, una comprobación buscando cambios en una aplicación. Para esto, comprueba la URL del mini-manifiesto. Luego, comprueba la URL en el campo <code>package_path</code> en el mini-manifiesto. Este proceso se realiza utilizando el método <code>checkForUpdate()</code> en el objeto <a href="/en-US/docs/Web/API/App"><code>App</code></a>. Cuando la cabecera <code>ETag</code> se modifica, sabe que la aplicación ha sido actualizada. Después comprueba si el archivo zip ha cambiado.</li> + <li>Firefox OS busca actualizaciones de aplicaciones por tandas.</li> +</ul> |