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

Before you submit

Bundle ID and package name: the one setting you cannot change later

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.

  • 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 it is and why it is permanent

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.

Naming rules that satisfy both stores

  • Reverse a domain you control: com.yourbrand.appname. It does not have to resolve to a website, but it must be unique, and a domain you own ensures that.
  • Lowercase letters, digits and dots only. Start every segment with a letter; Android rejects segments that start with a digit and does not allow hyphens.
  • At least two segments (Android requires it), three is the convention.
  • Avoid Java keywords as segments (new, default, class) so the Android project compiles without surprises.
  • Use the same string on iOS and Android. Nothing enforces it, but RevenueCat, Firebase, OneSignal and your own logs are far easier to read with one identity.
  • Leave out builder names, "test", "beta", "v2" and the year. The ID outlives all of them.
  • Do not reverse a platform domain you rent (app.lovable, vercel.app). Use your brand domain even if the web app lives on a subdomain today.

Everywhere the identifier must match

SystemFieldNotes
App Store ConnectBundle ID of the app recordChosen from the App IDs registered in your developer account; locked after the first build
Xcode projectBundle Identifier of the WebViewGold targetExtension 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 ConsolePackage name of the uploaded bundleLocked by the first upload to any testing track
Android Studio projectapplicationId in build.gradle (rename via the refactor video in the Android publish docs)Back up the project before renaming
Cloud BuilderBundle ID / package name fieldSet it before the first build; the Cloud Builder handles the Xcode and Gradle side for you
RevenueCatApp Store app and Play Store appMust match exactly or purchases fail silently
Firebase (push, Crashlytics)iOS bundle ID and Android package name of the registered appsPermanent once registered; GoogleService-Info.plist and google-services.json are generated for that exact ID
OneSignal / PushwooshApp configurationCertificates and keys are issued for the App ID
Universal Links / App Linksapple-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!!

Taha Farooqui · CodeCanyon

Universal Links and App Links depend on it

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.

White-label and multi-client setups

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.

One license per end product

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.

Publish under the client's account

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.

Keep a registry

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.

Frequently asked questions

Can I change the bundle ID before the first upload?

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.

Do the iOS and Android identifiers have to be identical?

No, the stores do not compare them. Keeping them identical is a convention that saves confusion in RevenueCat, Firebase and your backend.

What happens if I upload with the default com.webviewgold.myappname?

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.

Does the bundle ID appear anywhere public?

The Play Store URL contains it (play.google.com/store/apps/details?id=com.yourbrand.appname). App Store URLs use a numeric ID instead.

I lost my domain. Is the identifier now wrong?

No. The identifier is just a unique string; it never has to resolve. Keep it and move on.

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.