One identifier per client
Agencies publishing the same product for several customers use a scheme like com.agency.clientname, or better the client's own domain reversed. Never reuse an ID across clients.
Before you submit
Every app has a technical identity: the bundle ID on iOS and the package name on Android. The stores lock it with your first upload, and half a dozen other systems have to agree on it. Five minutes of thought now saves you a complete re-release later.
From $109 one-time per platform, or let our team do it all from $698.
The identifier is a reverse-DNS string such as com.yourbrand.appname. iOS calls it the bundle identifier, Android the package name (technically the applicationId). Users never see it, but every system that talks to your app uses it as the primary key: the stores, push services, purchase systems, deep-link verification files and your own backend.
App Store Connect fixes the bundle ID of an app record the moment the first build is uploaded. Google Play fixes the package name with the first bundle you upload to any track, even internal testing, and a package name that has been used on Play can never be reused by another app, not even after you delete the original. The WebViewGold projects ship with placeholder identifiers (com.webviewgold.myappname on Android), and those placeholders are already taken, so renaming is step one of every project.
"Change it later" therefore means: a new app record, a new listing, zero ratings, and users who have to install a second app. Treat the identifier like a domain name you cannot transfer.
com.yourbrand.appname. It does not have to resolve to a website, but it must be unique, and a domain you own ensures that.new, default, class) so the Android project compiles without surprises.| System | Field | Notes |
|---|---|---|
| App Store Connect | Bundle ID of the app record | Chosen from the App IDs registered in your developer account; locked after the first build |
| Xcode project | Bundle Identifier of the WebViewGold target | Extension targets must use it as a prefix, for example com.my.app.OneSignalNotificationServiceExtension; keep the project name "WebViewGold" unchanged, the docs warn that renaming it causes issues |
| Google Play Console | Package name of the uploaded bundle | Locked by the first upload to any testing track |
| Android Studio project | applicationId in build.gradle (rename via the refactor video in the Android publish docs) | Back up the project before renaming |
| Cloud Builder | Bundle ID / package name field | Set it before the first build; the Cloud Builder handles the Xcode and Gradle side for you |
| RevenueCat | App Store app and Play Store app | Must match exactly or purchases fail silently |
| Firebase (push, Crashlytics) | iOS bundle ID and Android package name of the registered apps | Permanent once registered; GoogleService-Info.plist and google-services.json are generated for that exact ID |
| OneSignal / Pushwoosh | App configuration | Certificates and keys are issued for the App ID |
| Universal Links / App Links | apple-app-site-association (TEAMID.bundleid) and assetlinks.json (package_name) | A typo here breaks magic links without any error message |

My iOS WebView is finally approved. Thanks!!
When a user taps a magic link from Supabase or a shared link from your app, iOS and Android decide whether to open your app by comparing the files on your domain with the installed app's identity. The apple-app-site-association file lists TEAMID.com.yourbrand.appname; assetlinks.json lists the package name plus the SHA-256 fingerprint of the signing key. Rename the app before launch and both files must be updated, which is easy. Rename after launch and the old app, still installed on thousands of phones, stops matching and loses its deep links; the deep links guide shows the full setup. The custom URL scheme (yourapp://) is independent of the bundle ID and can change at any time.
Agencies publishing the same product for several customers use a scheme like com.agency.clientname, or better the client's own domain reversed. Never reuse an ID across clients.
The WebViewGold license covers one customized end product. Five client apps on one platform need five licenses, and five Cloud Builder upgrades if you build in the browser.
Apple Guideline 4.3 (spam) and Google's repetitive-content rules target identical apps from one account. Each client's app belongs in that client's developer account, with its own content and branding.
A spreadsheet with client, bundle ID, package name, Team ID, signing key fingerprint and push credentials. You will need it for every assetlinks.json and every RevenueCat project.
Yes, freely. In App Store Connect you can even delete an app record that never received a build. Everything becomes permanent with the first uploaded build or bundle.
No, the stores do not compare them. Keeping them identical is a convention that saves confusion in RevenueCat, Firebase and your backend.
Google Play rejects the upload because the package name already exists in another developer's app. On iOS the registration of that App ID fails for the same reason. Rename first.
The Play Store URL contains it (play.google.com/store/apps/details?id=com.yourbrand.appname). App Store URLs use a numeric ID instead.
No. The identifier is just a unique string; it never has to resolve. Keep it and move on.
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.