ラベル admob の投稿を表示しています。 すべての投稿を表示
ラベル admob の投稿を表示しています。 すべての投稿を表示

2021年3月11日木曜日

データを取得できませんでした。カードを更新してください。

グーグルアドセンスの残高が 

データを取得できませんでした。カードを更新してください。

と表示されて残高がわからなくなりました。

原因

集計中や回線が不安点など。おそらく読み込みのタイミングが悪かった。

解決方法

リロードで直りました。

場合によっては数時間待つ場合もありますが問題はありません。

2019年12月18日水曜日

お客様のアプリへの Google AdMob 広告配信に制限がかけられました

昔作ったアプリを更新せずに放置していたら以下のメッセージがGoogle AdMobからきました。

>お客様のアプリへの Google AdMob 広告配信に制限がかけられました

現在、お客様のアプリケーションのひとつが AdMob プログラム ポリシーに準拠していない状態です。このため、アプリケーションへの広告配信が制限されています。 ポリシー センターで表示

Google AdMob
お客様のサイト運営者 ID: pub-XXXXXXXXXXXX ログイン

お客様のアプリへの Google AdMob 広告配信に制限がかけられました


問題の概要
アプリ ID: jp.co.XXXXXXXXX
必要なご対応: アプリに変更を加えてポリシー違反を解消された場合、あるいは違反判定が誤りと思われる場合は、AdMob ポリシー センターにアクセスして違反を確認し、再審査のリクエストを行ってください。
同様の事態が再発することを避けるため、他のアプリケーションについても AdMob プログラム ポリシーの遵守状況を確認することをおすすめいたします。また、Google AdMob チームは、違反が繰り返される場合にいつでもアカウントを無効化できる権利を有している点に注意してください。
ポリシー センターで表示

解決方法

ポリシーが更新されるたび確認してアプリを修正する。
この数年で何度ポリシーが変更されたか数えきれませんが、古いアプリは配信を停止したほうがいいかもしれません。

2015年6月18日木曜日

UnityアプリにAdMob広告を表示するサンプル

AndroidとiOSの両方でAdMob広告を表示する手順とサンプルソースです。
2015年6月最新のplug-inを使用。64ビット対応。iosシュミレーター使用は不可。

1.GoogleMobileAds.unitypackageをダウンロードしてプロジェクトにインポートする

https://github.com/googleads/googleads-mobile-plugins
今回はv2.2.1を使用しました。
64ビットアーキテクチャ互換とiOS_SDK7に対応済みです。

2.GooglePlayServiceをダウンロードしてインポートする

android SDKのtoolsにあるandroidからsdkmanagerを開いてダウンロードできます。
android_sdk/extras/google/google_play_services/libproject/google-play-services_libをunityプロジェクトのasset/plugin/androidにコピペ
admob入りのプロジェクト
インポート後のプロジェクト

3.以下の広告表示クラスを作成してカメラに貼り付ける

using UnityEngine;
using System.Collections;
using GoogleMobileAds.Api;
//このクラスをメインカメラに貼り付ける
public class AdMobScript : MonoBehaviour {
//AdMobのIDをinspectorから入力する ca-app-pub-XXXXXX
public string iOS_Banner_ID;
public string iOS_Interstitial_ID;
public string iOS_Banner_ID;
public string iOS_Interstitial_ID;

private InterstitialAd interstitial;
private AdRequest request;

bool isInterstitial = false; 

// Use this for initialization
void Awake () {
//テストモード
//TestDevice ();
// インタースティシャル広告をロード
RequestInterstitial ();

// バナー広告を表示
RequestBanner ();
}

//任意のタイミングでインタースティシャル広告を表示 OnClickなど
void InterAdView () {
if (interstitial.IsLoaded()) {
interstitial.Show();
}
}

//テストモードを使用
void TestDeviceMode () {
AdRequest request = new AdRequest.Builder()
.AddTestDevice(AdRequest.TestDeviceSimulator)       // Simulator.
.AddTestDevice("テストデバイスID")  // DEV.
.Build();
}

//カメラ下側にバナーを表示
public void RequestBanner()
{
#if UNITY_ANDROID
string adUnitId = Android_Banner_ID;
#elif UNITY_IPHONE
string adUnitId = iOS_Banner_ID;
#else
string adUnitId = "iOSでもAndroidでもない端末の場合";
#endif

BannerView bannerView = new BannerView(adUnitId, AdSize.Banner, AdPosition.Bottom);
AdRequest request = new AdRequest.Builder().Build();
bannerView.LoadAd(request);
}

//広告をダウンロードする
public void RequestInterstitial()
{
#if UNITY_ANDROID
string adUnitId = Android_Interstitial_ID;
#elif UNITY_IPHONE
string adUnitId = iOS_Interstitial_ID;
#else
string adUnitId = "iOSでもAndroidでもない端末の場合";
#endif

if (isInterstitial == true) {
interstitial.Destroy ();
}

interstitial = new InterstitialAd (adUnitId);
request = new AdRequest.Builder ().Build ();
interstitial.LoadAd (request);
interstitial.AdClosed += HandleAdClosed;
isInterstitial = false;
}

// インタースティシャルを閉じた
void HandleAdClosed (object sender, System.EventArgs e)
{
isInterstitial = true;
}
}

インスペクタから広告のidを入力します。

Android版は以上です。以下はiOS版の追加設定です。
iOS版のビルドの際はunityのbuild settingsのscripting backend をIL2CPPにする

