我试图重置谷歌广告ID编程自动化的目的。
我能够获取广告ID和isLimitAdTrackingEnabled。但是我想通过编程方式重置ID
https://developers.google.com/android/reference/com/google/android/gms/ads/identifier/AdvertisingIdClient.Info用户可以手动重置谷歌广告id从谷歌设置应用程序
可以通过编程方式重置广告ID。
尝试用root权限执行这个命令:
rm -f /data/data/com.google.android.gms/shared_prefs/adid_settings.xml
如果您删除了XML文件,它将自动生成一个新的Advertising ID和XML文件。
我在Android 4.4 API设备上确认过。
根据Android文档,广告ID只能由用户重置。
来源广告ID api不包含"重置";方法。只有用户可以通过Google设置应用程序启动重置自己的广告id。
2020年12月更新:
上面的链接已断开。好像文档在这次提交时被删除了。
在d.android.com部分,谷歌广告ID被提到为用户可重置多次,这表明它是由用户的重置标识符,而不是由开发人员。(链接)
注意:虽然这没有回答所提出的问题,但它至少可以满足意图的标准,并且可能有助于其他人寻找解决方法。
如果你能够创建一个Activities
快捷方式(如由Nova Launcher或其他第三方Launcher提供的widget功能),你可以创建一个活动链接到Google Play services> Ads(特别是.ads.settings.AdsSettingsActivity
)。生成的快捷方式没有图标,但名称为"Ads"。"
用户可以在他们选择的启动器中点击这个快捷方式,然后直接进入允许用户点击"重置广告ID"的子菜单。你甚至可以从stock launcher创建一个Activities小部件,只要安装了Nova launcher或其他第三方launcher。
最终结果是执行操作所需的点击次数显著减少:
- 之前:(5次点击)菜单>设置>谷歌>广告>重置广告ID
- 后:(2次点击)广告活动快捷键>重置广告ID
参考:有关如何创建Activity小部件的更多信息,请查看此链接
您也可以使用一系列adb shell命令重置它(在android-28, google_api, x86 SDK上测试过)
adb root
adb shell am start -n com.google.android.gms/.ads.settings.AdsSettingsActivity
adb shell su root input tap 100 100
adb shell su root input tap 280 360
这将基本上打开你的谷歌广告活动,然后在屏幕上自动点击行为,这将重置设备ID。
点击行为如下:如何设置GAID
@uddeshya-singh来完成它给出的方法。
shell am start -n com.google.android.gms/.ads.settings.AdsSettingsActivity
shell input keyevent 20
shell input keyevent 66
shell input keyevent 66