App days les règles d’or pour gérer, et éviter, les mises à jour de son app
1. Les règles d’or pour
gérer, et éviter les mises
à jour de son app
AppDays 2013 @marclebel
2. Mise à jour non souhaitée
Causes possibles :
● Crash
● Contenu incorrect
● Comportement soudainement mauvais
sujet de cette conf
3. Constat : une mise à jour est lente
Temps de validation par plateforme :
iOS : 6 jours
Windows Phone : 3 jours
source : http://reviewtimes.
shinydevelopment.com/
4. Plus on supporte de plateformes,
plus il est nécessaire d’éviter les
imprévus
5. Un maître mot : anticipation
Qui peut évoluer ?
● Les tierces parties (API, framework,..)
● Le législateur
● Vous
8. Ce qu’il ne faut pas faire
Serveur
CONST VAT = 19.6
iOS
#define VAT 19.6f
Android
static final float vat = 19.6f
WP
public const float vat = 19.6f
Changement TVA = > mettre à jour toutes vos apps
9. Seule votre API doit connaître la TVA
GET ticket/1234 =>
-{
title : “AppDays 2014”,
price_ht : 100,
vat : 19.6
}
Changement TVA = > mettre à jour uniquement l’API
10. Exemple 2
Annuler achat
●
Raison
●
●
●
J’ai trouvé une meilleure
conf ailleurs
Je suis malade
Je pars à l’étranger
Autre raison
Détails...
Anuler
Et si vous avez besoin
de mettre à jour cette
liste ?
11. Votre API doit retourner les raisons
GET ticket/1234 =>
-{
title : “AppDays 2014”,
price_ht : 100,
vat : 19.6,
cancelReasons : [
- “Je suis malade”,
- “Je pars à l’étranger”
]
}
12. Exemple 3
AppDays 2013
Conf indispensable
pour les amoureux
des apps
Voir Facture
Annuler
Combien de temps à
l’avance un billet est-il
annulable ?
13. L’API doit vous dire si c’est annulable
GET ticket/1234 =>
-{
title : “AppDays 2014”,
price_ht : 100,
vat : 19.6,
cancelReasons : [
- “Je suis malade”,
- “Je pars à l’étranger”
],
canBeCanceled : 1,
}
15. Les API tierces c’est super mais...
● Elles évoluent souvent (7 changements pour
Facebook rien qu’en 2013)
● Vous pouvez trouver mieux ailleurs
● Vous pouvez vouloir changer de paramètres à
tout moment
16. Exemple :
upload de photo sur Amazon S3
1. Photo
Votre
Serveur
4. Data
2. Photo
3. Data (url,..)
17. Avantages :
● Vous pouvez changer de provider sans mettre
à jour aucune de vos apps
● Si Amazon change son API, uniquement le
serveur à mettre à jour
● Vous pouvez modifier la qualité de la photo en
paramétrant uniquement votre serveur
18. Limitations
● Certaines API limitent le nombre d’appels API
par jour (Google Maps,...) par IP
● Votre serveur est plus sollicité
● Nécessite que votre serveur réponde vite
20. CGU
Le présent document
a pour objet de
définir les modalités
et conditions de ce
site en 2012...
Problème 1 :
le conteu
●
●
Souvent mis à jour
Problèmes juridiques si
non conforme
21. Solution 1 : utilisez des webviews
Pratique pour des pages entières : CGU,
About, Jobs, Support,...
=> permet d’être toujours conforme avec votre
site web
22. Votre billet
Pri HT : 100 €
TVA :
Totale :
19.6 €
119.6 €
PAYER
Problème 2 :
les labels
●
Fautes d’orthographe possibles
23. Problème 2 : les labels
Les labels sont externalisés dans un ficher (.
xml, .strings, ) pour chaque locale
Donc mise à jour des labels => mise à jour de
son app
24. Solution 2 : surcharge dynamique
des locales
Charger via votre
serveur un fichier diff
au lancement de l’
application et le
stocker dans un
hashtable
L10n(key){
if (exist(dynamic_L10n[key])){
return dynamic_L10n[key];
}else{
return native_L10n[key];
}
}
25. Solution 2 : surcharge dynamique
des locales
Méthode utilisée notamment par @RudyHuyn,
qui a porté Wikipédia, Vine (6sec) et Instagram
(6tag) sur WP8 dans plus de 30 locales
27. Problème
Vos anciennes versions d’app peuvent
effectuer des actions non désirées
Vous pouvez souhaiter que tout le monde ait la
dernière version
28. Solution : contrôle sur le serveur
Envoyez à chaque requête api dans les header
la plateforme (ios, android,wp8,..) et identifiant
de version
Votre serveur pourra renvoyer un code 403
(forbidden) le cas échéant
29. Solution : contrôle sur le serveur
En bonus le client pourra être redirigé sur le
store pour effectuer la mise à jour
30. Bonus : expedited app review iOS
(testé et approuvé : app validée en moins de 24h)
31. Ouf c’est fini !
Retrouvez-moi et posez vos questions sur :
@marclebel
@Food_Reporter
@OuiCar