4.Xcodeにフレームワークを追加(iOS)

GoogleMobileAdsSdkiOSをダウンロードする。
今回は7.3.1を使用。
linkd Framework and Librariesに以下を追加する

  • AdSupport
  • CoreTelephony
  • EventKit
  • EventKitUI
  • MessageUI
  • StoreKit
  • GoogleMobileAds(ダウンロードしたGoogleMobileAdsSdkiOS内にある)

BiludeSettinsのEnable ModulesをYESに設定する

2013年6月15日土曜日

AdMobエラー java.lang.NoClassDefFoundError: com.google.ads.AdView

夏場に入り開発環境をノートPCからデスクPCに移しました。

その際に開発環境のアップデート、プロジェクトのインポートをして
ビルドをしたところエラーが発生。

"java.lang.NoClassDefFoundError: com.google.ads.AdView"

06-15 19:54:03.108: E/AndroidRuntime(9968): FATAL EXCEPTION: main
06-15 19:54:03.108: E/AndroidRuntime(9968): java.lang.NoClassDefFoundError: com.google.ads.AdView
06-15 19:54:03.108: E/AndroidRuntime(9968): at recitative.jp.Act.onCreate(Act.java:102)

ライブラリの参照エラーのようです。

プロジェクトのプロパティからJAVAのビルドパスを選択して
Admobのjarにチェックを入れると解消されます。

2013年5月18日土曜日

Admobのクリック単価は一円以下

GoogleAdsenceならワンクリック十円以上の広告がざらですが
AdMobはワンクリック一円以下になることもある。

特に今年の五月に入ってからのクリック単価の下がりは酷い

シュミレーションゲームの広告レポート
年月日  利益  広告依頼 表示回数 クリック数 クリック率
2013/5/17
$0.23
674
642
27
4.01%
2013/5/16
$0.13
529
520
12
2.27%
2013/5/15
$0.27
740
701
17
2.30%
2013/5/14
$0.16
643
614
12
1.87%
2013/5/13
$0.18
1,078
1,012
25
2.32%
2013/5/12
$0.57
1,001
993
37
3.70%
2013/5/11
$0.29
1,122
1,103
36
3.21%
2013/5/10
$0.13
697
696
18
2.58%
2013/5/9
$0.10
485
465
16
3.30%
2013/5/8
$0.23
665
660
35
5

クリック率が高い理由は、広告をクリックしてもアプリが停止しない構造だからです。

シュミレーションゲームなど(例えばナメコ育成とか)はアプリを停止せずに広告を開く事ができます。そのためクリック率を高くする事ができる。



2013年4月1日月曜日

Admob広告の実装サンプルコード

一番単純なAdmob広告の実装方法。
デバッグ指定もできるが、特別な動きさせないなら気にする必要はない。
任意のレイアウトを指定する事で広告の表示位置を調整できる。

onCreate{


        adView = new AdView(this, AdSize.BANNER,"固有識別コード");

    //広告の挿入するレイアウトを指定
        LinearLayout layout = (LinearLayout)findViewById(R.id.linearLayout);

        // adView を追加
        layout.addView(adView);

        // 広告の表示を開始
        adView.loadAd(new AdRequest());




onDestroy{
       adView.destroy();
}

マニュフェストファイル

<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>


<activity android:name="com.google.ads.AdActivity"
android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"/>



その他の設定
libsにmobadのjarファイルを入れる
ビルドターゲットはAPI15以上にする※API14以下のプログラムであっても
proguardの警告を無視する

Project.proparties

# Project target.
target=android-15
proguard.config=proguard.cfg


proguard.cfg
-dontwarn com.google.ads.**
サンプルコード

2012年12月17日月曜日

proguardの警告 can't find referenced class com.google.ads.internal.state.AdState

can't find referenced class com.google.ads.internal.state.AdState

admobのjarファイルをproguardで難読化したさいの警告です。


[2012-12-17 10:00:55 - App Silencer] Proguard returned with error code 1. See console
[2012-12-17 10:00:55 - App Silencer] 警告: com.google.ads.m: can't find referenced class com.google.ads.internal.state.AdState
[2012-12-17 10:00:55 - App Silencer] 警告: com.google.ads.m: can't find referenced class com.google.ads.internal.state.AdState
[2012-12-17 10:00:55 - App Silencer]       You should check if you need to specify additional program jars.
[2012-12-17 10:00:55 - App Silencer] 警告: there were 2 unresolved references to classes or interfaces.
[2012-12-17 10:00:55 - App Silencer]          You may need to specify additional library jars (using '-libraryjars').
[2012-12-17 10:00:55 - App Silencer] java.io.IOException 発生: Please correct the above warnings first.
[2012-12-17 10:00:55 - App Silencer] at proguard.Initializer.execute(Initializer.java:321)
[2012-12-17 10:00:55 - App Silencer] at proguard.ProGuard.initialize(ProGuard.java:211)
[2012-12-17 10:00:55 - App Silencer] at proguard.ProGuard.execute(ProGuard.java:86)
[2012-12-17 10:00:55 - App Silencer] at proguard.ProGuard.main(ProGuard.java:492)

色々と調べてみましたがadmobの構造が悪いようです。
警告を無視しても問題ありません。

proguard.cfgファイルに
-dontwarn com.google.ads.**
と追記して警告を無視しましょう。