Skip to content
WebViewGold Vibe Coding to App Store
English
Get WebViewGold

App Store rejection

Guideline 4.7 (mini apps and mini games): shipping HTML5 games and mini apps inside a WebViewGold app

Guideline 4.7 lets an app offer HTML5 and JavaScript mini games and mini apps that are not built into the binary, but makes you responsible for each one. A single game you made mostly follows the normal rules. An arcade, a catalog or a platform where people publish mini apps needs an index with universal links, age gating, moderation and In-App Purchase for digital items.

From $109 one-time per platform, or let our team do it all from $698.

  • Approval guarantee – or money back within 14 days
  • No coding needed
  • One-time payment, free updates
  • 24/7 human support
  • Made in Germany since 2014 · ISO 27001

What 4.7 says

Guideline 4.7 covers software an app offers without embedding it in the binary: HTML5 and JavaScript mini apps and mini games, streaming games, chatbots and plug-ins, plus retro console and PC emulators that download games. You are responsible for all of it: every item must follow the App Review Guidelines and applicable law, and a single non-compliant item can get the whole app rejected. Five sub-rules add specific duties.

4.7.1 to 4.7.5 in plain words

  • 4.7.1

    Privacy, moderation and payments

    Each mini app or game follows the privacy rules of 5.1, offers filtering, reporting with timely responses and blocking of abusive users, and sells digital goods under 3.1, which normally means In-App Purchase.

  • 4.7.2

    No native APIs without permission

    Your app may not extend or expose native platform APIs or technologies to the offered software unless Apple has given prior permission.

  • 4.7.3

    Consent each time data is shared

    Your app may not pass user data or privacy permissions to an individual mini app without the user's explicit consent in each instance.

  • 4.7.4

    An index with universal links

    You provide an index of the software and its metadata, with universal links that lead to every item offered in the app.

  • 4.7.5

    Age rating and age gating

    Users can identify items that exceed the app's age rating, and an age restriction based on verified or declared age keeps underage users away from them.

What the rejection message usually says

4.7 rejections usually name the sub-rule the reviewer could not confirm: no index of the games or mini apps, no universal links to individual items, no age restriction for items above the app's rating, mini games selling coins or lives through a web checkout, or third-party software that can reach the camera or location through your app. When the catalog itself looks thin or copied, the note may cite Guideline 4.2 or Guideline 4.3 instead.

I am very happy I bought this app! Extremely easy and great documentation. Was in contact with the customer service, they replied very quickly and very friendly. They solved my question within a day. 10/10 would recommend.

Nelis Geiger · CodeCanyon

Does 4.7 apply to your app?

Your appRules that matter most
One HTML5 game you made, bundled in the app or loaded from your serverThe usual rules: complete and stable (2.1), enough substance (4.2), In-App Purchase for coins and levels (3.1.1). The 4.7 duties are aimed mainly at catalogs.
Your own collection of games or mini apps that grows from the server4.7 in full: index with universal links, an age rating per item, In-App Purchase for digital goods.
Third-party games embedded from a portal or partner4.7 plus licensing: you answer for their content, ads and purchases. Without a license, expect Guideline 5.2 trouble.
A platform where users or an AI publish mini apps or games4.7 plus 1.2 moderation, and the limits on running generated code: see Guideline 2.5.2 and AI-generated features.
An AI chatbot inside the appNamed in 4.7; in practice, filtering and reporting under 1.2 and the AI chat rules.

Why web-wrapped game apps get 4.7 questions

Games are cheap to generate

Bolt, Lovable or Claude can produce a playable HTML5 game in an afternoon, so "an arcade with 30 mini games" is a popular first app. Reviewers have seen many of them.

Content changes after review

New games appear on the server without an update. 4.7 allows exactly that, which is why it insists on an index, age data and your responsibility for each item.

Web monetization inside games

Coins and skins sold through a web checkout or a game portal's own payment system break 4.7.1 and 3.1.1 at the same time.

One JavaScript bridge for everything

WebViewGold's URL schemes are triggered by navigations in the WebView, whoever's code runs there. Third-party games loaded into your page could reach haptics, scanners or contacts, which 4.7.2 does not allow without permission.

