Avec les premières phases de certifications qui démarrent, et un an de recul sur la certifications des applications pour Windows Mobile 6.5, on se rend compte que finalement, la très grande majorité des échecs sont liés à des fautes d’inattention… ou un manque de lecture de la documentation ! Voici donc les 10 points à avoir toujours en tête lorsqu’on prépare la certification :

1/ LISEZ LA DOC !!!!! tout est dans la documentation. Prendre une petite demi-heure pour lire et comprendre cette documentation vous sauvera peut-être d’un échec cuisant. Mon conseil : annotez la au fur et à mesure de votre lecture. Assurez vous d’avoir la dernière version du document, qu’on trouve sur le portail http://developer.windowsphone.com. Tout y est détaillé. Lisez la doc. (ou je me fâche !!)

2/ Soignez l’iconographie. D’abord parce que votre iconographie (icônes et screenshots) représentent votre application sur Marketplace et dans le terminal de vos utilisateurs, mais aussi parce qu’une erreur d’iconographie peut vous coûter votre certification.

  • Cas de test 4.6 : les screenshots doivent provenir d’une capture d’écran du téléphone ou de l’émulateur, doivent avoir une résolution de 480x800 pixels et avoir les proportions largeur/hauteur normales de l’application sur le terminal.
  • Cas de test 4.5 : N’utilisez pas les icônes par défaut de Windows Mobile ou Windows Phone

- Inclure une image de fond au format « panorama » n’est pas nécessaire, mais permettra à Microsoft le cas échéant de « skinner » Marketplace aux couleurs de votre application, et donc vous mettre à l’honneur. Pourquoi refuser ?

3/ Informations de support (cas de test 5.6) : votre application doit avoir un nom et un numéro de version, et doit inclure des informations de support (url de site web, email) facilement découvrables par l’utilisateur final

4/ Notifications de type Toast (cas de test 6.2)

  • Il faut fournir à l’utilisateur la possibilité de désactiver les notifications
  • Au premier usage de l’API HttpNotificationChannel.BindtoShellToast, l’application doit demander explicitement à l’utilisateur l’autorisation de recevoir des notifications.

5/ Applications continuant leur exécution quand l’écran est verrouillé (cas de test 6.3)

  • Ce cas s’applique uniquement aux applications qui continuent à tourner quand l’écran est verrouillé, et ne s’applique pas aux applications dans l’état « suspended ».
  • Il faudra demander à l’utilisateur explicitement la permission d’avoir ce comportement lors du premier appel à l’API ApplicationIdleDetectionMode

6/ Utilisation du bouton Back – cas de test 5.2.4 : voici un exemple typique d’échec qui aurait été simple à traiter : appuyer sur le bouton back doit ramener à la page précédente de l’application, pas la quitter (sauf si on est sur la première page) ou faire apparaitre un menu ou une boite de dialogue – le plus simple : gardez le comportement par défaut !!

7/ Thèmes : cas de test 5.1.1 : Utilisez les ressources associées au thème du téléphone plutôt que de hardcoder les couleurs … et risquer de tomber dans un cas ou l’application n’apparaitra pas correctement quand le thème choisi par l’utilisateur est le thème « light » : Et donc testez aussi dans ce mode là avant de soumettre l’application !

8/ Support des langues : Faites en sorte que la description et le texte dans l’application et dans la marketplace s’affichent dans le langage choisi par l’utilisateur (histoire d’éviter un menu en allemand pour un utilisateur français, et tant qu’on y est, évitez les traductions automatiques débiles du type « la tasse mondiale » quand on parle de « world cup »…

9/ Erreur à l’upload du XAP : A l’upload du XAP un outil va vérifier son intégrité – l’erreur la plus commune est « Your XAP is missing an interop manifest » : dans votre manifest, spécifiez bien les paramètres d’interop, car même si votre compte développeur n’utilise pas l’interop (privilège réservé aux opérateurs), le message sera généré.

10/ Version des developer tools : j’enfonce encore une porte ouverte, mais avant de faire certifier votre application, installez, testez et packagez la avec les outils de dev RTM… les applications faites avec des versions précédentes (CTP et beta, publiques et privées) ne passeront pas !