Это не тот ответ, на который я надеялся, но после дальнейших исследований «первая и самая большая независимая мобильная рекламная платформа Китая», Youmi , имеет класс DeviceInfoUtils
с открытым исходным кодом иони делают все, что рекомендует AppsFlyer, то есть все, против чего Google.
Если быть точным, с каждым запросом они отправляют : telephonyManager.getDeviceId();
(IMEI на телефонах GSM), telephonyManager.getSubscriberId()
(IMSI на телефонах GSM), MAC-адрес и ANDROID_ID
.Опять же, первые два из них требуют от пользователя запроса на то, чтобы приложение позволяло «совершать и управлять телефонными звонками», что очень жутко (что приводит к плохим оценкам приложения и / или отказу в разрешениях).Последние два из них раньше работали, но в Oreo они больше не уникальны для устройств, как я уже упоминал в своем вопросе.
Обновление: Я сейчас скачал Xiaomi Mimo SDK (реклама SDK).При декомпиляции обнаруживается класс с именем AdvertisingIdHelper
, который имеет только два метода: один для проверки, установлено ли на устройстве установлен магазин Google Play, а другой выглядит следующим образом:
private static d z(Context paramContext)
{
if (!y(paramContext)) {
return null;
}
try {
d localD = new d();
Intent localIntent = new Intent("com.google.android.gms.ads.identifier.service.START");
localIntent.setPackage("com.google.android.gms");
if (paramContext.bindService(localIntent, localD, 1))
return localD;
} catch (SecurityException localSecurityException) {
com.miui.zeus.a.a.b("stacktrace_tag", "stackerror:", localSecurityException);
return null;
}
return null;
}
Какова его роль в общем SDKнеясно, но это определенно похоже на способ запроса рекламного идентификатора Google, а не альтернативного идентификатора Xiaomi.Если это относится ко всем случаям или только к устройствам, продаваемым за пределами Китая (у которых есть сервисы Google Play), то снова неясно.