Key takeaways
- Google's Awareness API overview says: "Google Play services will stop supporting the Awareness API in a future release, as early as January 2027." That is not a fixed date. It is the earliest Google names, and the page gives no latest date.
- The same page says "There is no direct replacement." Each signal has to be rebuilt on a separate Android API, and for some signals I found no documented alternative.
- Android documents three candidate alternatives (my mapping, Google does not call them equivalents): location fences to the Geofencing API, location snapshots to the Fused Location Provider, and walking, running, cycling, still and in-vehicle activity to the Activity Recognition Transition API.
- Time, headphone, beacon, places and weather have no alternative named on the Google pages I fetched. Places and weather were already deprecated for new implementations.
- If you move location fences to geofencing, read my guide on the Google Play rule that removes geofencing as a foreground service use case on January 27, 2027. The Geofence API itself is the path Google points to.
Pricing an app? Try the free app cost calculator or get a range for your project in the instant quote.
Google's Awareness API overview says Google Play services will stop supporting the API "in a future release, as early as January 2027," and that "There is no direct replacement." That is not a fixed date. The Fence and Snapshot APIs cover time, location, activity, headphones and beacons, plus place and weather snapshots that were already deprecated. In my mapping, location fences, location snapshots and walking, running, cycling, still and in-vehicle activity each have a candidate alternative documented on Android's own pages. Time, headphones, beacons, places and weather do not on the pages I fetched.
I checked Google's pages on October 19, 2026. The Awareness overview page showed a last-updated date of 2026-10-16 UTC. Google can change the wording, so open the linked pages before you plan around them.
Disclosure: App369 is my studio. I build and fix Flutter and Firebase apps, and the last section mentions what I sell. Google doesn't pay me for anything on this page.
What Google actually says
The overview page carries three lines that matter:
- "Deprecation notice: Awareness API is deprecated."
- "Google Play services will stop supporting the Awareness API in a future release, as early as January 2027."
- "There is no direct replacement."
"As early as" sets the earliest point, not the end date. I found no page that gives a later or final date. Plan to be off it by January 2027, because that is the earliest it can stop.
The page names five context types: Time, Location, Activity, Beacons and Headphones. It describes fences as conditions that react to combined signals, such as a user walking with headphones plugged in, and says callbacks arrive through a PendingIntent. Snapshots return the current state, such as location or headphone status.
The permissions page lists what each signal asks for today: ACCESS_FINE_LOCATION for Location and Beacon, an activity recognition permission for Activity, and none for Headphone and Time.
Where each Awareness signal can go
This table uses only alternatives that Android's own pages describe. The mapping is my reading. Google does not say any of these is equivalent to an Awareness signal.
| Awareness signal | Documented alternative | What I could confirm | What to check |
|---|---|---|---|
| LocationFence (enter, exit an area) | Geofencing API | GeofencingClient, enter, exit and dwell transitions, 100 geofences per app per device user | Latency, re-registration and permissions below |
Location snapshot (getLocation()) | Fused Location Provider | getLastLocation() can be out of date or null. getCurrentLocation() is the page's recommended way to get a fresh location | Precision follows the permission in your manifest |
| DetectedActivityFence and detected activity snapshot | Activity Recognition Transition API | Supports IN_VEHICLE, ON_BICYCLE, RUNNING, STILL and WALKING, with enter and exit transitions | It sends transition events. I did not see a current-state snapshot call, so a snapshot use needs a different design |
| TimeFence | No documented alternative on the pages I fetched | The permissions page lists no permission for it | You will have to rebuild the schedule logic with a scheduler you choose |
| HeadphoneFence and headphone state | No documented alternative confirmed | None named on the pages I fetched | Test on real devices |
| BeaconFence and beacon state | No documented alternative | The snapshot page ties beacons to the Nearby Messages API | Treat beacon features as a rebuild |
| Place snapshot | No documented alternative | The Snapshot page says "The Places and Weather contextual signals have been deprecated and are no longer available for new implementations." | Decide whether you still need it |
| Weather snapshot | No documented alternative | Same deprecation note as Places | Decide whether you still need it |
What the replacements actually do
Geofencing. Android's guide says you create the client with LocationServices.getGeofencingClient(this) and add geofences with addGeofences(). It requires ACCESS_FINE_LOCATION, and ACCESS_BACKGROUND_LOCATION if your app targets Android 10 (API level 29) or higher. Expect latency: the page says it is usually under 2 minutes, about 2 to 3 minutes under background location limits, and up to 6 minutes if the device has been stationary for a long time. It also says the app must re-register geofences after a device reboot, reinstall, app data clear, Play services data clear, or a GEOFENCE_NOT_AVAILABLE alert. It recommends a minimum radius of 100 to 150 meters. If your Awareness location fences used small areas or needed fast reaction, test this before you promise the same behavior.
Activity Recognition Transition API. You pass an ActivityTransitionRequest and a PendingIntent to requestActivityTransitionUpdates(). It needs the com.google.android.gms.permission.ACTIVITY_RECOGNITION permission and play-services-location 12.0.0 or higher. Events arrive in a BroadcastReceiver. Check the current Android permission rules for activity recognition on your target API level.
Fused Location Provider. The page says getLastLocation() is quick but "might be out of date," and calls getCurrentLocation() "the recommended way to get a fresh location, whenever possible."
The Google Play interaction
Moving location fences to geofencing leads straight into Play policy. Google's preview article says: "We're removing geofencing as an approved foreground services use case," and "Developers can instead use the Geofence API for this use case." The date is January 27, 2027. So the Geofence API is the supported route, and a location foreground service built only to watch geofences is the thing to avoid.
Both geofencing permissions, fine location and background location, are also sensitive, so they fall under Play's location rules. I cover the dates, the location button and the declarations in my guide to Google Play's contacts and location permission changes and do not repeat them here.
The Flutter angle
I did not find an official Flutter plugin for the Awareness API. I did not find an official Flutter plugin for the Awareness API; a pub.dev search for "awareness api" showed nothing from Google or the Flutter team on its first page, which is not proof, so confirm it yourself. If your app uses a third-party Awareness plugin, it may stop working when Play services drops the API, and the plugin author may not ship a fix. Check the plugin's repository and decide whether to replace it with direct Android code.
Migration steps
- Find every Awareness call. Search your Android code and your Flutter plugins for
awareness,FenceClient,SnapshotClientandAwarenessFence. A plugin may use it without your code showing it. - List the signals in use. Write down which of time, location, activity, headphone and beacon each feature depends on, and whether it uses a fence, a snapshot or both.
- Map each signal. Use the table above. Mark the ones with no documented alternative and decide for each: rebuild, simplify, or drop the feature.
- Replace location first. It has the most documented path, and it is the part that touches Play policy. Move fences to geofencing and snapshots to the Fused Location Provider.
- Check the permissions you now need.
ACCESS_BACKGROUND_LOCATIONfalls under Play's location rules. Keep only the permissions the feature needs, and be ready to explain them in Play Console. - Test on real devices. Geofence latency and activity events behave differently from Awareness fences. Test with a clean install and a release build, on a device that has been sitting still.
- Ship before January 2027. Because the date is "as early as," do not leave the cutover to the last week.
My advice: do not wait for Google to name an exact end date. Replace the location and activity pieces now, and decide early which of the signals with no documented alternative you will keep.
For every other dated Apple, Google Play and Firebase requirement in 2026 and 2027, see App Store and Google Play deadlines for 2026 and 2027.
Need a hand?
If your Flutter app relies on the Awareness API and you want it sorted before Google Play services drops it, the App Fix Ticket covers it in two fixed-price steps. A $450 Diagnosis gives you the root cause with evidence and a fixed repair quote within 3 business days, credited toward the fix. If you go ahead, the $1,200 Fix takes 5 business days and comes as a pull request. Or send me a short description.
Frequently asked questions
- When does the Awareness API stop working?
- Google does not give a date. Its overview page says Google Play services will stop supporting the Awareness API "in a future release, as early as January 2027." Treat January 2027 as the earliest date to plan around, not a guarantee that it works until then.
- Is there a direct replacement for the Awareness API?
- No. The overview page says "There is no direct replacement." You replace each signal with a separate API, and for time, headphones and beacons I could not find an alternative that Google documents.
- What replaces a LocationFence?
- The closest documented option is the Geofencing API, created through GeofencingClient. Android's guide says it needs ACCESS_FINE_LOCATION, plus ACCESS_BACKGROUND_LOCATION if you target Android 10 (API level 29) or higher, and allows up to 100 geofences per app per device user. This is my mapping. Google does not say the two are equivalent.
- Can I still use the Places and Weather signals?
- The Snapshot page says they "have been deprecated and are no longer available for new implementations." I found no replacement for either on the pages I fetched.
- Is there an official Flutter plugin for the Awareness API?
- I did not find one. A pub.dev search for "awareness api" showed nothing from Google or the Flutter team on its first page, which is not proof, so confirm it yourself before relying on that.
- Does moving to geofencing run into the Google Play foreground service change?
- It can. Google Play is removing geofencing as an approved foreground services use case effective January 27, 2027, and says developers can use the Geofence API instead. That means the Geofence API is the supported route, and a foreground service built only to watch geofences is the part going away.
Sources
- Google for Developers, Awareness API overview
- Google for Developers, Awareness API required permissions
- Google for Developers, Awareness Fence API overview
- Google for Developers, Create a fence
- Google for Developers, Register a fence
- Google for Developers, Get snapshot data
- Android Developers, Create and monitor geofences
- Android Developers, Activity Recognition Transition API
- Android Developers, Get the last known location (Fused Location Provider)
- Play Console Help, Preview: foreground service and full-screen intent requirements
- pub.dev, search for awareness api
Related Resources
Related guides
Google Play Contacts and Location Permission Changes 2027
Google Play's sensitive-permission changes for Android apps: the Contacts Permissions policy, the location button, READ_CALL_LOG for phone verification and geofencing foreground services. The dates, who must act, and what it means for Flutter, checked October 19, 2026.
Read moreGoogle Fit API Deprecated: Moving to Health Connect in 2026
Google stopped new Google Fit API sign-ups on May 1, 2024 and says the Fit APIs, including the REST API, are supported only until the end of 2026. Which replacement fits your app (Health Connect, the Google Health API or Health Services), the Fitbit Web API dates, and what to do first, from Google's docs checked October 18, 2026.
Read moreGoogle Play Requires Target API 36: The Android 16 Update
Since August 31, 2026, Google Play requires new apps and updates to target Android 16 (API level 36), with an extension to November 1, 2026. What changes when you target API 36 (edge-to-edge, predictive back, large-screen orientation), which Flutter versions target it by default, and what to test, from Google's docs checked October 18, 2026.
Read more