Google Play user-initiated data transfer jobs policy: fixes and checks

By The Draftbit team · Updated
Sources checked

This guide is for Apps using Android's user-initiated data transfer jobs API.

This API is for a network transfer the user starts. It isn’t permission to run unrelated background work or keep a job alive after a transfer finishes.

What to check

Follow the code from the user’s action to the scheduled job. Confirm that the job performs a network data transfer and that its lifetime matches that transfer. Review retries, failures, cancellation, and what happens after the app closes.

A periodic sync triggered by a timer isn’t made user-initiated because the user once enabled syncing in settings.

How to address the rejection

Use the API only for qualifying transfers. Move maintenance, periodic sync, and other work to the appropriate Android scheduling mechanism. End the job when its transfer completes or is cancelled.

Before resubmitting, test a successful transfer, a network failure, and cancellation. Give reviewers the action that starts the transfer and explain how the job stops. A clear reproduction path is more useful than a general statement that the app needs background access.

Messages this guide can help with

User-initiated data transfer jobs; User-initiated data transfer jobs policy violation; User-initiated data transfer jobs rejection; User-initiated data transfer jobs denied

Official sources

We checked these instructions against the sources below. The console layout may change, and your review decision may call for different steps.

Your next stepSubmit a Google Play release with working review access