PhysApp

趣味と開発関連のメモ置き場です

Admobのバナー広告を実装してみる【Unity】

UnityのゲームやアプリにAdmobを実装するやり方のメモ書きです。

Admob側で広告の設定

Google Admobにいってまずはログイン。ログイン周りの説明は飛ばします

ログインしてホームに行ったら、左メニューの アプリ > アプリを追加 から広告を追加していきます。

最初にストアに既に出しているか聞かれるので、出しているならアプリIDやデベロッパ名で検索して割り当てます。まだ出していなくて新規追加をする場合を今回書きます。

いいえを選択すると下の画面になるので、アプリの名前、プラットフォームを入力して追加をクリックします。

f:id:physif:20191108002153p:plain

アプリを追加したら、広告の設定をします。バナーやインタースティシャル、リワードから入れたい広告のタイプを選択します。

その後、広告のユニット名を入力します。好きな名前で大丈夫です。

(自分の場合は上にバナーを出すのでHeader-Bannerって名前にしておきました)

f:id:physif:20191108002158p:plain
ユニット名を決める

そうすると広告AppID、広告ユニットIDが表示されるので、控えておきます。

Unity側で広告の設定

広告ユニットができたら、Unity側で広告の設定をしていきます。

まずは下のリンクからGoogleMobileAdsのアセットパッケージをダウンロードします。

developers.google.com

ダウンロードしたら、Assets > Import Package > Custom Package からダウンロードした GoogleMobileAdsPlugin.unitypackage をインポートします。

インポートが終わったら下のプログラムを書いて、空のオブジェクトにアタッチします。

using GoogleMobileAds.Api;

public class AdmobControl : MonoBehaviour {

    void Start ( ) {
        string app_id = "ca-app-pub-1234567890123456~1234567890"; //自分のappidを入れる
        MobileAds.Initialize( app_id );

        RequestBanner( );   
    }
    
    /// <summary>
    /// バナーをリクエスト
    /// </summary>
    private void RequestBanner( ) {
        string unit_id = "ca-app-pub-3940256099942544/6300978111"; //テスト用ID

        BannerView banner_view = new BannerView( unit_id, AdSize.Banner, AdPosition.Top );
        AdRequest request = new AdRequest.Builder( ).Build( );
        bannerView.LoadAd( request );
    }
}

アタッチまでできたらUnity側の操作は終わりです。

大事な追加設定と注意点(iOS

Xcode

地味にはまったんですが、Admobを導入して、Xcodeでビルドしたプロジェクトを開く時は .xcodeproj からではなく .xcworkspace から開きましょう。

f:id:physif:20191108002203p:plain
右の白アイコンを選ぼう

.xcodeproj から開いてXcodeアーカイブしようとすると、

library not found for -lGoogleUtilities
clang: error: linker command failed with exit code 1 (use -v to see invocation)

f:id:physif:20191108002146p:plain

このようなエラーが出てアーカイブが通りません。

.xcworkspace から開くと、上のエラーは出ずにアーカイブがちゃんと通ります。

アーカイブする前に

アーカイブする前に必要なのが、plistにGADApplicationIdentifierの項目を追加してあげることです。そのままやったら真っ暗なままアプリ落ちして起動すらしなかった。

info.plistに以下の項目を追加します。stringに広告のappidを入れます。

f:id:physif:20191108002150p:plain
サンプルのappidです

これで設定は終わりです。アーカイブできるようになってるはず。