Aller au contenu
WebViewGold Du vibe coding à l'App Store
Français
Obtenir WebViewGold

Refus App Store

Guideline 4.7 (mini-apps et mini-jeux) : publier des jeux HTML5 et des mini-apps dans une app WebViewGold

La guideline 4.7 permet à une app de proposer des mini-jeux et des mini-apps en HTML5 et JavaScript qui ne sont pas intégrés au binaire, mais vous rend responsable de chacun d'eux. Un jeu unique que vous avez créé suit pour l'essentiel les règles habituelles. Une salle d'arcade, un catalogue ou une plateforme où des gens publient des mini-apps a besoin d'un index avec Universal Links, d'un contrôle d'âge, d'une modération et de l'achat intégré pour les biens numériques.

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

Ce que dit la 4.7

La guideline 4.7 couvre les logiciels qu'une app propose sans les intégrer au binaire : mini-apps et mini-jeux HTML5 et JavaScript, jeux en streaming, chatbots et plug-ins, ainsi que les émulateurs de consoles rétro et de PC qui téléchargent des jeux. Vous êtes responsable de l'ensemble : chaque élément doit respecter les App Review Guidelines et la loi applicable, et un seul élément non conforme peut faire refuser toute l'app. Cinq sous-règles ajoutent des obligations précises.

4.7.1 à 4.7.5 en clair

  • 4.7.1

    Confidentialité, modération et paiements

    Chaque mini-app ou mini-jeu respecte les règles de confidentialité de la 5.1, propose un filtrage, un signalement avec des réponses rapides et le blocage des utilisateurs abusifs, et vend les biens numériques conformément à la 3.1, ce qui signifie normalement l'achat intégré.

  • 4.7.2

    Pas d'API natives sans autorisation

    Votre app ne peut ni étendre ni exposer les API ou technologies natives de la plateforme aux logiciels proposés, sauf autorisation préalable d'Apple.

  • 4.7.3

    Un consentement à chaque partage de données

    Votre app ne peut pas transmettre des données utilisateur ou des autorisations de confidentialité à une mini-app sans le consentement explicite de l'utilisateur, à chaque fois.

  • 4.7.4

    Un index avec Universal Links

    Vous fournissez un index des logiciels et de leurs métadonnées, avec des Universal Links qui mènent à chaque élément proposé dans l'app.

  • 4.7.5

    Classification par âge et contrôle d'âge

    Les utilisateurs peuvent repérer les éléments qui dépassent la classification par âge de l'app, et une restriction d'âge fondée sur un âge vérifié ou déclaré en tient éloignés les utilisateurs trop jeunes.

Ce que dit généralement le message de refus

Les refus 4.7 citent généralement la sous-règle que l'examinateur n'a pas pu confirmer : pas d'index des jeux ou mini-apps, pas d'Universal Links vers les éléments individuels, pas de restriction d'âge pour les éléments au-dessus de la classification de l'app, des mini-jeux qui vendent des pièces ou des vies via un checkout web, ou des logiciels tiers capables d'accéder à l'appareil photo ou à la localisation via votre app. Quand le catalogue lui-même paraît maigre ou copié, la note peut plutôt citer la guideline 4.2 ou la guideline 4.3.

Je suis très content d'avoir acheté cette application ! Extrêmement facile et excellente documentation. J'ai été en contact avec le service client, ils ont répondu très rapidement et très amicalement. Ils ont résolu ma question en un jour. 10/10 recommanderaient.

Nelis Geiger · CodeCanyon

La 4.7 s'applique-t-elle à votre app ?

Votre appLes règles qui comptent le plus
Un jeu HTML5 que vous avez créé, intégré à l'app ou chargé depuis votre serveurLes règles habituelles : complet et stable (2.1), suffisamment de substance (4.2), achat intégré pour les pièces et les niveaux (3.1.1). Les obligations de la 4.7 visent surtout les catalogues.
Votre propre collection de jeux ou de mini-apps, qui s'enrichit depuis le serveurLa 4.7 dans son intégralité : index avec Universal Links, classification par âge pour chaque élément, achat intégré pour les biens numériques.
Des jeux tiers intégrés depuis un portail ou un partenaireLa 4.7 plus les licences : vous répondez de leur contenu, de leurs publicités et de leurs achats. Sans licence, attendez-vous à des ennuis avec la guideline 5.2.
Une plateforme où des utilisateurs ou une IA publient des mini-apps ou des jeuxLa 4.7 plus la modération de la 1.2, et les limites sur l'exécution de code généré : voir la guideline 2.5.2 et les fonctionnalités générées par IA.
Un chatbot IA dans l'appCité dans la 4.7 ; en pratique, filtrage et signalement au titre de la 1.2, plus les règles sur les chats IA.

