Estrategias para prevenir rechazos de tu app en el Marketplace de Windows Phone 7

Abstract:

Con el pasar del tiempo y las consultas que me han hecho, he recopilado los motivos más frecuentes por los cuales una app de WP7 es rechazada para acceder al Markeplace (mp) después de subirla a través del AppHub. Este post recopila estos motivos y su solución.

1. Marcas y logos registrados:

Cuando se usan dentro de la aplicación marcas y logos reconocidos, nos pueden devolver la app para que indiquemos si tenemos permiso para usarlos. Esto se puede indicar en el último paso del proceso de subida de la app, en el espacio que dice Test Notes:

image

Estas notas deben ir en inglés y tal como lo recomiendo en el ejemplo, se debe indicar que la empresa dio los permisos adecuados, así como los datos de la persona de contacto que se podría requerir para certificar este permiso.

2. Uso de GPS

El uso de GPS como es bien sabido, interviene con la privacidad del usuario, pues se podría comenzar a reportar la ubicación de un usuario sin que este lo haya permitido. Es por esto que si empleamos el api de localización en nuestras apps, debemos proveer claramente un mecanismo para desactivar estas funcionalidades. Además cuando lo hagamos, la aplicación debe seguir funcionando correctamente. Además de esto, se debe proveer una política de empleo de la información de la localización que explique perfectamente al usuario para qué serán usados los datos, de manera que él pueda comprender las implicaciones de autorizar el empleo del GPS en la app. Esta política puede estar incluida en la app, o ser un link a algún recurso externo. Acá les escribo un ejemplo de política:

La aplicación xxxxx ofrece servicios avanzados de búsqueda, basados en la ubicación del usuario. Los datos de ubicación del usuario son usados exclusivamente para este fin y nunca son compartidos. Sin embargo, si el interés del usuario es que esta aplicación no haga uso de los servicios de localización del teléfono, éstos se pueden deshabilitar en el menú de ajustes de la aplicación; en este caso la utilidad de búsqueda por cercanía quedará deshabilitada y la aplicación continuará funcionando correctamente.

En este caso deberá de existir un menú de ajustes, donde se puedan deshabilitar estas características:

image

3. Screenshots

Los Screenshots preferiblemente (obligación por ser la mejor opción) se han de capturar desde el emulador que tiene una utilidad para tomar estos screenshots.

Pero con el emulador sucede que a veces puede estar mostrando el framerate de las imágenes que está mostrando. Si capturamos con esta opción habilitada, nuestra app será rechazada, porque estos elementos no pueden aparecer en los screenshots:

image

Esta opción por defecto viene habilitada, así que a la hora de hacer la captura la deshabilitamos desde el archivo: App.xaml.cs:

image

Basta solo con poner EnableFrameRateCounter en false.

4. Lenguaje por defecto de la app

Cuando creamos una app de WP7, el lenguaje por defecto de la misma está establecido en Inglés. Es por esto que cuando la subimos, el App Hub, allí esperan que pongamos una descripción de la App en inglés:

image

Es un error frecuente, porque si efectivamente nuestra app está en español, querremos ponerle descripción en español; pero el App Hub solo nos da la opción de inglés. Así que si ponemos la descripción en un idioma distinto al solicitado, nos rechazarán la app. Como lo mencioné es porque no hemos cambiado la opción de idioma neutral. Para lograrlo, vamos a las propiedades del proyecto y escogemos Assembly Information y allí podremos seleccionar el lenguaje neutral personalizado:

image

De esta manera cuando subamos la app al AppHub, nos aparecerá en este caso el idioma español, para poner la descripción.

En situaciones más avanzadas queremos ofrecer nuestra app en varios idiomas. En otro post estaré mostrando cómo se logra tener localización de múltiples lenguajes. Por ahora veamos que si hacemos esto bien, cuando carguemos el xap al AppHub, observaremos que habrá una versión de toda la información que tenemos que suministrar, por cada lenguaje que hayamos incluido:

image

Como observamos en este caso, está seleccionado el idioma inglés y en este ponemos la información requerida. Luego seleccionamos español y procedemos escribiendo la información en el lenguaje adecuado. Recordemos que esto solo aplica cuando intencionalmente escogemos tener dos o más lenguajes para nuestras apps.

Sabiendo que pueden surgir nuevos motivos de rechazo frecuentes, stay tunned, que aquí estaré citándolos y ofreciendo las posibles soluciones.