Google Play Submission

Functionality

 Permissions

  Request only the absolute minimum permissions needed for core functionality

  Do not request permissions to access sensitive data or services that cost the users unless related to a core capability of the app.

 Install location

  App functions normally when installed on SD card (if supported by app).

  Its recommended that Apps larger than 10 MB should support installation to SD card.

 Audio

  Audio does not play when the screen is off, unless this is a core feature

  Audio does not play behind the lock screen, unless this is a core feature

  Audio does not play on the home screen or over another app, unless this is a core feature

  Audio resumes when the app returns to the foreground, or indicates to the user that playback is in a paused state.

 UI and Graphics

  App supports both landscape and portrait orientations(if possible).

  Orientations expose largely the same features and actions and preserve functional parity.

  App uses the whole screen in both orientations and does not letterbox to account for orientation changes.

  App correctly handles rapid transitions between display orientations without rendering problems.

 User/app state

  App should not leave any services running when the app is in the background, unless related to a core capability of the app.

  

   App state

    App correctly preserves and restores user or app state

    When the app is resumed from the Recents app switcher, the app returns the user to the exact state in which it was last used.

    When the app is resumed after the device wakes from sleep (locked) state, the app returns the user to the exact state in which it was last used.

    When the app is relaunched from Home or All Apps, the app restores the app state as closely as possible to the previous state.

    On Back keypresses, the app gives the user the option of saving any app or user state that would otherwise be lost on back-navigation.

Performance and Stability

 Stability

  App should not crash, force close, freeze.

  App should not function abnormally on any targeted device.

 Performance

  App must load quickly or provides onscreen feedback to the user (with a spinner) if it takes more than 2 seconds to load.

  With StrictMode enabled - no red flashes are visible when exercising the app.

 Media

  Music and video playback is smooth, without crackle, stutter, or other artifacts, during normal app usage and load

 Visual quality

  Graphics

   No aliasing at the edges of menus, buttons, and other UI elements is visible.

   App provides high-quality graphics for all targeted screen sizes and form factors, including for larger-screen devices such as tablets.

   App displays graphics, text, images, and other UI elements without noticeable distortion, blurring, or pixelation

  Text

   App displays text and text blocks in an acceptable manner.

   Composition is acceptable in all supported form factors, including for larger-screen devices such as tablets.

   No cut-off letters or words are visible.

   No improper word wraps within buttons or icons are visible.

   Sufficient spacing between text and surrounding elements.

Policies

 App strictly adheres to the terms of the Google Play Developer Content Policy and does not offer inappropriate content, does not use intellectual property or brand of others, and so on.

 Ratings

  App maturity level is set appropriately, based on the Content Rating Guidelines.

  Especially, note that apps that request permission to use the device location cannot be given the maturity level "Everyone".

 App Details Page

  App feature graphic follows the guidelines

  The app listing includes a high-quality feature graphic.

  The feature graphic does not contain device images, screenshots, or small text that will be illegible when scaled down and displayed on the smallest screen size that your app is targeting.

  The feature graphic does not resemble an advertisement.

  App screenshots and videos do not show or reference non-Android devices.

  App screenshots or videos do not represent the content and experience of your app in a misleading way.

 User support

  Common user-reported bugs in the Reviews tab of the Google Play page are addressed if they are reproducible and occur on many different devices. If a bug occurs on only a few devices, you should still address it if those devices are particularly popular or new.

Visual design and UI

 Standard Design

  Follow Android Design guidelines

  Use common UI patterns and icons

  Do not redefine the expected function of a system icon

  Do not replace a system icon with a completely different icon if it triggers the standard UI behavior

  The customized version of a standard system should resemble the system icon and trigger the standard system behavior.

  Do not redefine or misuse Android UI patterns which may mislead the user

 Navigation

  Do not make use of any custom on-screen "Back button"

  Clear understanding of Up vs Back button

  All dialogs should be dismissable using the Back button

  Pressing the Home button must navigates to the Home screen of the device.

 Notification

  Follow Android Design guidelines

  Multiple notifications are stacked into a single notification object.

  Notifications are persistent only if related to ongoing events (such as music playback or a phone call).

  Notifications do not contain ad or unrelated stuff (unless the user has opted in)

  Use notifications

   Indicate a change in context relating to the user personally (such as an incoming message)

   Expose information/controls relating to an ongoing event (such as music playback or a phone call).

Test Procedures(Core suit)

 Navigate to all parts of the app — all screens, dialogs, settings, and all user flows.

 If the application allows for editing or content creation, game play, or media playback, make sure to enter those flows to create or modify content.

 While using the app, introduce transient changes in network connectivity, battery function, GPS or location availability, system load, and so on.

 From each app screen, press the device's Home key, then re-launch the app from the All Apps screen.

 From each app screen, switch to another running app and then return to the app under test using the Recents app switcher.

 From each app screen (and dialogs), press the Back button

 From each app screen, rotate the device between landscape and portrait orientation at least three times.

 Switch to another app to send the test app into the background. Go to Settings and check whether the test app has any services running while in the background.

 Press the power button to put the device to sleep, then press the power button again to awaken the screen.

 Set the device to lock when the power button is pressed. Press the power button to put the device to sleep, then press the power button again to awaken the screen, then unlock the device.

 For devices that have slide-out keyboards, slide the keyboard in and out at least once. For devices that have keyboard docks, attach the device to the keyboard dock.

 For devices that have an external display port, plug-in the external display.

 Trigger and observe in the notications drawer all types of notifications that the app can display. Expand notifications where applicable.

 Examine the permissions requested by the app by going to Settings > App Info

More Test procedures

 Install on SD

  Repeat Core Suite with app installed to device SD card (if supported by app).

 Hardware acceleration

  Repeat Core Suite with hardware acceleration enabled. ( hardware-accelerated="true" to the <application> in the app manifest and recompile)

 Performance Monitoring

  Repeat Core Suite with StrictMode profiling enabled

 Google play

  Sign into the Developer Console to review your developer profile, app description, screenshots, feature graphic, maturity settings, and user feedback.

  Download your feature graphic and screenshots and scale them down to match the display sizes on the devices and form factors you are targeting.

  Review all graphical assets, media, text, code libraries, and other content packaged in the app or expansion file download.

 Payments

  Navigate to all screens of your app and enter all in-app purchase flows.