Android 谷歌广告ID在牛轧糖上返回空值

Android 谷歌广告ID在牛轧糖上返回空值,android,android-7.1-nougat,google-advertising-id,Android,Android 7.1 Nougat,Google Advertising Id,我在我的应用程序中使用了广告id,代码运行良好,直到我在运行Android Nougat 7.1.2的设备上进行了测试。你能指出我应该加些什么才能把牛轧糖也加进去吗 private static void getAdvertisingID() { AsyncTask<Void, Void, String> task = new AsyncTask<Void, Void, String>() { @Override protected

我在我的应用程序中使用了广告id,代码运行良好,直到我在运行Android Nougat 7.1.2的设备上进行了测试。你能指出我应该加些什么才能把牛轧糖也加进去吗

private static void getAdvertisingID() {
    AsyncTask<Void, Void, String> task = new AsyncTask<Void, Void, String>() {
        @Override
        protected String doInBackground(Void... params) {
            AdvertisingIdClient.Info idInfo = null;
            try {
                idInfo = AdvertisingIdClient.getAdvertisingIdInfo(_context);
                if (idInfo.isLimitAdTrackingEnabled()){ // check if user has opted out of tracking
                    Log.i("NetworkStateChangeReceiver","Not Found");
                    return "did not found GAID... sorry";
                }
            } catch (GooglePlayServicesNotAvailableException e) {
                e.printStackTrace();
            } catch (GooglePlayServicesRepairableException e) {
                e.printStackTrace();
            } catch (Exception e) {
                e.printStackTrace();
            }
            String advertId = null;
            try{
                advertId = idInfo.getId();
            }catch (Exception e){
                e.printStackTrace();
            }
            return advertId;
        }
        @Override
        protected void onPostExecute(String advertId) {
            Log.i("NetworkStateChangeReceiver","Found "+advertId);
            UtilHelper.setDeviceIDFA(advertId);
        }
    };
    task.execute();
}
private static void getAdvertisingID(){
AsyncTask任务=新建AsyncTask(){
@凌驾
受保护字符串doInBackground(无效…参数){
adverisingidclient.Info idInfo=null;
试一试{
idInfo=AdvertisingIdClient.getAdvertisingIdInfo(_上下文);
如果(idInfo.IsLimitaTrackingEnabled()){//检查用户是否选择退出跟踪
Log.i(“NetworkStateChangeReceiver”,“未找到”);
return“没有找到GAID…对不起”;
}
}捕获(谷歌PlayServicesNotAvailableException){
e、 printStackTrace();
}捕获(谷歌游戏服务可修复例外){
e、 printStackTrace();
}捕获(例外e){
e、 printStackTrace();
}
字符串advertId=null;
试一试{
advertId=idInfo.getId();
}捕获(例外e){
e、 printStackTrace();
}
返回广告ID;
}
@凌驾
受保护的void onPostExecute(字符串adverId){
Log.i(“NetworkStateChangeReceiver”,“Found”+广告ID);
UtilHelper.setDeviceIDFA(广告ID);
}
};
task.execute();
}

结果表明,代码工作正常,唯一的问题是在牛轧糖上调用
onPostExecute
方法需要一些人,而在其他运行较低android版本的设备上,这种方法被快速调用。在调用
getAdvertisingID
之后,我只是增加了一些延迟来获取广告id,一切都很顺利。 快乐编码