2012-01-27 7 views
3
AdManager.setTestDevices(new String[] { 
    AdManager.TEST_EMULATOR, // Android emulator 
    "E83D20734F72FB3108F104ABC0FFC738", // My T-Mobile G1 Test Phone 
} 

私のテストAndroidアプリを友達の5〜10人に渡したいと思っていました。 これらの人々の何人かは1000マイル離れて生きているので、「DDMSを使用する」または「携帯電話を自分の開発マシンに接続する」方法はありません。すべての端末にテスト広告を表示するように強制するJavaコード

私はそれが必要ですいつもはAdMobテスト広告を表示するだけです。

(それが現在REAL広告を見せている。)

私が知っている(または知りたい)みんなの「デバイスIDコード」はありません。

各1を自分のアプリにハードコードする必要はありません。

(そして、すべて新しいものにすべての時間を追加します。)

は言うだろうが、Javaコードです「どんなデバイスは、このアプリを使用しているので、ちょうどテスト広告を表示し、試験装置ですか」?

答えて

2

たぶん、あなたはその場でテストデバイスを追加しようとすることができます

AdManager.addTestDevice(Settings.Secure.getString(context.getContentResolver(), "android_id"))); 
// or Settings.Secure.ANDROID_ID if no context available 

(私はこのコードをテストしていない。)

編集:

逆コンパイルのAdMob JARライブラリが得られます。

AdRequest.java

AdUtil.a を見てみると

public static String a(Context paramContext) 
    { 
    if (c == null) 
    { 
     if (((
     paramContext = Settings.Secure.getString(paramContext.getContentResolver(), "android_id")) == null) || 
     (c())) 
     paramContext = a("emulator"); 
     else { 
     paramContext = a(paramContext); 
     } 

     if (paramContext == null) { 
     return null; 
     } 

     c = paramContext.toUpperCase(Locale.US); 
    } 

    return c; 
    } 

コードを難読化されたが、我々は明らかに、それはあなたがAdManager.addTestDeviceに与えた値(S)に対してSettings.Secure.ANDROID_IDをテストしていることがわかります。

+0

私はそれを試みます。しかし、AdMobには「デバイスID」または「暗号化されたデバイスID」が必要ですか? – Carol

+0

私は自分の答えを編集しました。 – OcuS

+0

コンテキストメソッドは、長い英数字の文字列を返します。 Settings.Secure.ANDROID_IDは単に "android_id"自体を返します。どちらも、addTestDeviceが動作するために必要な「デバイスID」ではありません。 – Carol

0

AdRequest.setTestDevicesメソッドを試してみてください。

AdRequest.setTestDevices(new String[] { 
    AdRequest.TEST_EMULATOR, // Android emulator 
    "E83D20734F72FB3108F104ABC0FFC738", // My T-Mobile G1 Test Phone 
}); 

あなたはおそらくGoogleのAdMobのSDK書き換え前から古いAdMobのドキュメントを見ています。

すべての端末でテスト広告を表示する方法はありません。これは、すべてのテスト広告をすべてのユーザーに配信するアプリを誤ってリリースすることがないように、予防措置です。

+0

ここから1000マイル離れたところにある20種類のテストデバイスの「マジックナンバー」をどうすれば得ることができますか? (個々のベータテスターは、Eclipse、SDK、およびJavaをインストールし、その1つの番号を取得するために完全な開発環境を設定することは決してありません)。 – Carol

+0

私はアプリケーションをインストールする方法を知っている最も簡単な方法ですログを吐き出す私は 'aLogcat'を使用します。彼らがそのアプリをインストールし、広告リクエストを行った活動にあなたのアプリに入ると、彼らはaLogcatに戻り、「このデバイスでテスト広告を取得するには、AdRequestを呼び出します。 addTestDevice( "E83D20734F72FB3108F104ABC0FFC738"); ' –

0

私は広告システムをテストビルドで完全に無効にし、自分のデバイス上のローカルデバッグビルドに対してのみ有効にします。 広告の代わりに静的なイメージを表示することができます。同じレイアウトを使用することができます。

関連する問題