0

次のように、xml コーディングの xml 部分に com.google.ads.AdView を追加しようとしました。

<TableLayout 
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:ads="http://schemas.android.com/apk/lib/com.google.ads"
    android:id="@+id/tableLayout"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@color/background_color"
    android:gravity="center_horizontal"
    android:orientation="vertical"
    android:padding="5dp"
    android:stretchColumns="*" >
<TableRow
    <Button android:id="@+id/equal" 
        style="@style/Eq_button_style"
        android:text="=">   
    </Button>
</TableRow>

  <com.google.ads.AdView 
      android:id="@+id/adView"                         
      android:layout_width="wrap_content"                         
      android:layout_height="wrap_content"                         
      ads:adUnitId="a123123123123c"      //this ID is confirmed correct                   
      ads:adSize="BANNER"                         
      ads:testDevices="TEST_EMULATOR, xxxxxxxxxxxxxxxxx"   //this ID is confirmed correct                      
      ads:loadAdOnCreate="true"/>

</TableLayout>

ただし、実行時にアプリがクラッシュすることはありませんが、下部に広告は表示されません。logcat は次のとおりです。

10-10 01:45:16.360: I/GATE(16797): <GATE-M>DEV_ACTION_COMPLETED</GATE-M>
10-10 01:45:16.365: D/webviewglue(16797): nativeDestroy view: 0x3ef6f0
10-10 01:45:16.365: E/Ads(16797): An error occurred while destroying an AdWebView:
10-10 01:45:16.365: E/Ads(16797): java.lang.NullPointerException
10-10 01:45:16.365: E/Ads(16797):   at android.webkit.WebView.setWebViewClient(WebView.java:5168)
10-10 01:45:16.365: E/Ads(16797):   at com.google.ads.internal.AdWebView.destroy(SourceFile:252)
10-10 01:45:16.365: E/Ads(16797):   at com.google.ads.internal.c$e.run(SourceFile:191)
10-10 01:45:16.365: E/Ads(16797):   at android.os.Handler.handleCallback(Handler.java:605)
10-10 01:45:16.365: E/Ads(16797):   at android.os.Handler.dispatchMessage(Handler.java:92)
10-10 01:45:16.365: E/Ads(16797):   at android.os.Looper.loop(Looper.java:137)
10-10 01:45:16.365: E/Ads(16797):   at android.app.ActivityThread.main(ActivityThread.java:4511)
10-10 01:45:16.365: E/Ads(16797):   at java.lang.reflect.Method.invokeNative(Native Method)
10-10 01:45:16.365: E/Ads(16797):   at java.lang.reflect.Method.invoke(Method.java:511)
10-10 01:45:16.365: E/Ads(16797):   at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:980)
10-10 01:45:16.365: E/Ads(16797):   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:747)
10-10 01:45:16.365: E/Ads(16797):   at dalvik.system.NativeStart.main(Native Method)
10-10 01:45:16.365: I/Ads(16797): onReceiveAd()
10-10 01:45:16.460: D/dalvikvm(16797): GC_CONCURRENT freed 424K, 6% free 9580K/10119K, paused 2ms+11ms
10-10 01:45:16.460: W/Ads(16797): Not enough space to show ad! Wants: <480, 75>, Has: <464, 708>

どうすれば解決できますか?プログラムは強制終了しません。実行はできますが、広告は表示されません。また、最後の行の Logcat は十分なスペースがないと言っていますか? スペースを追加する方法は?私はすでに多くのスペースを予約しています。

よろしくお願いします!

改訂されたlogcat:

アプリはエラーなしで実行できますが、これらの「E」の部分は、状況によってはアプリの適切な実行に影響しますか?

10-11 00:52:30.330: E/Ads(10023): An error occurred while destroying an AdWebView:
10-11 00:52:30.330: E/Ads(10023): java.lang.NullPointerException
10-11 00:52:30.330: E/Ads(10023):   at android.webkit.WebView.setWebViewClient(WebView.java:5168)
10-11 00:52:30.330: E/Ads(10023):   at com.google.ads.internal.AdWebView.destroy(SourceFile:252)
10-11 00:52:30.330: E/Ads(10023):   at com.google.ads.internal.c$e.run(SourceFile:191)
10-11 00:52:30.330: E/Ads(10023):   at android.os.Handler.handleCallback(Handler.java:605)
10-11 00:52:30.330: E/Ads(10023):   at android.os.Handler.dispatchMessage(Handler.java:92)
10-11 00:52:30.330: E/Ads(10023):   at android.os.Looper.loop(Looper.java:137)
10-11 00:52:30.330: E/Ads(10023):   at android.app.ActivityThread.main(ActivityThread.java:4511)
10-11 00:52:30.330: E/Ads(10023):   at java.lang.reflect.Method.invokeNative(Native Method)
10-11 00:52:30.330: E/Ads(10023):   at java.lang.reflect.Method.invoke(Method.java:511)
10-11 00:52:30.330: E/Ads(10023):   at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:980)
10-11 00:52:30.330: E/Ads(10023):   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:747)
10-11 00:52:30.330: E/Ads(10023):   at dalvik.system.NativeStart.main(Native Method)
4

2 に答える 2

2

問題は確かに次のとおりです。

W/Ads(16797): Not enough space to show ad! Wants: <480, 75>, Has: <464, 708>

そのデバイスでは、縦向きで広告を表示するには、画面の幅全体が必要になります。問題の一部は、android:padding="5dp"TableLayout にあります。

于 2012-10-09T19:17:08.997 に答える
0

レイアウトの問題でしょう。これを一度試してみてください。

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <TableLayout
        xmlns:ads="http://schemas.android.com/apk/lib/com.google.ads"
        android:id="@+id/tableLayout"
        android:layout_width="match_parent"
        android:layout_height="0dp"
            android:background="@color/background_color"
        android:layout_weight="1"
        android:gravity="center_horizontal"
        android:orientation="vertical"
        android:padding="5dp"
        android:stretchColumns="*" >

        <TableRow>

            <Button
                android:id="@+id/equal"
                    style="@style/Eq_button_style"
                android:text="=" >
            </Button>
        </TableRow>
    </TableLayout>

    <com.google.ads.AdView
        android:id="@+id/adView"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        ads:adSize="BANNER"
        ads:adUnitId="a123123123123c"
        ads:loadAdOnCreate="true"
        ads:testDevices="TEST_EMULATOR, xxxxxxxxxxxxxxxxx" />

</LinearLayout>
于 2012-10-09T19:29:01.270 に答える