Unity使い方@超初心者の開発備忘録

Unityを使ってアプリやゲームを作る時の自分のための作業メモ。誰かのお役に立てれば幸いです。

Admob広告をUnityで表示する方法~Android・iOS版

unityでadmobの使い方の備忘録を自分用にまとめておこうと思います。

※ admobの広告ユニットIDは、取得してもすぐには表示されないので事前に登録しておいたほうがいいかと思います。

 

◆ 公式の設定ガイド

developers.google.com

・ パッケージをunityにインポート

・ assets → Googlmobile ads → settingsでgoogle admobのenabledをon

各app idを入れる

スクリプトでも設定するのに、なぜidが必要なのか謎・・・

↓おそらく、この手順(info.plistへの追記)を自動で行なうっぽい??

teratail.com

 

 

しかし、これだけではエラーになる。

なんだそれ・・・

 

※おそらく、

↓この手順はCocoaPodsで対応したほうがいい。

-------------------------------------------------------------

ということで、frameworkの追加

↓このフレームワークを解凍。4つほどフレームワークがあるので、

developers.google.com

 

↓この手順にそってxcodeでframeworkをインポート

qiita.com

-------------------------------------------------------------

 

◆ CocoaPodsでの作業手順

unitylog.hatenadiary.jp

 

◆ 生成されたxcworkspaceを開く

 

しかし、実行時にエラーになる。

UIApplicationMain(argc, argv, nil, [NSString stringWithUTF8String: AppControllerClassName]);

 

まったくの謎だが、info.plistに

GADIsAdManagerAppをtrueと追加登録すると動作したようです

(GADApplicationIdentifierは自動で入っているはず・・・)

qiita.com

 

アーカイブ時のエラー対策

→bitcodeをNOにする??

youtachannel.com

 

 

 

2019年現在、テストIDでは表示されるが、何故か本番IDでは表示されない・・・

ということで、もう一度手順を追う

developers.google.com

 

 →結局問題が解決されない・・・

Unityを最新版にアップデートしてみる

→表示されない

 

 エラーログを取得するため、広告イベントを表示させる・・・

(using Systemが必要)

developers.google.com

 

 

たぶん、公開されていないアプリだと、表示されないようになった?!!

しかも公開されているかどうかは、keycodeを見ているようだ・・・

 

 

色々つまづいてしまったので、

自分用と、もしかしたら誰かの御役に立てれば幸いです。

 ↓ここのページを参考にしました

Get Started  |  Google Mobile Ads SDK for Android  |  Google Developers

 

こちらも参考にしました

Unityで作ったゲームにAdMob広告を実装する方法【バナー広告編】 | FREE SWORDER

 

 ■ Unity用のパッケージをダウンロードしてインポート

何はともあれ、GoogleMobileAds.unitypackageを

ダウンロードして対象のプロジェクトに入れます

github.com

 

※ すると、なぞのエラーが発生する場合がある

ERROR: Unable to find dependency com.google.android.gms:play-services-ads-lite:

ってことで、その場合は、こちらのページを参考に・・・

Unity - UnityにGoogle Mobile ads導入時のエラー(75301)|teratail

 どうやら、このサイトにもヒントが・・・

PROBLEM WITH ADS: PLAY SERVICES - Unity Answers

英語は苦手だけど、

gitから「unity-jar-resolver.unitypackage」をダウンロードして、

今のプロジェクトにあるだろう'Play Services Resolver' を削除して、

「unity-jar-resolver.unitypackage」をインポートするようだ。

 

すると下記のメニューができるので

Assets > Play Service Resolver > Version Handle > Update

をして、(※前後逆??)

Assets->Play Services Resolver -> Android Resolver -> Resolve Client Jars

すればOKってことみたい

?ResolveとRsolve Forceしかない?? 

 

 

■ 広告を表示するスクリプトを作って空のオブジェクトにアタッチ

スクリプトの参考(表示テストにはtest idを使うとよさげ)

[Unity] AdMob 広告をAndroidに実装する

 

これにて、 

アンドロイドでは表示された。

 

次は、iOS(アイフォン)でもやってみる・・・

なかなかにめんどくさいということに気づく

 

 

iPhoneのAdmob設定】

 ■ 以下のサイト様の手順を頼りにしました

https://unity3d.sakura.ne.jp/unity/unity-iphone-admob.html

 

games.genieus.co.jp

 

 “GoogleMobileAds/GoogleMobileAds.h” file not found error

★  ポイント

xcode側の設定が必要です

・ GoogleMobileAds.frameworkの追加

・ 他フレームワークの追加

 

【Unity、iOS】AdMob入れたらModule 'GoogleMobileAds' not found.が消せなくて困った。 - naichi's lab

すると、下記のエラーが・・・

use of “@import when modules are disabled 

ってことで下記のサイト様を参考に修正しました

http://www.clrmemory.com/iphone/build-error-inport/

 

■ Apple LLVM [XX] - Language - ModulesのEnable Modules (C and Objective-C)を YESにする

※ [XX]の数値は異なる

 

以上で、AndroidiOSともにフッターが表示されました。

 もし、ご指摘のことやアドバイスなどあればお教えいただけると嬉しいです。