Store badges in the web footer
Your landing page shows "Download on the App Store" next to "Get it on Google Play". The iOS app loads the same footer, so the reviewer sees a Google Play badge inside an iPhone app.
App Store rejection
A 2.3.10 rejection means App Review found another mobile platform in your app or your listing: a Google Play badge in the footer, "also on Android" in the description, or a screenshot with an Android status bar. It is one of the easiest rejections to fix, and most of the work happens in your web app, not in Xcode.
From $109 one-time per platform, or let our team do it all from $698.
Guideline 2.3.10 asks that an app stay focused on the Apple platforms it supports. Neither the app nor its metadata should show names, icons or imagery of other mobile platforms or of alternative app marketplaces, unless the app has specific interactive functionality that Apple has approved. The same rule asks that metadata be about the app itself and leave out irrelevant information.
In practice, "Android", "Google Play", "Play Store", APK download links, Android robots, Pixel or Galaxy device frames and Android system bars have no place on anything an App Store customer sees, inside the app or on its product page. The web is not a mobile platform, and neither is a desktop computer, so a calm "also works in your browser" is generally fine. 2.3.10 is one sub-rule of the broader metadata section; the Guideline 2.3 guide covers the others.
The note normally appears under Performance, Accurate Metadata. It explains that the app or its metadata contains information about a third-party platform that is not relevant to App Store users. Reviewers usually point to the place (a specific screenshot, the description, the promotional text or a screen inside the app) and often attach a screenshot of what they saw. They ask you to remove the references and resubmit.
Look for one detail: is the problem in the metadata, which you fix in App Store Connect, or inside the app, which you fix on your web server? Many 2.3.10 rejections list both.
Your landing page shows "Download on the App Store" next to "Get it on Google Play". The iOS app loads the same footer, so the reviewer sees a Google Play badge inside an iPhone app.
Captured on an Android phone, in Chrome DevTools with a Pixel profile, or in a mockup tool with a Galaxy frame. The Android status bar, the navigation bar or the punch-hole camera gives it away.
The description, promotional text or "What's New" still says "Android", "Play Store" or "APK". A keyword field containing "android" is a classic.
AI builders like to generate a "How to install the app" page with Android steps, or "Add to Home Screen" instructions for Chrome. Every page the reviewer can reach counts.
A PWA install banner, a "Get the Android app" smart banner or an "Open in app" bar from a marketing tool shows up inside the iOS app itself.
"Works on iPhone and Android" in the onboarding carousel, in empty states or in the canned answers of an in-app chat widget.

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.
Most mentions sit in code an AI tool generated, so search the project instead of clicking through pages. Expect a few false positives such as "pixel" in CSS. Text stored in your database or CMS (blog posts, help articles) does not show up here; search there separately.
# Run in the root of your web app (Lovable or Bolt export, Cursor or Claude Code project)
grep -rniE "android|google ?play|play\.google\.com|play store|\.apk|galaxy|pixel|samsung" \
--include=*.{ts,tsx,js,jsx,html,md,json,vue,svelte} \
--exclude-dir={node_modules,dist,build,.next} .Web visitors keep seeing the Google Play badge; only the iOS app hides it.
In Config.swift, set useragent_iphone (and useragent_ipad if the app runs on iPad) to the default iOS user agent plus a marker such as MyAppiOS. Your web app can now tell that it runs inside the iOS app and render platform-neutral content there. The Android project has the same option (USER_AGENT in Config.java) if you want the Android app to drop its App Store badge too.
Wrap footer badges, "Get the Android app" banners and platform-specific help sections in a check for the marker (code below). For a quick fix that needs no change to the web app, add a rule to custom.css in the WebViewGold project, which is applied to every page the app loads (Custom CSS and JavaScript docs). custom.css ships inside the binary, so that route needs a new build.
"Available on iPhone and Android" becomes "Available on iPhone and iPad". "Install on Android: tap the menu..." becomes a help page about the iOS app only. "Sync across all your devices" works everywhere and names no platform.
Install the TestFlight build on an iPhone (and an iPad if supported) or use the iOS Simulator in the required display sizes. The status bar must show the iOS clock and icons: no Android navigation bar, no Pixel or Galaxy frame. The screenshot and listing guide has the sizes and a capture workflow.
Description, subtitle, promotional text, keywords, "What's New", the app preview video and the In-App Purchase descriptions. Remove "android" and "google play" from the keyword field; they do nothing for App Store search and also break Guideline 2.3.7. The ASO guide helps you use the space for keywords that bring installs.
Open the TestFlight build, visit every page in the footer and the menu, logged in and logged out. Web changes are live as soon as you deploy, so if the binary was fine, reply in Resolution Center without a new upload. If you changed Config.swift or custom.css, upload a new build with a higher build number first.
Detect the app once and reuse the flag everywhere. The CSS in the comment is the fallback for custom.css when you cannot change the web app.
// Config.swift: useragent_iphone = "<default iOS user agent> MyAppiOS"
var isIosApp = navigator.userAgent.indexOf("MyAppiOS") !== -1;
// React example: no store badges at all inside the iOS app
function StoreBadges() {
if (isIosApp) return null;
return (
<div className="store-badges">
<a href="https://apps.apple.com/app/id0000000000">App Store</a>
<a href="https://play.google.com/store/apps/details?id=com.example.app">Google Play</a>
</div>
);
}
/* Fallback in custom.css of the WebViewGold project (applies to every page the app loads):
.store-badges, a[href*="play.google.com"], .android-only { display: none !important; }
*/| In your app or listing | Verdict | Better approach |
|---|---|---|
| "Get it on Google Play" badge | Flagged | Hide it in the iOS app, keep it on the website |
| "Also available on Android" | Flagged | "Also available on iPad", or leave it out |
| Screenshot with an Android status or navigation bar | Flagged | Capture from the iOS build |
| Keyword "android" or "play store" | Flagged (2.3.10 and 2.3.7) | A keyword that describes what the app does |
| "Use it on your computer at yourdomain.com" | Generally fine | Keep it informational, with no hint about cheaper prices on the web (3.1.1) |
| "Sign in with Google" button | Fine: a login service, not a platform | Offer Sign in with Apple next to it (Guideline 4.8) |
| "Play with friends on any phone" | Generally fine | Describe the feature without naming the platform |
List what you removed and where, so the reviewer can check each point in a minute.
Hello App Review team, Thank you for reviewing [App name], version [1.0] ([build number]). We have removed all references to other mobile platforms, as requested under Guideline 2.3.10: 1. Screenshots: all screenshots were replaced with captures from the iOS build on [iPhone display size] [and iPad display size]. They show the iOS status bar and no other device frames. 2. Metadata: the description, promotional text, keywords and What's New text no longer mention Android or Google Play. 3. Inside the app: the Google Play badge in the footer, the "Get the Android app" banner and the Android section of the help page are no longer shown in the iOS app. This content is served by our web server, so the change is already live in the build under review. [Or: build [number] contains this change.] To verify, please scroll to the footer on [Home] and open [Menu > Help]. If anything else should be changed, please let us know and we will fix it right away. Best regards, [Name] [Company], [email]
Generally yes. The web and desktop computers are not mobile platforms, and a short note such as "Your data syncs with the web version" is common. Keep it informational and never use it to steer purchases to the website, which falls under Guideline 3.1.1.
No. Google Sign-In is a login service, not a mobile platform. It does bring Guideline 4.8 into play, which asks for an equivalent privacy-friendly option such as Sign in with Apple next to it.
Yes, if any Android element is visible: status bar icons, the navigation bar or the device frame. Reviewers compare screenshots with the installed app, and Android system UI is an instant 2.3.10 finding. Capture from the iOS build instead.
Only if the fix lives in the binary, for example a changed user agent in Config.swift or a new custom.css. Metadata is edited in App Store Connect, and changes to your web app are live as soon as you deploy, so in those cases a Resolution Center reply is enough.
It is narrow. It is meant for apps with a real feature that works with another platform, and App Review decides case by case. Simply being available on Android does not qualify. If you believe your app has such a feature, describe it in the review notes.
Same result, different amount of work on your side. All three come with the approval guarantee and 24/7 human support.
$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$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$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 byWinter Sale prices valid until December 31, 2026.
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.