Kembo
BlogDocsSign in
Kembo

Mobile auth in minutes. Google and Apple sign-in for Expo, Flutter, Capacitor, and Web.

Product

  • Documentation
  • Blog
  • Pricing
  • Get started

Legal

  • Privacy Policy
  • Terms of Service
  • DPA
  • Data Deletion

© 2026 Kembo

Operated by ByteStronauts

← All posts
June 11, 2026·7 min read

The Wednesday before App Store and Play review

Apple and Google sign-in are not a nice-to-have — they are the hidden gate between “works on my phone” and “live on the App Store or Google Play.” Here is why that week always eats your roadmap.

App StoreGoogle PlayApple Sign Inshippingmobile auth

Every mobile team has the same calendar. Monday: polish the onboarding animation. Tuesday: fix the one crash that only happens on a physical iPhone 12 in low power mode — or an Android OEM skin you have never heard of. Wednesday: realize you still do not have Sign in with Apple wired up correctly, and Google OAuth is returning a redirect URI mismatch that only reproduces in TestFlight or an internal Play track.

Thursday is screenshots. Friday is prayer — whether you are waiting on App Review or Google Play's slower, quieter queue.

This is not a failure of engineering. It is what happens when the last mile of shipping is not your app — it is identity plumbing that Apple and Google treat as production infrastructure, not a weekend library install.

The rules nobody puts in the README

On iOS, if your app offers Google sign-in (or Facebook, or any third-party login), Apple's guidelines expect Sign in with Apple on the same screen, with equal prominence. Reviewers notice. Users notice. Your “we'll add Apple next sprint” backlog item becomes a binary gate: approve or reject.

On Android, Google Play's policies push you toward Google sign-in when you use social or third-party identity — and users expect it anyway. That means OAuth clients, consent screens, SHA-1 and SHA-256 fingerprints for release builds, package names, and keystore aliases that all agree with what you uploaded. Internal testing tracks are unforgiving: debug builds lie; signed APKs and AABs tell the truth.

Google is symmetric on both stores in a different way: Play Console and web flows want OAuth clients split by platform when you are on Expo or Capacitor — and they are easy to mix up. One typo in a redirect URI and auth works in the emulator, fails in the build reviewers install.

So you are not choosing “add auth.” You are choosing two vendors, two consoles, two token shapes, and a session story that survives background refresh, account deletion, and the reviewer tapping “Hide My Email” or signing in on a phone that has never seen your dev build before.

What review week actually looks like

  • Apple Services ID return URLs that must match character-for-character what your backend expects.
  • Play Console signing certificates pasted into Google Cloud — and rotated when you change keystores.
  • Google OAuth clients split by platform (iOS, Android, web) when you are on Expo or Capacitor — and they are easy to mix up.
  • Apple sending the user's name once, on first authorize only — if you miss it, support tickets start with “why is my name blank?”
  • Token refresh that must work after the app has been killed for three days, because that is exactly what reviewers on both stores do.

The cost is not the API call

Teams routinely budget a few days for “social login.” The integration tweet shows a button and a JWT. The real work is everything around it:

  • Where do refresh tokens live on device, and what happens on logout across tabs or WebViews?
  • Who owns the privacy policy paragraph for account deletion when Apple and Google both expect a working sign-in and data-deletion path?
  • How do you test production OAuth without polluting your personal Google account or burning Apple's one-time email payload?
  • What is your answer when marketing asks for “just email magic links” and the store listing already promises Google?

That work does not show up in the changelog. It shows up as a week where the feature you wanted to ship — the one users will pay for — sits behind a configuration screen with forty fields and no undo button.

Why we built Kembo the boring way on purpose

Kembo exists because the unglamorous path to App Store and Play Store week should not require becoming an OAuth consultant. The product decision was simple: let a solo dev or a small team get Google and Apple on the same screen, with hosted OAuth on the free tier, before anyone has opened Google Cloud Console.

You create a project, pick Expo or Flutter or Capacitor or Web, paste an agent prompt or follow the manual steps, and sign in on a real device — iOS and Android. Kembo hosts the redirects. Sessions get refresh rotation and hashed storage — the parts you would otherwise cargo-cult from three blog posts written in 2021.

When you are actually ready for the stores — not “demo ready,” review ready — you upgrade that project to Pro. Your app name and logo on the sign-in screen. Your Google and Apple credentials if you want them under your developer account. Production mode. The same SDK hooks; the branding and OAuth ownership change, not your navigation graph.

A concrete Thursday afternoon

Picture the alternative timeline. Auth already worked last month on both platforms. This week you are:

  1. Fixing the paywall copy.
  2. Recording the iPad screenshot Apple will ask for and the phone-sized assets Google Play wants anyway.
  3. Answering review questions about account deletion — App Review and Play policy — with a link that actually works.

That is what “fast shipment” means in practice — not skipping auth, but not discovering auth on the critical path. The teams that feel lucky on launch week are not faster coders. They front-loaded the unsexy requirement Apple and Google already wrote for them.

If you are shipping in the next 30 days

Get Google and Apple working on physical iOS and Android devices in development mode first. Exercise refresh after a cold start. Then worry about pixel-perfect onboarding. Kembo's free tier is built for that sequence — Pro is for when the binary hits TestFlight or a Play internal track with your name on it.

What Kembo deliberately does not do

We are not trying to be your entire backend, your analytics suite, or your push notification vendor. Kembo is narrow: mobile-first sign-in, sessions, optional privacy-first analytics when you opt in on Pro.

That narrowness is the point. Neither store rejects you for lacking a feature flag system. They reject or stall you when Sign in with Apple is missing, broken, or buried — when your Google flow opens a web view that feels like a phishing test — or when Play's signed build cannot complete OAuth because the fingerprint in Cloud Console is still the debug one.

The week after launch

The best feedback we get is not “auth was easy.” It is “we forgot auth was there.” The dashboard shows real users. You configure branding once. You move on to the thing that makes your app worth installing — on both stores.

If you are staring at a Wednesday calendar block that just says “OAuth,” that is not a you problem. It is an industry pattern. The fix is to treat Google and Apple sign-in like CI or crash reporting — infrastructure you plug in early, not a surprise tax the night before you hit Submit on App Store Connect or roll out to production on Play.

Start a free project, sign in on a device this week, and save launch week for the work only you can do.

Ready to skip the Wednesday OAuth panic? Create a free Kembo project.