page.title=Advertising ID page.tags=Ads,Advertising ID,ID header.hide=1 @jd:body
The advertising ID is a part of a standard, simple system for serving ads and performing analytics.
Users can reset their advertising ID or opt out of interest-based ads at any time, right from the Google Settings app. Their preferences apply across all ad companies that use the advertising ID.
The advertising ID APIs are part of the Google Play services platform.
To get started, set up the Google Play services SDK.
Once you've installed the Google Play services package, review the overview below, as well as the example.
For detailed documentation, take a look at the advertising ID API reference documentation.
As a reminder, please note that starting 1 August 2014, new
apps and app updates distributed through Google Play must use the advertising
ID in lieu of any other persistent identifiers for any advertising purposes,
on devices that support the advertising ID.
To learn how to check your app's compliance through the Developer Console, or
for details on the associated developer policy changes, please see the
Advertising
ID topic in the Google Play developer help center.
The advertising ID is a unique but user-resettable string identifier that lets ad networks and other apps anonymously identify a user. The user's advertising ID is made available to apps through APIs provided in Google Play services.
Users can reset their advertising ID at any time, right from the Ads section of the Google Settings app on their devices. From the same app, users can also opt-out of targeted advertising based on the advertising ID by setting the appropriate ad tracking preference. When the user opts-out of targeted ads, this ad tracking preference is made available to apps through a Google Play services API.
Apps making use of the advertising ID must check for and respect the user's ad tracking preference. Also please note that any use of the advertising ID must abide by the terms of the Google Play Developer Content Policies.
Google Play services APIs expose the user's advertising ID as a string format of UUID, with values similar to this:
ā38400000-8cf0-11bd-b23e-10b96e40000dā
If you want to use the advertising ID in your app, you must first install the Google Play services SDK. As noted in the requirements above, you should install the SDK for Google Play services 4.0 or higher if you will develop using the advertising ID APIs. For information about how to get started, see Set Up Google Play services.
The advertising ID APIs are available in the
com.google.android.gms.ads.identifier
package in the Google
Play Services library. To obtain the user's advertising ID and tracking preference,
call the method
getAdvertisingIdInfo()
, which returns an
AdvertisingIdClient.Info
encapsulating the user's current Advertising ID
and tracking preference.
Note: The getAdvertisingIdInfo()
method is a
blocking call, so you must not call it on the main (UI) thread. If called on
the main thread, the method throws IllegalStateException
.
Once you've retrieved the AdvertisingIdClient.Info
object, you
can use it's
getId()
and
isLimitAdTrackingEnabled()
methods to access the advertising ID and
ad tracking preference.
Method | Description |
---|---|
public String getId() |
Retrieves the advertising ID. |
public boolean isLimitAdTrackingEnabled() |
Retrieves whether the user has limit ad tracking enabled or not. |
The advertising ID APIs do not include a "reset" method. Only users can initiate a reset of their own advertising IDs, through the Google Settings application.
For more information about the advertising ID APIs, see the reference documentation.
Here's a basic illustration of how you can retrieve the user's advertising ID and ad tracking preference in your app:
import com.google.android.gms.ads.identifier.AdvertisingIdClient; import com.google.android.gms.ads.identifier.AdvertisingIdClient.Info; import com.google.android.gms.common.GooglePlayServicesAvailabilityException; import com.google.android.gms.common.GooglePlayServicesNotAvailableException; import java.io.IOException; ... // Do not call this function from the main thread. Otherwise, // an IllegalStateException will be thrown. public void getIdThread() { Info adInfo = null; try { adInfo = AdvertisingIdClient.getAdvertisingIdInfo(mContext); } catch (IOException e) { // Unrecoverable error connecting to Google Play services (e.g., // the old version of the service doesn't support getting AdvertisingId). } catch (GooglePlayServicesAvailabilityException e) { // Encountered a recoverable error connecting to Google Play services. } catch (GooglePlayServicesNotAvailableException e) { // Google Play services is not available entirely. } final String id = adInfo.getId(); final boolean isLAT = adInfo.isLimitAdTrackingEnabled(); }