2026 · Open source
react-native-esim-compatibility-checker
Bibliothèque React Native open source qui demande directement à l'appareil s'il supporte l'eSIM — Swift et Kotlin natifs, testée, et en production dans GoSIM.
- iOS
- Android
- Package npm
- Rôle
- Auteur et mainteneur
- Entreprise
- Open source
- Année
- 2026
- Stack
- TypeScriptSwiftKotlinReact Native (Turbo Modules)Jest
const result = await checkEsimSupport()
// 'supported' | 'unsupported' | 'unknown'
if (result.state === 'supported') {
startEsimFlow()
}Contexte
Toutes les applications eSIM ont le même problème de support : l'utilisateur achète un forfait puis découvre que son téléphone ne peut pas l'installer. Le conseil habituel — « composez *#06# et cherchez un EID » — est déroutant, et beaucoup d'applications se fient à une liste de modèles codée en dur.
Rôle
Conception, développement, tests, publication sur npm et intégration dans l'application GoSIM.
Défi
- Aucune API ne dit toute la vérité.
supportsCellularPlan()d'Apple dépend des autorisations opérateur et renvoiefalsesur de nombreux iPhone compatibles ; sur Android, les signaux dépendent de la version du système et des builds opérateur. - Les deux erreurs coûtent cher. Bloquer un appareil compatible fait perdre une vente ; laisser passer un appareil incompatible crée un remboursement.
Approche
Trois réponses, pas deux
Renvoie supported, unsupported ou unknown — unknown signifie « demander à l'utilisateur » plutôt que deviner.
Des règles par plateforme
- iPhone : les numéros de génération matérielle basculent exactement là où l'eSIM apparaît — une comparaison valable pour les futurs modèles.
- iPad : une petite table des familles compatibles et la détection d'une radio cellulaire, les modèles Wi-Fi partageant les mêmes identifiants.
- Android :
EuiccManager.isEnabled()depuis Android 9 et la fonctionnalitételephony.euiccdepuis Android 13 — un seul signal positif suffit.
Chaque résultat indique quel signal a tranché et avertit en cas de désaccord.
Un catalogue à jour sans nouvelle version
Catalogue intégré et consultable des appareils eSIM pour les écrans « appareils compatibles » ; fonctionne hors ligne, rafraîchissable depuis une URL, mises à jour invalides rejetées.
Résultats
- Publiée sur npm avec modules natifs Swift et Kotlin et suite de tests Jest.
- Plus de 150 téléchargements le premier mois.
- Alimente l'écran de compatibilité avant paiement de GoSIM en production.