【发布时间】:2019-08-17 07:27:13
【问题描述】:
我想为我的应用获取广告 ID,但没有成功。
import androidx.ads.identifier.AdvertisingIdClient;
import androidx.ads.identifier.AdvertisingIdInfo;
public class addUtilsJava extends AsyncTask<Context, String, String> {
static String TAG = "addUtilsJava";
private String getIdThread(Context context) {
AdvertisingIdInfo adInfo = null;
try {
adInfo = AdvertisingIdClient.getAdvertisingIdInfo(context).get();
} catch (Exception exception) {
exception.printStackTrace();
}
if (adInfo != null) {
final boolean isLAT = adInfo.isLimitAdTrackingEnabled();
return adInfo.getId();
}
return null;
}
@Override
protected String doInBackground(Context... contexts) {
return getIdThread(contexts[0]);
}
@Override
protected void onPostExecute(String s) {
super.onPostExecute(s);
if (s != null)
Log.d(TAG, s);
}
}
它抛出异常提示我androidx.ads.identifier.AdvertisingIdNotAvailableException: No Advertising ID Provider available。我尝试了 2 部手机和模拟器,结果都一样。
在此先感谢
ps:我检查了 android 文档中提供的解决方案,但 它对我不起作用 https://developer.android.com/training/articles/ad-id
我宁愿有一个不需要依赖的解决方案
【问题讨论】:
-
您是否尝试过不使用支持库的 androidx?你的手机也有播放服务吗?
-
我没有尝试使用旧的 gms 服务,我所有的手机都有播放服务
-
您可以访问这些手机上的 Play 商店吗?
-
我检查了正常手机是否启用了播放服务,我可以在设置中看到 ads-id
-
我也有同样的问题。我可以使用
com.google.android.gms:play-services-ads-identifierlib 获取广告 ID,但是在尝试使用androidxlib 时我得到了AdvertisingIdNotAvailableException。显然,问题出在 androidx lib 本身。
标签: java android kotlin android-asynctask ads