0

Adwhirl を動作させることができません。公式ドキュメントを 1 時間試した後、XML を介した最小限のルートを試しました。

 <com.adwhirl.AdWhirlLayout
     android:id="@+id/addwhirlview"
     android:layout_width="fill_parent"
     android:layout_height="wrap_content" /> 

このコードは、元の AdMob コード ( com.google.ads.AdView ) と同じ場所にあり、問題なく動作しました。

LogCat から AdWhirl で次の情報を取得します。

I/AdWhirl SDK(18641): Creating adWhirlManager...
D/AdWhirl SDK(18641): Locale is: en_US
D/AdWhirl SDK(18641): Hashed device ID is: 7d1dd13a2fa91c0ad174cb69a11549a3
I/AdWhirl SDK(18641): Finished creating adWhirlManager
D/AdWhirl SDK(18641): Prefs{427dbf543f7849e6bd9e8c425a2a52a6}: {"config": "{"extra":{"location_on":1,"background_color_rgb":{"red":0,"green":0,"blue":0,"alpha":1},"text_color_rgb":{"red":255,"green":255,"blue":255,"alpha":1},"cycle_time":30,"transition":8},"rations":[]}
D/AdWhirl SDK(18641): ", "timestamp": 1343402294184}
I/AdWhirl SDK(18641): Using stored config data
D/AdWhirl SDK(18641): Received jsonString: {"extra":{"location_on":1,"background_color_rgb":{"red":0,"green":0,"blue":0,"alpha":1},"text_color_rgb":{"red":255,"green":255,"blue":255,"alpha":1},"cycle_time":30,"transition":8},"rations":[]}
I/AdWhirl SDK(18641): Sum of ration weights is 0 - no ads to be shown

私は問題をグーグルで検索しました.魔女は私にこの質問をもたらしました.Androidの空のAdWhirlレイアウト(広告は表示されません) ..その男は基本的に私と同じことを経験していました.

マニフェストで AdWhirl キーを取得し、Admob を唯一の広告ネットワークとして設定し、アプリ リストにアプリを追加しました。そのため、その側が正しいと確信しています。 「配給加重の合計は 0 です」という意味ですか?

前もって感謝します!トーマス

4

1 に答える 1

2

AdWhirl では、Rationは構成した広告ネットワークに関する情報を表します。広告ネットワークには、名前とネットワーク ID (これらは AdWhirl が設定します) に加えて、パーセンテージ値とそのネットワークに指定した任意のキーがあります (AdMob の場合、1 つのキーのみが使用されます - パブリッシャー ID)。

その後、AdWhirl は構成を取り込み、構成した各ネットワークの配分の重み (パーセンテージ) を合計します。あなたの場合、パーセンテージは0になります。

なぜこれが起こったのですか?JSON 文字列に が含まれ"rations":[]ています。これは、AdWhirl が取得した構成に広告ネットワークが構成されていなかったことを意味します。ログにも が表示されていることに気付くでしょうUsing stored config data。これは、以前のプルから構成をキャッシュしたことを意味します。最近構成を更新した可能性がありますが、AdWhirl はまだ古い構成をキャッシュしています。

Web ブラウザーでhttp://mob.adwhirl.com/getInfo.php?appver=3.2.0&appid=REPLACE_WITH_YOUR_APP_IDをチェックして (独自の SDK キーを挿入)、AdWhirl バックエンドが新しい構成を提供しているかどうかを確認できます。AdMob が正しく構成されている場合は、rations 配列にエントリが表示されます。

AdWhirl バックエンドが正しい構成を提供していることを確認したら、AdWhirl のキャッシュをあまり積極的に行わないようにすることができます。これは次のように行うことができます。

AdWhirlManager.setConfigExpireTimeout(1000 * 10);

これにより、AdWhirl は 10 秒ごとに構成のみをキャッシュするようになります。つまり、基本的に、更新のたびに新しい構成を取得します。その後、AdMob は次の構成プルで表示され、そこからすべてが機能するはずです。

一般に、アプリが更新のたびに構成をプルする必要がないように、構成を長期間キャッシュすることをお勧めします。通常の状況では、30 分間程度キャッシュすることを検討してください。

AdWhirlManager.setConfigExpireTimeout(1000 * 60 * 30);
于 2012-07-27T21:59:22.287 に答える