Make a games or mini app catalog pass

  1. Build the index page

    One page in your web app that lists every game or mini app with name, short description, developer, age rating and category. Make it reachable from the main navigation and mention it in the review notes.

  2. Give every item its own URL and universal link

    Each game gets a stable path such as /games/space-runner. Enable Associated Domains in the Apple Developer account and in Xcode (applinks:yourdomain.com), host the apple-app-site-association file and set ShowExternalLink to true in Config.swift, following the Universal Links docs. Every entry in the index should open the app at that item; the deep links guide helps with testing.

  3. Rate every item and gate by age

    Give each item an age rating and mark those above the app's own rating. Ask for the user's birth year (declared age) at onboarding or use verified age from your account system, and hide or lock items above it. Apple's native age-related APIs are not part of the documented WebViewGold bridge, so handle this step in your web app.

  4. Sell digital items with In-App Purchase

    Coins, lives, skins, ad removal and level packs go through RevenueCat (revenuecat://purchase?external_id=USER_ID&product=coins_500), with the balance stored on your backend. Remove portal or web payment code from every game.

  5. Keep native features for your own code

    Let only your own first-party pages call WebViewGold URL schemes. Run third-party or user-made games in sandboxed iframes on a separate origin, and do not hand them user data, location or permissions without asking each time (4.7.3).

  6. Moderate what users publish

    If users or an AI can publish games, add reporting, blocking, filtering and a contact address, as described in the 1.2 moderation guide.

Universal links for every game

Serve this file at https://yourdomain.com/.well-known/apple-app-site-association over HTTPS, without a file extension and as JSON. Replace the team ID and bundle ID with yours.

json
{
  "applinks": {
    "details": [
      {
        "appIDs": ["ABCDE12345.com.yourcompany.arcade"],
        "components": [
          { "/": "/games", "comment": "The index of all games" },
          { "/": "/games/*", "comment": "Every individual game" }
        ]
      }
    ]
  }
}

Make each game feel at home in the app

A few Config.swift settings make HTML5 games feel native: orientationiphone and orientationipad set to "landscape" or "auto" for landscape games, preventsleep to keep the screen on while playing, preventZoom and preventoverscroll against accidental zooming and bouncing, disablecallout against link previews on long press, and enableswipenavigation set to false so a swipe in the game does not navigate back. Your own game code can use the haptic feedback API (lighthaptic://, successhaptic:// and others), and AdMob interstitials can appear after a level via admobadstriggerurls.

Games bundled with uselocalhtmlfolder are part of the binary, are reviewed with the app and work offline. Games you add later from your server are the "not embedded in the binary" software that 4.7 is about.

Resolution Center reply template

Answer each 4.7 sub-rule in one line, in the order Apple lists them.

Reply in Resolution Center (keep the lines that apply)
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

  • An index page lists every game or mini app with metadata and an age rating.
  • Every index entry is a universal link that opens the item in the app.
  • Items above the app's age rating are marked and gated by declared or verified age.
  • All digital items are sold through In-App Purchase; no web or portal payments inside games.
  • Third-party or user-made software runs isolated, without native features and without user data unless the user agrees each time.
  • Reporting, blocking and filtering wherever users or an AI publish content.

Frequently asked questions

Can I publish a single HTML5 game with WebViewGold?

Yes. WebViewGold supports HTML5 games, bundled in the app or loaded from your server. Apple judges it like any other game: it must be complete, stable and substantial enough to stand on its own, and digital items use In-App Purchase.

Can I include games from free HTML5 game portals?

Only with a license that allows distribution in your app, and you then answer for their content, ads and purchases. Apps built on portal content often run into Guideline 4.3 or 5.2 as well, so original or properly licensed games are the safer route.

What exactly is the index Apple asks for?

A list of every mini app or game in your app with its metadata, where each entry is a universal link to that item. A games page on your domain with one universal link per game does the job.

Do my own games need Apple's permission to use haptics?

We read 4.7.2 as being about exposing native APIs to software offered in your app, not about your own first-party code using the documented WebViewGold features. For third-party software, keep native features out of reach. If you are unsure, describe the use in the review notes.

Do AI-generated games count as mini games?

If an AI generates playable games inside your app, they are software you offer, with all 4.7 duties, and running newly generated code is also a 2.5.2 question. Games you generated with AI during development and then published like any other game are simply your games.

Three ways to get your app into the stores

Same result, different amount of work on your side. All three come with the approval guarantee and 24/7 human support.

Do it yourself

$109 per platform, one-time

The WebViewGold license: a finished Xcode or Android Studio project. Paste your URL, set name and icon, switch on features, build and submit. Free updates forever.

See plans on the main page

Cloud Builder

$349 per license, one-time add-on

No Mac, no Xcode, no Android Studio: configure in the browser, we build both apps in the cloud and hand them to App Store Connect and the Play Console.

How the Cloud Builder works Try the free demo

Full Service

$698 per platform $798

Send us your URL and icon. Our team configures, builds and delivers your app within 72 hours, white-label, with source projects. Both platforms for $1,158.

Full Service details Powered by WeSetupYourWebViewApp

Winter Sale prices valid until December 31, 2026.

Ready to ship your app?

App Store & Google Play approval guarantee – or your money back within 14 days

Rather hand it over? Full Service: we configure, build and deliver within 72 hours, from $698 per platform. Questions? Chat with us 24/7.

Refunds are granted under the conditions listed in our FAQ: a non-content rejection by Apple and/or Google, claimed within 14 days after purchase.