原カバンは鞄のお店ではありません。

Unityを使ったゲーム制作のあれこれを綴っていきます。

【Unity】UnityAdsを導入したらビルドエラーになった話

令和

新年度が始まると同時に5月に改元される元号が発表され『令和』に決まりました。

元号が変わるということで、少し閉塞感が漂う現代社会も心機一転、大きく変わりそうな予感がしますが、個人的な生活の範疇では低めに漂う停滞感から抜け出せる予感が全くしません。

 

というもの、前回の記事で書いたようにGoogleのAdMobから突然のアカウント停止の処置をくらい、併せてAdSenseのアカウントも停止、Adwordsに出稿した広告も表示回数が思うように伸びないとか、ここ最近のGoogleとは相性最悪だったり、贔屓のサッカーチームは全然勝てないし、気晴らしに買ったSekiroはまぼろしお蝶に殺されてばっかりだし、もう一生分の『死』という字を見た気がする。

 

そんな感じで色んなことに足元を取られてばっかりな日々なのですが、とりあえず足掻くだけ足掻こうと、リリースしたばかりの"Dull Things No Life"をIndie Game Festival 2019に応募することにしました。

 

indiegamesshowcase.withgoogle.com

トップ20に選ばれた場合はGooglePlayで取り上げてもらえるので大きな宣伝になります。またゲーム開発者として大きな箔がつきますし自信にもなるので、まるで首無しの霧に足を捕らえられたかのような現状を打破する大きなきっかけになると思うのです。

 

まぁ、今年に入ってGoogleさんからは鞭ばかりを味合わされているので、ここら辺できっと美味しい飴をもらえるに違いありません。(とはいえ。去年も応募してダメだったけど・・・)
とはいえ、"Dull Things No Life"がその名前を刻むことを期待して応募したいともいます。

 

なので宣伝

ビートを感じて走れ!飛べ!音楽と融合した新感覚アクションゲーム"Dull Things No Life"

 

f:id:Karvan:20190219221455j:plain

 

Android版:「Dull Things No Life」をGoogle Playで

iOS版:「Dull Things No Life」をApp Storeで

 

Indie Game Festival 2019に向けて新しいギミック(障害物)と新ステージを追加予定です。簡単操作で何時間でも遊べるゲームとなっていますので、是非、ダウンロードしてください。

 

ここから本編

で、GoogleAdMobのアカウントが停止となっているので、現在はアプリ内広告をUnityAdsに変更したバージョンがリリースされています。

 

UnityAdsはUnityが提供する広告表示用のSDKでUnity2018ではパッケージとして既に組み込まれているので、AdMob等のほかの広告ユニットと比べて非常に導入が簡単です。

 

Unity2018以降からUnityで開発を始めた方はUnity メニューの「Window>Services」にある「ADS」をONにして、スクリプトで名前空間「using UnityEngine.Advertisements」を記載すれば、広告表示に必要な処理を組み込むことができます。

 

PCでのデバッグPlayでテスト広告も表示可能なので、広告表示後のスキップもしくは完了時の処理などもPC上で確認することができて導入がスムーズに行えます。

 

baba-s.hatenablog.com

 私も最初は上のリンクの導入手順を読んで「めっちゃ簡単じゃん!」と喜んでいたのですが、ただ、これはUnity2018以降からUnityで開発を始めた方に限った話だったり、そうでなかったり・・・・

 

ビルドエラー

まず、手順どおり「Services」の「ADS」をONにして、スクリプトに「using UnityEngine.Advertisements」を記載。
UnityAdsのAPIを使って広告表示の処理を組んで・・・あれ?

 

(;´・ω・)API(Show等)が認識されない・・・

 

VisualStadio上で「Advertisement.Show」とか書いても赤線が引かれてエラーとなりました。手順的には間違ってないはずですが、設定を何度も見直してUnityの再起動とか繰り返しても一向に改善されない。


仕方ないのでアレコレとネットを調べていると、こんな記事が
「UnityAdsのSDKが認識されない場合は、アセットストアから再度インポートする」

 

(・`ω´・)おお、なるほど!

 

早速アセットストアから「Unity Monetization 3.0.3」というアセットを探してインポート

 

(`・ω・)!!、やった!認識した!!

 

UnityAdsのAPIに引かれていた赤線が消えて、UnityAdsの処理を加えることができました。あとはビルドして実機で確認すれば・・・

 

Unity『ビルドエラーやで!!』
・・・(゚Д゚)ハァ?

 

さて、なにが問題だったのでしょう?

 

 ライブラリが重複

色々調べた結果、原因は、「Asset StoreからインポートしたUnityAds」と「Unity2018ですでに内包しているUnityAds」で、「UnityAds.framework」が重複している、でした。

 

UnityAdsのSDKは現在PackageManagerからバージョン確認やアップデートを行うことができます。そして、その中身はAssetウィンドを確認するとPackage配下に格納されているのがわかります。

f:id:Karvan:20190403003647p:plain


一方、Asset StoreからインポートしたUnityAdsは、
Assets > Plugins > iOSとAssets > Plugins > Android
の方に入っていました。

なので、PulginフォルダにUnityAdsのSDKはばっさりと削除するとビルドエラーもなくなりました。

 

つまり、Unity2018でUnityAdsのAPIが認識されない場合の正しい対処法としては

  • アセットストアからUnityAdsのSDKをインポートしない
  • PackageManagerからADSを選択、「Install」を押して改めてインポート

となるみたいです。

 

Unityもバージョンアップを繰り返してその仕様が大きく変わっているので、問題が発生して対処法がネットに載っているとしても、その情報がいつの情報なのか十分に注意して参考にする必要がありますね。

 

 

◇プライバシーポリシー

●個人情報の利用目的

当ブログでは、メールでのお問い合わせ、メールマガジンへの登録などの際に、名前(ハンドルネーム)、メールアドレス等の個人情報をご登録いただく場合がございます。

これらの個人情報は質問に対する回答や必要な情報を電子メールなどをでご連絡する場合に利用させていただくものであり、個人情報をご提供いただく際の目的以外では利用いたしません。

●個人情報の第三者への開示

当サイトでは、個人情報は適切に管理し、以下に該当する場合を除いて第三者に開示することはありません。

・本人のご了解がある場合
・法令等への協力のため、開示が必要となる場合

個人情報の開示、訂正、追加、削除、利用停止
ご本人からの個人データの開示、訂正、追加、削除、利用停止のご希望の場合には、ご本人であることを確認させていただいた上、速やかに対応させていただきます。

アクセス解析ツールについて

当サイトでは、Googleによるアクセス解析ツール「Googleアナリティクス」を利用しています。

このGoogleアナリティクスはトラフィックデータの収集のためにCookieを使用しています。このトラフィックデータは匿名で収集されており、個人を特定するものではありません。
この機能はCookieを無効にすることで収集を拒否することが出来ますので、お使いのブラウザの設定をご確認ください。

●免責事項

当サイトからリンクやバナーなどによって他のサイトに移動された場合、移動先サイトで提供される情報、サービス等について一切の責任を負いません。

当サイトのコンテンツ・情報につきまして、可能な限り正確な情報を掲載するよう努めておりますが、誤情報が入り込んだり、情報が古くなっていることもございます。

当サイトに掲載された内容によって生じた損害等の一切の責任を負いかねますのでご了承ください。

●プライバシーポリシーの変更について

当サイトは、個人情報に関して適用される日本の法令を遵守するとともに、本ポリシーの内容を適宜見直しその改善に努めます。

修正された最新のプライバシーポリシーは常に本ページにて開示されます。