Pourquoi les apps de jeux web encapsulées reçoivent des questions sur la 4.7

Les jeux se génèrent à peu de frais

Bolt, Lovable ou Claude peuvent produire un jeu HTML5 jouable en un après-midi : « une arcade de 30 mini-jeux » est donc une première app très populaire. Les examinateurs en ont vu beaucoup.

Le contenu change après l'examen

De nouveaux jeux apparaissent sur le serveur sans mise à jour. La 4.7 autorise précisément cela, et c'est pourquoi elle insiste sur un index, des données d'âge et votre responsabilité pour chaque élément.

La monétisation web dans les jeux

Des pièces et des skins vendus via un checkout web ou le système de paiement propre à un portail de jeux enfreignent la 4.7.1 et la 3.1.1 en même temps.

Un seul pont JavaScript pour tout

Les URL schemes de WebViewGold sont déclenchés par des navigations dans la WebView, quel que soit le code qui s'y exécute. Des jeux tiers chargés dans votre page pourraient accéder au retour haptique, aux scanners ou aux contacts, ce que la 4.7.2 n'autorise pas sans permission.

Faites accepter un catalogue de jeux ou de mini-apps

  1. Créez la page d'index

    Une page de votre app web qui liste chaque jeu ou mini-app avec son nom, une courte description, le développeur, la classification par âge et la catégorie. Rendez-la accessible depuis la navigation principale et mentionnez-la dans les notes pour l'examen.

  2. Donnez à chaque élément sa propre URL et son Universal Link

    Chaque jeu reçoit un chemin stable comme /games/space-runner. Activez Associated Domains dans le compte Apple Developer et dans Xcode (applinks:yourdomain.com), hébergez le fichier apple-app-site-association et réglez ShowExternalLink sur true dans Config.swift, en suivant la documentation Universal Links. Chaque entrée de l'index doit ouvrir l'app sur l'élément concerné ; le guide des deep links vous aide à tester.

  3. Classez chaque élément et filtrez par âge

    Attribuez à chaque élément une classification par âge et signalez ceux qui dépassent la classification de l'app. Demandez l'année de naissance de l'utilisateur (âge déclaré) lors de l'onboarding ou utilisez un âge vérifié issu de votre système de comptes, puis masquez ou verrouillez les éléments au-dessus. Les API natives d'Apple liées à l'âge ne font pas partie du pont WebViewGold documenté : gérez donc cette étape dans votre app web.

  4. Vendez les biens numériques en achat intégré

    Pièces, vies, skins, suppression des publicités et packs de niveaux passent par RevenueCat (revenuecat://purchase?external_id=USER_ID&product=coins_500), avec le solde stocké sur votre backend. Retirez de chaque jeu le code de paiement web ou de portail.

  5. Réservez les fonctionnalités natives à votre propre code

    Ne laissez que vos propres pages appeler les URL schemes de WebViewGold. Faites tourner les jeux tiers ou créés par les utilisateurs dans des iframes sandboxées sur une origine distincte, et ne leur transmettez ni données utilisateur, ni position, ni autorisations sans demander à chaque fois (4.7.3).

  6. Modérez ce que publient les utilisateurs

    Si des utilisateurs ou une IA peuvent publier des jeux, ajoutez signalement, blocage, filtrage et une adresse de contact, comme décrit dans le guide de modération 1.2.

Des Universal Links pour chaque jeu

Servez ce fichier à l'adresse https://yourdomain.com/.well-known/apple-app-site-association en HTTPS, sans extension de fichier et au format JSON. Remplacez le team ID et le bundle ID par les vôtres.

json
{
  "applinks": {
    "details": [
      {
        "appIDs": ["ABCDE12345.com.yourcompany.arcade"],
        "components": [
          { "/": "/games", "comment": "L'index de tous les jeux" },
          { "/": "/games/*", "comment": "Chaque jeu individuel" }
        ]
      }
    ]
  }
}

Faites en sorte que chaque jeu se sente chez lui dans l'app

Quelques réglages de Config.swift donnent aux jeux HTML5 un ressenti natif : orientationiphone et orientationipad réglés sur "landscape" ou "auto" pour les jeux en paysage, preventsleep pour garder l'écran allumé pendant la partie, preventZoom et preventoverscroll contre les zooms et rebonds accidentels, disablecallout contre les aperçus de liens lors d'un appui long, et enableswipenavigation réglé sur false pour qu'un balayage dans le jeu ne déclenche pas de retour en arrière. Le code de vos propres jeux peut utiliser l'API de retour haptique (lighthaptic://, successhaptic:// et d'autres), et des interstitiels AdMob peuvent apparaître après un niveau via admobadstriggerurls.

Les jeux intégrés avec uselocalhtmlfolder font partie du binaire, sont examinés avec l'app et fonctionnent hors ligne. Les jeux que vous ajoutez plus tard depuis votre serveur sont les logiciels « non intégrés au binaire » dont traite la 4.7.

Modèle de réponse pour le Resolution Center

Répondez à chaque sous-règle de la 4.7 en une ligne, dans l'ordre où Apple les énumère. Le modèle reste en anglais, la langue de travail des examinateurs.

Réponse dans le Resolution Center (gardez les lignes qui s'appliquent)
Hello App Review team,

Thank you for reviewing [App name] [version] ([build]). Here is how the app meets Guideline 4.7:

- Index: all [number] games are listed in [the Games tab / https://yourdomain.com/games] with name, developer, description and age rating. Each entry is a universal link (for example https://yourdomain.com/games/[slug]) that opens the game in the app.
- Responsibility: all games are [made by us / licensed from [partner]] and checked by us before publication.
- Age: the app is rated [age]. [No game exceeds this rating. / Games rated above it are marked and only available after the user's declared age is confirmed at onboarding.]
- Purchases: [coins / ad removal] are sold only through In-App Purchase ([product IDs]). Games contain no other payment methods.
- Native features and data: games do not access native APIs or user data. [A nickname is shared with a game only after the user confirms it each time.]
- [User-published games: report, block and filtering are available on every game page; reports reach us at [email].]

Best regards,
[Name], [email]

Checklist

  • Une page d'index liste chaque jeu ou mini-app avec ses métadonnées et une classification par âge.
  • Chaque entrée de l'index est un Universal Link qui ouvre l'élément dans l'app.
  • Les éléments au-dessus de la classification de l'app sont signalés et filtrés selon l'âge déclaré ou vérifié.
  • Tous les biens numériques sont vendus en achat intégré ; aucun paiement web ou de portail dans les jeux.
  • Les logiciels tiers ou créés par les utilisateurs tournent isolés, sans fonctionnalités natives et sans données utilisateur, sauf accord de l'utilisateur à chaque fois.
  • Signalement, blocage et filtrage partout où des utilisateurs ou une IA publient du contenu.

Questions fréquentes

Puis-je publier un seul jeu HTML5 avec WebViewGold ?

Oui. WebViewGold prend en charge les jeux HTML5, intégrés à l'app ou chargés depuis votre serveur. Apple le juge comme n'importe quel autre jeu : il doit être complet, stable et assez riche pour se suffire à lui-même, et les biens numériques passent par l'achat intégré.

Puis-je inclure des jeux issus de portails de jeux HTML5 gratuits ?

Seulement avec une licence qui autorise la distribution dans votre app, et vous répondez alors de leur contenu, de leurs publicités et de leurs achats. Les apps construites sur du contenu de portail se heurtent souvent aussi à la guideline 4.3 ou 5.2 : des jeux originaux ou dûment licenciés sont la voie la plus sûre.

Qu'est-ce que l'index demandé par Apple, exactement ?

Une liste de chaque mini-app ou jeu de votre app avec ses métadonnées, où chaque entrée est un Universal Link vers l'élément concerné. Une page de jeux sur votre domaine avec un Universal Link par jeu fait l'affaire.

Mes propres jeux ont-ils besoin de l'autorisation d'Apple pour utiliser le retour haptique ?

Nous lisons la 4.7.2 comme portant sur l'exposition d'API natives aux logiciels proposés dans votre app, et non sur votre propre code qui utilise les fonctionnalités documentées de WebViewGold. Pour les logiciels tiers, gardez les fonctionnalités natives hors de portée. En cas de doute, décrivez l'usage dans les notes pour l'examen.

Les jeux générés par IA comptent-ils comme des mini-jeux ?

Si une IA génère des jeux jouables dans votre app, ce sont des logiciels que vous proposez, avec toutes les obligations de la 4.7, et l'exécution de code fraîchement généré soulève aussi une question au titre de la 2.5.2. Les jeux que vous avez générés avec une IA pendant le développement, puis publiés comme n'importe quel autre jeu, sont tout simplement vos jeux.

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.

Voir les offres sur la page principale

Full Service

$698 par plateforme $798

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.

Détails du Full Service Propulsé par WeSetupYourWebViewApp

Prix Soldes d'hiver valables jusqu'au 31 décembre 2026.

Prêt à publier votre app ?

Garantie d'approbation App Store & Google Play – ou remboursement sous 14 jours

Vous préférez déléguer ? Full Service : nous configurons, compilons et livrons sous 72 heures, dès $698 par plateforme. Des questions ? Chattez avec nous 24/7.

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.