AdMob 용 기기 ID는 어떻게받을 수 있나요? 돈을 벌고 싶습니다. 튜토리얼에서

저는 Eclipse를 사용하여 Android 용 애플리케이션을 개발하고 있으며 Admob을 통합하여 돈을 벌고 싶습니다. 튜토리얼에서 ID를 찾으려면 LogCat을 봐야한다고하지만 어디에 있습니까?

테스트 모드 또는 리얼 모드에서 실행하면 가끔 일식이 광고가 반환되었음을 알리지 만 emu에는 표시되지 않습니다. 누구든지 설명 할 수 있습니까?



답변

에뮬레이터에서 AdMob 광고를 실행하는 경우 ID가 없습니다. AdManager 메소드를 사용하고 logcat이 말하는 것처럼 TEST_EMULATOR로 설정하면됩니다. USB 디버깅으로 실제 장치에서 실행하고 logcat을 보면 ID가 표시됩니다.


답변

허용 된 답변은 에뮬레이터 또는 일부 장치에서만 테스트하는 경우 작동하지만 과다한 장치에서 테스트하는 경우 실행중인 장치의 장치 ID를 사전에 추가하는 방법이 필요할 수 있습니다.

다음 코드는 현재 실행중인 장치를 프로그래밍 방식으로 adview 테스트 장치로 만듭니다.

...
    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 ID의 md5를 사용해야하며 대문자 여야합니다. 다음은 내가 사용한 md5 코드입니다.

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 "";
}

편집 : 분명히 MD5 방법은 완벽 하지 않으며 https://stackoverflow.com/a/21333739/2662474 더 이상이 기능이 필요하지 않으므로 테스트하지 않았습니다. 행운을 빕니다!


답변

문서에서 Google Ads와 유사한 것 :

public AdRequest.Builder addTestDevice (문자열 deviceId)

기기가 테스트 광고를 받도록합니다. deviceId는
새 광고를 만든 후 logcat 출력을 확인하여 얻을 수 있습니다 . 에뮬레이터의 경우 DEVICE_ID_EMULATOR를 사용합니다.

예를 들어 LogCat에 표시된 내 테스트 장치 ID는 "B86BC9402A69B031A516BC57F7D3063F"다음과 같습니다.

AdRequest adRequest = new AdRequest.Builder()
        .addTestDevice(AdRequest.DEVICE_ID_EMULATOR)
        .addTestDevice("B86BC9402A69B031A516BC57F7D3063F")
        .build();

답변

  • Play 스토어에 게시 된 앱이다 – 라이브 광고 :

앱이 라이브 광고를 보여주는 Play 스토어에있는 경우 (실시간 광고를 테스트에 사용할 수 없음) 코드에 기기 ID를 추가하여 실제 기기의 Admob에서 테스트 광고를 가져옵니다. 개발 또는 테스트 중에는 라이브 광고를 사용하지 마십시오.

logcat에서 실제 장치 ID를 얻으려면

  1. USB 디버그 모드의 기기를 Android Studio에 연결

  1. 기기에서 Admob의 라이브 광고를 표시하는 앱을 엽니 다 . 연결된 기기에서 Play 스토어에서 앱을 다운로드 한 경우 (라이브 광고 표시) 해당 앱을 열거 나 라이브 Admob 광고를 표시하는 다른 앱을 엽니 다. 장치가 인터넷에 연결되어 있어야합니다.

  2. 테스트 장치를 얻으려면 아래와 같이 ‘장치’로 logcat을 필터링하십시오.

읽기 장치에 AdMob 광고 테스트 – 장치 ID는 변경할 수 있습니다 이상


답변

해시 장치 ID를 얻으려면

oncreate 내부

String android_id = Settings.Secure.getString(this.getContentResolver(), Settings.Secure.ANDROID_ID);
        String deviceId = md5(android_id).toUpperCase();
Log.i("device id=",deviceId);

그런 다음 md5 ()에 대해이 클래스를 추가하십시오.

public String md5(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++)
                hexString.append(Integer.toHexString(0xFF & messageDigest[i]));
            return hexString.toString();

        } catch (NoSuchAlgorithmException e) {
            e.printStackTrace();
        }
        return "";
    }

답변

XML 레이아웃을 사용하여 광고를 표시하고 레이아웃 XML 파일에 이미 “ads : testDevices =”가있는 경우 AdMob은 LogCat 출력에 “To get test ads on this device …”메시지를 인쇄하지 않습니다. 그것을 꺼내면 LogCat 메시지가 표시됩니다.

다음은 LogCat에서 장치 ID를 찾는 방법에 대한 멋진 자습서입니다.
http://webhole.net/2011/12/02/android-sdk-tutorial-get-admob-test-device-id/


답변

실제 기기에서 앱을 테스트하는 경우 기기 ID를 제공하는이 작은 Android 앱을 사용해 볼 수 있습니다.

https://play.google.com/store/apps/details?id=pe.go_com.admobdeviceidfinder&hl=ko

해시 된 장치 ID를 직접 얻을 수 있습니다. 도움이 되었기를 바랍니다.