Fonctionnalité défaillante : plantages, WebView blanches et problèmes de bouton retour qui font refuser une app encapsulée
Les examinateurs de Google et le rapport de pré-lancement automatisé installent votre app sur de vrais appareils et l'utilisent. Si la WebView reste blanche, si l'app plante au lancement ou si le bouton retour éjecte les utilisateurs, l'examen s'arrête là. Presque chacune de ces défaillances a une cause de configuration, dans l'app web ou dans WebViewGold, et se corrige vite une fois identifiée.
Dès $109 en paiement unique par plateforme, ou notre équipe s'occupe de tout dès $698.
Garantie d'approbation – ou remboursement sous 14 jours
Aucun codage requis
Paiement unique, mises à jour gratuites
Support humain 24/7
Conçu en Allemagne depuis 2014 · ISO 27001
9:41
Votre app
Votre appDésormais dans votre poche
App Store · Google Play Approuvée
Ce que « fonctionnalité défaillante » signifie pour Google
Les règles sur les fonctionnalités minimales comportent une attente simple : l'app s'installe, s'ouvre, charge son contenu et permet à l'utilisateur de faire ce que promet la fiche, sans planter, se figer ni afficher d'écrans vides. Les examinateurs testent sur des appareils physiques et sur plusieurs versions d'Android. En outre, chaque import sur un canal de test génère un rapport de pré-lancement dans la Play Console : des robots y parcourent automatiquement l'app sur un ensemble d'appareils et enregistrent les plantages, les erreurs, les avertissements de sécurité et les problèmes d'accessibilité.
Pour une app encapsulée, la WebView constitue toute l'interface : tout ce qui empêche la page de s'afficher ressemble à une app morte. Une URL de prévisualisation qui s'est mise en veille, une image en http:// sur une page en https://, un problème de certificat, un bundle JavaScript qu'une ancienne version de System WebView ne sait pas analyser, ou un challenge anti-bot qui ne se termine jamais.
Symptôme, cause, solution
Symptôme
Cause habituelle
Solution
Écran blanc après l'écran de démarrage
URL injoignable : URL de prévisualisation Lovable ou Bolt, déploiement Replit en veille, DNS d'un nouveau domaine personnalisé pas encore propagé
Publiez d'abord sur un domaine personnalisé de production ; voir le guide du domaine personnalisé. Gardez ACTIVATE_PROGRESS_BAR activé pour que le chargement soit visible
La page se charge, mais des images ou des appels d'API manquent
Contenu mixte : des ressources en http:// dans une page en https://, bloquées par la WebView
Servez tout en HTTPS ; désactivez le trafic en clair dans le projet Android comme décrit dans le centre d'assistance WebViewGold
Erreur de certificat ou page vide sur certains appareils
Certificat expiré, autosigné ou chaîne de certificats incomplète
Corrigez le certificat chez votre hébergeur ; réglez BLOCK_SELF_SIGNED_AND_FAULTY_SSL_CERTS sur true pour que le rapport de pré-lancement ne signale pas de gestionnaire d'erreurs SSL dangereux
Plantage au lancement
Annonces activées sans ID d'app AdMob valide dans strings.xml, ou push activé sans le google-services.json ou l'ID d'app OneSignal correspondant
Saisissez les ID, ou réglez SHOW_BANNER_AD, SHOW_FULL_SCREEN_AD, PUSH_ENABLED ou FIREBASE_PUSH_ENABLED sur false
Le bouton retour ferme l'app
EXIT_APP_BY_BACK_BUTTON_ALWAYS réglé sur true, ou une single-page app qui n'ajoute jamais d'entrées à l'historique
Réglez-le sur false, gardez EXIT_APP_BY_BACK_BUTTON_HOMEPAGE avec EXIT_APP_DIALOG pour une demande de confirmation, et faites en sorte que votre routeur ajoute de vraies entrées à l'historique
Utilisateur déconnecté à chaque démarrage
CLEAR_CACHE_ON_STARTUP à true efface les cookies et le stockage de session
Réglez-le sur false pour les apps avec connexion
« Navigateur non pris en charge » ou page de challenge sans fin
Protection anti-bot ou vérification du user agent chez votre hébergeur ou votre fournisseur d'authentification
Autorisez le user agent de l'app dans vos règles de protection ou définissez un USER_AGENT personnalisé ; pour la connexion Google, voir la solution à disallowed_useragent
Utilisez le rapport de pré-lancement avant Google
Le rapport est gratuit, se lance à chaque import sur un canal de test et vous montre ce que verra l'examinateur.
Importez sur le canal de tests internes
Créez une release de tests internes avec votre bundle signé. Le rapport de pré-lancement démarre automatiquement et met un moment à se terminer.
Lisez les quatre onglets
Stabilité (plantages et ANR avec traces de pile), Performances, Accessibilité et Sécurité. Pour une app WebView, ce sont les onglets Stabilité et Sécurité qui comptent le plus ; une trace de pile qui mentionne les annonces, Firebase ou OneSignal pointe directement vers un ID manquant.
Regardez les enregistrements
Le rapport contient des enregistrements d'écran du robot. Un enregistrement qui reste bloqué sur un écran blanc ou sur un bandeau cookies vous dit quoi corriger sans avoir à deviner.
Reproduisez sur un vrai appareil
Installez l'app depuis le lien des tests internes et testez en Wi-Fi, en données mobiles et en mode avion. En mode avion, l'app doit afficher l'écran hors ligne natif (activez FALLBACK_USE_LOCAL_HTML_FOLDER_IF_OFFLINE et livrez une petite page local-html), pas une erreur de navigateur.
Cherchez la vraie erreur dans Logcat
Dans Android Studio, lancez l'app sur un émulateur et filtrez Logcat sur votre nom de package. Les erreurs WebView comme le contenu mixte bloqué, les échecs de certificat et les exceptions JavaScript y apparaissent avec l'URL exacte.
Corrigez, recompilez, réimportez
Incrémentez le code de version et importez à nouveau. Attendez un rapport propre avant de promouvoir la release en production.
WebViewGold nous a permis d'avoir le temps de mise sur le marché le plus court et le plus efficace jamais possible parmi toutes les autres plates-formes d'application que nous avons essayées au cours des 5 dernières années. Je ne sais pas pourquoi je ne vous ai pas découvert plus tôt, mais je suis vraiment, vraiment content de l'avoir fait. Nous approchons actuellement les 6000 téléchargements d'application sur l'App Store iOS et Google Play Store sans aucun problème!
Android System WebView : ce que vous ne contrôlez pas, et ce que vous contrôlez
WebViewGold affiche votre site avec Android System WebView, un composant Chromium que Google met à jour via Play, indépendamment du système. La plupart des appareils exécutent une version récente ; certains appareils plus anciens ou verrouillés, non, et un bundle JavaScript qui utilise une syntaxe très récente ne peut alors pas être analysé et laisse une page blanche. Vous ne pouvez pas mettre à jour la WebView de l'utilisateur, mais vous pouvez garder une cible de build raisonnable : demandez à votre builder de transpiler pour une configuration browserslist qui inclut quelques anciennes versions de Chrome, évitez de faire dépendre la mise en page de fonctionnalités CSS toutes neuves, et affichez une erreur visible si le script de démarrage de votre app échoue, plutôt qu'une page blanche silencieuse. Le guide de configuration du site web liste les pratiques qui permettent à un site de bien se comporter dans l'app.
Checklist de stabilité pour le jour du lancement
URL de production sur un domaine personnalisé, HTTPS partout, chaîne de certificats valide.
Chaque fonctionnalité activée a ses ID (AdMob, OneSignal, Firebase) ; les fonctionnalités inutilisées sont réglées sur false.
Écran de démarrage et indicateur de chargement, pour qu'une première requête lente ne ressemble jamais à une app morte.
Écran de secours hors ligne activé et testé en mode avion ; l'API Reconnect reliée à un bouton « Réessayer ».
Le bouton retour remonte l'historique web et demande confirmation avant de quitter depuis la page d'accueil.
Rapport de pré-lancement propre en stabilité et en sécurité ; les enregistrements montrent du vrai contenu.
Crashlytics (TRACKING_EVENT) activé avec une étape de consentement, pour voir les plantages en production.
Questions fréquentes
L'app fonctionne sur mon téléphone, mais le rapport de pré-lancement montre un écran blanc. Pourquoi ?
Le robot tourne sur d'autres appareils, souvent avec un profil vierge et sans cookies. Les raisons typiques : un bandeau cookies ou un mur de connexion que le robot ne peut pas franchir, une URL qui ne fonctionne que pour les utilisateurs connectés, ou du contenu mixte bloqué par une configuration plus stricte. Regardez l'enregistrement pour savoir laquelle.
Un avertissement dans le rapport de pré-lancement bloque-t-il la release ?
Les avertissements ne bloquent pas, mais les avertissements de sécurité sur la gestion SSL et les plantages sont justement ce que regardent les examinateurs. Corrigez-les avant la production.
Le bouton retour doit-il parfois fermer l'app ?
Sur la page d'accueil, après une confirmation : c'est le comportement attendu sur Android. Partout ailleurs, il doit revenir en arrière dans l'historique web, ce que WebViewGold fait par défaut.
Trois façons de mettre votre app dans les stores
Même résultat, charge de travail différente de votre côté. Les trois formules incluent la garantie d'approbation et le support humain 24/7.
Faites-le vous-même
$109 par plateforme, paiement unique
La licence WebViewGold : un projet Xcode ou Android Studio prêt à l'emploi. Collez votre URL, définissez le nom et l'icône, activez les fonctionnalités, compilez et soumettez. Mises à jour gratuites à vie.
Ni Mac, ni Xcode, ni Android Studio : configurez dans le navigateur, nous compilons les deux apps dans le cloud et les transmettons à App Store Connect et à la Play Console.
Envoyez-nous votre URL et votre icône. Notre équipe configure, compile et livre votre app sous 72 heures, en marque blanche, projets sources inclus. Les deux plateformes pour $1,158.
Les remboursements sont accordés aux conditions indiquées dans notre FAQ : un refus non lié au contenu par Apple et/ou Google, demandé dans les 14 jours suivant l'achat.