Unity-初心者ユニティの使い方メモ【UTMEMO】ブログ版

新しくライターさんが参加しました。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を開く

 CocoaPodsを使用しているプロジェクトでは、「.xcodeproj」のファイルから開くとビルドできません。「.xcworkspace」を開きます。ここがまず第一のハマりどころ。

qiita.com

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

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

 

他にも、gsCrashReporterUEHandlerのエラーでも以下で対応できた???

 

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

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

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

qiita.com

【 対象エラー症状 】GADIsAdManagerAppを追加してtrueにすると解決するかも

xcodeから実機にインストール・起動時のエラー 

No pending report exists at/UncaughtExceptionHandler/gsCrashReporterUEHandler(exception);/Graphics API

 

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

linker command failed with exit code

→bitcodeをNOにする??

「PROJECT・TARGETS」の設定画面を開き「PROJECT」>「Build Settings」タブに移動する。「bitcode」と検索したら「Enable Bitcode」の項目を「YSE」から「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ともにフッターが表示されました。

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

 

【 仮説メモ 】

・ admobとnendは共存できないかも???

 

 

■ 参考サイト

qiita.com

 

developers.google.com

 

uni.gas.mixh.jp

 

freesworder.net

 

developers.google.com