Likely to be questionedGoogle Play
Asking to ignore battery optimisation is allowed only for apps whose core function breaks otherwise
What is checked This rule is decided by code from the built app and the listing: android.built.manifest.
Applies to every app
Checked from built, not yet uploaded, on a test track, submitted and in review, published
The rule, in our words
- Device and Network Abuse: No interfering with the device, other apps, networks or services: no self-updating outside Play, no downloading executable code (except code run in a VM or interpreter such as JavaScript in a webview, which must not enable policy violations), no exploiting vulnerabilities, no blocking other apps' ads, no cheats, no installing apps without consent, no proxy services unless that is the app's primary user-facing purpose, no webview with a JavaScript interface loading untrusted content, no bypassing power management unless eligible, no full-screen intent for disruptive ads or notifications, no circumventing the sandbox to infer user activity; apps must meet the Core App Quality system optimization rules and respect other apps' FLAG_SECURE and REQUIRE_SECURE_ENV. Foreground services in apps targeting Android 14 or later must declare a valid type with its matching permission, provide a core user-beneficial feature, be user-initiated or perceptible, be stoppable by the user, be work the system cannot defer without breaking the experience, and run only as long as needed (systemExempted, shortService, and dataSync for Play Asset Delivery are exempt); each FGS permission must be declared in Play Console with a use-case description and demo video. User-initiated data transfer jobs must be started by the user, used only for network transfers, and stop when done.
Okkok never stores the stores' text. Each item above is our paraphrase, and the link is the page it rests on, verified unchanged by fingerprint on every run.
The other store
- Google adds concrete foreground-service rules for Android 14+ (declared type, permission, Play Console use-case description and demo video); Apple states outcomes (battery, heat) rather than mechanisms. partial
- Google explicitly permits interpreted code such as JavaScript in a webview; Apple's wording bans any downloaded code that changes the app. Google's foreground-service rules are more prescriptive (type declaration, console description and video). partial
- Both allow interpreted content; Apple attaches the index, consent, IAP and age-gating conditions. partial
- none on the principle that network tunnelling must be the app's declared purpose. same
Check your app
pip install git+https://github.com/petresandu-cloud/okkok
okkok audit path/to/app
The report names this rule as google.battery-optimisation-bypass-eligible and says what to do, who does it, where, and how it knows.