JavaScript xdiseñadores

Archivo config.xml

https://build.phonegap.com/docs/config-xml

Debe estar en la carpeta superior del sitio, junto con la página principal de la aplicación.

<Widget> identifica la aplicación, id identifica la aplicación, y la versión con tres números.

<widget xmlns = "http://www.w3.org/ns/widgets"
xmlns:gap = "http://phonegap.com/ns/1.0"
id        = "com.nombreDeTuWeb.nombreApp"
version   = "1.0.0">

<name>  nombre de la aplicación tal y como aparecerá en la pantalla principal del dispositivo.

<name>Mi nombre App </name>

<description> y <author> Son los metadatos de información de la aplicación.

<description> Descripción de la aplicación  </description>
<author href="https://www.miweb.es" email="nombre@dominio.es">
Nombre del autor </author>

<content> es un elemento opcional que define la página de inicio. El valor predeterminado es index.html

<content src="index.html" />

<access> dominios externos que se permite comunicar a la aplicación.
<access origin="http://google.com/*" />
o:
<access origin="*"/>

Preferencias

<preferences> Pueden ser globales para todas las plataformas o únicas para una plataforma.

Fullscreen: Si se quiere ocultar la estatus bar en la parte superior de la pantalla, el valor por defecto es false.

<preference name="Fullscreen" value="true" />

Orientation: para definir una orientación óptima y evitar el giro, los valores posibles son: default (ambos dependiendo de la rotación), landscape o portrait. Si no se pone esta línea, se toma el valor por defecto de la plataforma, usualmente es portrait.

<preference name="Orientation" value="landscape" />

Otras

DisallowOverscroll:  puede ser, false (valor por defecto) o true si no quieres que el interface muestre algún feedback cuando el usuario haciendo scroll llega al princio o al final del contenido.

<preference name="DisallowOverscroll" value="true"/>

BackgroundColor: en hexadecimal, representa rgb y el primer valor es el canal alpha.

<preference name="BackgroundColor" value="0xff0000ff"/>

Iconos

Esta definición varia con cada SO
<icon>: Si no se especifica, se toma el valor de icono por defecto de PhoneGap
src: especifica la localización del icono, relativo a tu site
width: ancho en pixels
height: alto en pixels

<icon src="icon.png" />

iOS

http://docs.build.phonegap.com/en_US/configuring_icons_and_splash.md.html#Icons%20and%20Splash%20Screens

<icon src="icon.png" gap:platform="ios" width="57" height="57" />
<icon src="icon-72.png" gap:platform="ios" width="72" height="72" />
<icon src="icon_at_2x.png" gap:platform="ios" width="114" height="114" />
<!-- retina iPad support: PhoneGap 2.5.0+ only -->
<icon src="icon-72_at_2x.png" gap:platform="ios" width="144" height="144" />

Android

Soporta pantallas ldpi (36x36) baja densidad 120 dpi, mdpi (48x48) densidad media 160 dpi, hdpi (72x72) densidad alta 240 dpi, y xhdpi (96x96) extra alta densidad 480 dpi, xxhdpi (144x144) extra extra alta densidad 640 dpi; Ejemplo para distintos tipos de pantalla

http://developer.android.com/guide/topics/resources/providing-resources.html

<icon src="ldpi.png" gap:platform="android" gap:density="ldpi" />
<icon src="mdpi.png" gap:platform="android" gap:density="mdpi" />
<icon src="hdpi.png" gap:platform="android" gap:density="hdpi" />
<icon src="xhdpi.png" gap:platform="android" gap:density="xhdpi" />
<icon src="xxhdpi.png" gap:platform="android" gap:qualifier="xxhdpi" />

Splash

Los splash se definen con varios parámetros, plataforma, ancho y alto y son imágenes en .png

<gap:splash src="splash.png" />

iOS

Se definen diferentes imágenes para los distintos modelos y en algunos caso diferentes imágenes para la versión apaisada o portrait.

<gap:splash src="splash/ios/Default.png" gap:platform="ios" width="320" height="480" />
<gap:splash src="splash/ios/Default_at_2x.png" gap:platform="ios" width="640" height="960" />
<gap:splash src="splash/ios/Default_iphone5.png" gap:platform="ios" width="640" height="1136" />
<gap:splash src="splash/ios/Default-Landscape.png" gap:platform="ios" width="1024" height="748" />
<gap:splash src="splash/ios/Default-Portrait.png" gap:platform="ios" width="768" height="1004" />
<!-- retina iPad support: PhoneGap 2.5.0+ only -->
<gap:splash src="splash/ios/Default-Landscape_at_2x.png" gap:platform="ios" width="2048" height="1496" />
<gap:splash src="splash/ios/Default-Portrait_at_2x.png" gap:platform="ios" width="1536" height="2008" />

Android

Las imágenes en android se diferencian por la resolución y pueden ser diferentes según sea la orientación landscape o portrait

<gap:splash src="splash/android/ldpi.png" gap:platform="android" gap:density="ldpi" />
<gap:splash src="splash/android/mdpi.png" gap:platform="android" gap:density="mdpi" />
<gap:splash src="splash/android/hdpi.png" gap:platform="android" gap:density="hdpi" />
<gap:splash src="splash/android/xhdpi.png" gap:platform="android" gap:density="xhdpi" />
<gap:splash src="splash/android/xxhdpi.png" gap:platform="android" gap:density="xxhdpi" />

API's

Para usar las API's del teléfono se declaran.

<feature name="App">
<param name="android-package" value="org.apache.cordova.App"/>
</feature>
<feature name="Geolocation">
<param name="android-package" value="org.apache.cordova.GeoBroker"/>
</feature>
<feature name="Device">
<param name="android-package" value="org.apache.cordova.Device"/>
</feature>
<feature name="Accelerometer">
<param name="android-package" value="org.apache.cordova.AccelListener"/>
</feature>
<feature name="Compass">
<param name="android-package" value="org.apache.cordova.CompassListener"/>
</feature>
<feature name="Media">
<param name="android-package" value="org.apache.cordova.AudioHandler"/>
</feature>
<feature name="Camera">
<param name="android-package" value="org.apache.cordova.CameraLauncher"/>
</feature>
<feature name="Contacts">
<param name="android-package" value="org.apache.cordova.ContactManager"/>
</feature>
<feature name="File">
<param name="android-package" value="org.apache.cordova.FileUtils"/>
</feature>
<feature name="NetworkStatus">
<param name="android-package" value="org.apache.cordova.NetworkManager"/>
</feature>
<feature name="Notification">
<param name="android-package" value="org.apache.cordova.Notification"/>
</feature>
<feature name="Storage">
<param name="android-package" value="org.apache.cordova.Storage"/>
</feature>
<feature name="FileTransfer">
<param name="android-package" value="org.apache.cordova.FileTransfer"/>
</feature>
<feature name="Capture">
<param name="android-package" value="org.apache.cordova.Capture"/>
</feature>
<feature name="Battery">
<param name="android-package" value="org.apache.cordova.BatteryListener"/>
</feature>
<feature name="SplashScreen">
<param name="android-package" value="org.apache.cordova.SplashScreen"/>
</feature>
<feature name="Echo">
<param name="android-package" value="org.apache.cordova.Echo"/>
</feature>
<feature name="Globalization">
<param name="android-package" value="org.apache.cordova.Globalization"/>
</feature>
<feature name="InAppBrowser">
<param name="android-package" value="org.apache.cordova.InAppBrowser"/>
</feature>

https://github.com/phonegap/phonegap-start/blob/master/www/config.xml