2020/09/19

UnityとAndroid StudioのAPKファイル渡しと、Google AdMob広告のテスト表示について

UnityでのAndroidアプリ開発メモ

(AdMob広告表示対応)

Unity上での設定

Android対応

  • Unity Hubにて、Android Build Support用のモジュールをインストールしておく。Android SDK & NDK Tools と OpenJDK

  • Unityエディタにて、File > Build Settings からプラットフォームをAndroidに切り替える。

  • File > Build Settings > Project Settings > Player Settings... から最低限Playerの Company Name と Product Name を設定しておく。以下は一例

  • 同じくPlayerの設定で64Bit対応を行う。
    Other Settings > Configration の Scripting BackEnd を IL2CPP に設定する。
    Target Architectures の ARM64 にチェックを追加する。


    Androidアプリの64Bit対応は必須となっている。
    参考)
    Android Developers - Google Play - 64 ビット アーキテクチャのサポート
  • 以上の設定で、 File > Build Settings > Build を実行すればAndroid向けのAPKファイル(.apk)が生成されます。
  • 必須ではありませんが、モバイル向けの開発にはUnity上でモバイル端末をシミュレートしてくれる「Device Simulator」が便利です。Window > Package Manager から追加できます。

    Google Admob 広告対応


    Android Studio上での設定

    • UnityでビルドしたAndroid向けのAPKファイルを、本家のAndroid Studioにて実行・確認することができます。
    • 「Profile or Debug APK」よりAPKファイルを選択し、エディタ上で実行すると以下のようなエミュレータ上にてアプリの動作が確認できます。
       
    • エミュレートするモバイル端末はAVD (Android Virtual Device) Managerから追加インストールできます。

    • Android Studioのエミュレータ上ではGoogle Mobile Adsのテスト広告も表示されるので、実機無しで広告の表示位置などを確認するのに便利です。

    UnityとAndroid Studioのx86絡み問題 

    Unity

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

      x86 ベースの Android サポートについて

      Unity では、Android の ARM 64 ビットサポートを追加した一方で、x86 ベースの Android の使用状況の調査も行いました。その結果、x86 ベース Android デバイスの市場への供給は非常に限られたものであり、Unity の x86 ベース Android サポートの導入も非常に狭い範囲に留まったことが分かりました。このため、x86 ベースの Android サポートはバージョン 2019.2 をもって廃止となり、Unity 2019.3 をもって完全に削除されます。Unity 2018 の各バージョンと、2018.4 LTS における x86 ベース Android のサポートは、当該バージョンのライフサイクルが終了するまで維持されます。 

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

      Android Studio

         つまり、Android Studio上では x86 のシステムイメージの高速エミュレータを使用したいが、Unityが生成するAPKは x86アーキテクチャの対応は廃止しているので高速エミュレータが使えないジレンマ。かといってUnityの旧バージョンで x86アーキテクチャ出力するのでは何をしているのか本末転倒という・・・。

        • Unityの「Device Simulator」の進化に期待する。まだプレビューだし。
        • Android Studioの x86 以外のエミュレータ高速化に期待する。いや性質からいっても期待薄。

        そんなところです。

        2016/03/17

        4Operations - 無料iPhoneゲームアプリ


        ハイスピード脳トレパズル
        High Speed Brain Training Puzzle
        四則演算を駆使して新記録を目指そう!



        ※音楽素材(BGM):魔王魂


        特徴

        シンプルなルール
        簡単な操作
        30秒のハイスピードバトル
        四則演算がわかる方ならどなたでもすぐに楽しめます


        掲載情報

        Unity Technologies Japan様4Operationsをご紹介いただきました。
        Appliv様4Operationsをご紹介いただきました。
        AppLibrary様4Operationsをご紹介いただきました。
        meeti【ミートアイ】様4Operationsをご紹介いただきました。
        暗黒社 あんこちゃんの掘り出しAppレビュー様4Operationsをご紹介いただきました。

        2016/01/31

        [Unity3d] UnityAdsで開発中のゲームに動画広告を導入してみる

        Unityでゲーム開発をしていて、マネタイズを考えた時に有力候補となるのが
        UnityAdsですね。

        特徴としては
        ●Unity公式サポート
        ●ユーザに動画広告を見てもらい、実際にアプリを
         インストールしてもらうと報酬が発生
        ●単純に動画広告を見てもらうタイプの他に
         自アプリ内の報酬と連動させるリワードタイプも選択可能
        ●導入が簡単
        といったところです。

        Unity製のゲームアプリ「クロッシーロード」での採用なんかが有名で
        よく成功事例として紹介されていますね。

        また、以前から導入は簡単だったと思うのですが
        Unityのバージョン5.2以降ではさらに簡単になっています。

        具体的な導入手順としては
        UnityのエディタのメニューからWindow→Services
        で表示されたServicesタブ内のAdsをオンにする


        アメリカの法律?(詳細は以下参照)絡みでアプリが13歳以下を対象とするかの質問に答えます
        アメリカ向けアプリ提供者(開発予定の方も)必読! 13歳以下ユーザーのプライバシーを守る米国の連邦取引委員会のCOPPAとは

        設定項目は
        ●プラットフォームの選択(iOS,Android)
        ●テストモードを使用するか
        です。

        これでプラットフォームごとのGameID(広告キーに相当)が自動で割り振られます。
        GameIDはAdvancedの欄で確認できます。

        準備ができたのであとはコードから広告動画の表示を要求するだけです。
        コードのサンプルはServices→Ads→CODE SAMPLESで表示されます。
        リワード広告用のサンプルも用意されています。



        シンプル版では
        Advertisement.IsReadyメソッドで準備OKかをチェックして
        OKならAdvertisement.Showメソッドで表示する。
        それだけです。超簡単^^。
        設定がUnityエディタ内で行えるように統合された結果
        Advertisement.Initializeメソッドによる初期化も不要となったようです。
        あとは必要に応じて結果ステータスのチェックなどを追加すればいいと思います。


        実際にテストモードで実行したら以下のように表示されました。



        この画面が表示されればとりあえずOKみたいです。
        文字はみ出してるけど。。。OKなはず。


        ちなみにプラットフォームをiOSかAndroidに切り替えておかないと
        広告が表示されないです。
        Advertisement.IsReadyメソッドがfalseを返してきます(経験談)。



        モバイル用なので当然なのかも。


        バナー広告をAdmobのメディエーションでコントロールしつつ
        今回実装したUnityAdsの動画広告とウザくならない程度に
        組み合わせられればと思ってます。


        Unity Ads
        How to use Unity Ads
        unity3d-jp/unityads-help-jp Wiki · GitHub