Aller au contenu
Tous les projets

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.

Personnel
  • iOS
  • Android
  • Package npm
Rôle
Auteur et mainteneur
Entreprise
Open source
Année
2026
Stack
TypeScriptSwiftKotlinReact Native (Turbo Modules)Jest
Publiée sur npm
150+ téléchargements le premier mois
En production dans GoSIM
npm i react-native-esim-compatibility-checker
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 renvoie false sur 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.euicc depuis 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.
Projet suivantEfficy — audits magasin et score de performance