Kabul edilen yanıtlar, yalnızca Emülatörde veya birkaç cihazda test yapıyorsanız işe yarayacaktır, ancak çok sayıda cihaz üzerinde test yapıyorsanız, çalışan cihazın cihaz kimliğini proramatik olarak eklemek için bazı araçlara ihtiyacınız olabilir.
Aşağıdaki kod, mevcut çalışan cihazı programlı olarak bir adview test cihazına dönüştürür.
...
if(YourApplication.debugEnabled(this)) //debug flag from somewhere that you set
{
String android_id = Settings.Secure.getString(this.getContentResolver(), Settings.Secure.ANDROID_ID);
String deviceId = md5(android_id).toUpperCase();
mAdRequest.addTestDevice(deviceId);
boolean isTestDevice = mAdRequest.isTestDevice(this);
Log.v(TAG, "is Admob Test Device ? "+deviceId+" "+isTestDevice); //to confirm it worked
}
Android kimliğinin md5'ini kullanmanız ve büyük harf olması gerekir. İşte kullandığım md5 kodu
public static final String md5(final String s) {
try {
// Create MD5 Hash
MessageDigest digest = java.security.MessageDigest
.getInstance("MD5");
digest.update(s.getBytes());
byte messageDigest[] = digest.digest();
// Create Hex String
StringBuffer hexString = new StringBuffer();
for (int i = 0; i < messageDigest.length; i++) {
String h = Integer.toHexString(0xFF & messageDigest[i]);
while (h.length() < 2)
h = "0" + h;
hexString.append(h);
}
return hexString.toString();
} catch (NoSuchAlgorithmException e) {
Logger.logStackTrace(TAG,e);
}
return "";
}
DÜZENLEME: Görünüşe göre MD5 yöntemi mükemmel değil ve https://stackoverflow.com/a/21333739/2662474 denenmesi önerildi Artık bu özelliğe ihtiyacım yok, bu yüzden test etmedim. İyi şanslar!