Mises à jour OTA
Poussez des mises à jour JavaScript vers votre app sans passer par la review du store avec EAS Update.
Mises à jour OTA
EAS Update vous permet de pousser des mises à jour JavaScript et d'assets vers vos utilisateurs sans passer par la review de l'App Store ou du Play Store. C'est idéal pour les corrections de bugs, les changements de texte et les petites mises à jour de fonctionnalités.
Comment ça fonctionne
Les mises à jour OTA (Over-The-Air) fonctionnent en téléchargeant un nouveau bundle JavaScript au lancement de l'app. Le code natif reste identique — seuls le JavaScript et les assets sont mis à jour.
Ce que vous pouvez mettre à jour via OTA :
- Corrections de bugs dans le code JavaScript/TypeScript
- Changements d'UI (nouveaux écrans, layouts mis à jour)
- Changements d'assets (images, polices)
- Changements de configuration
Ce qui nécessite un nouveau build :
- Nouveaux modules natifs (ex. ajout d'un nouveau plugin Expo)
- Changements de config native dans
app.json(ex. permissions, écran de démarrage) - Mises à jour du SDK Expo
- Tout changement de code natif
Configuration
1. Installer expo-updates
npx expo install expo-updates2. Configurer EAS Update
eas update:configureCela met à jour votre app.json et eas.json avec la configuration nécessaire.
3. Build avec les mises à jour activées
Créez un nouveau build qui inclut le client de mise à jour :
eas build --platform all --profile productionPublier des mises à jour
Pousser une mise à jour
eas update --branch production --message "Fix login button alignment"Cela uploade le bundle JavaScript actuel sur EAS et l'associe à la branche production.
Mettre à jour une plateforme spécifique
eas update --branch production --platform ios --message "iOS-specific fix"
eas update --branch production --platform android --message "Android-specific fix"Gestion des canaux
Les canaux connectent les builds aux branches de mise à jour. Par défaut, votre build de production pointe vers la branche production.
| Profil de build | Canal | Branche |
|---|---|---|
production | production | production |
preview | preview | preview |
Créer un canal personnalisé
Configurez les canaux dans eas.json :
{
"build": {
"production": {
"channel": "production"
},
"preview": {
"channel": "preview"
}
}
}Pointer un canal vers une autre branche
eas channel:edit production --branch hotfix-v1Cela redirige tous les builds de production pour récupérer les mises à jour depuis la branche hotfix-v1.
Rollback
Si une mise à jour cause des problèmes, vous pouvez revenir en arrière en publiant une version précédente :
Option 1 : Republier depuis un tag Git
git checkout v1.0.0
eas update --branch production --message "Rollback to v1.0.0"Option 2 : Pointer le canal vers une branche précédente
eas channel:edit production --branch previous-stableOption 3 : Désactiver les mises à jour temporairement
En cas d'urgence, pointez le canal vers une branche vide :
eas channel:edit production --branch disabledSuivre les mises à jour
Voir les mises à jour publiées :
eas update:listVoir les détails d'une mise à jour :
eas update:view <update-id>Vérifiez quelles mises à jour sont en cours d'exécution sur le dashboard Expo.
Bonnes pratiques
- Testez toujours les mises à jour sur le canal
previewd'abord avant de pousser versproduction - Utilisez des messages significatifs — ils vous aident à identifier les mises à jour plus tard
- Taggez les releases dans Git — facilite le rollback
- Surveillez les rapports de crash après avoir poussé une mise à jour
- Ne comptez pas sur l'OTA pour les corrections critiques — si les utilisateurs n'ont pas ouvert l'app, ils ne recevront la mise à jour qu'à la prochaine ouverture