ゲーム開発
Unity
UnrealEngine
C++
Blender
Houdini
ゲーム数学
ゲームAI
グラフィックス
サウンド
アニメーション
GBDK
制作日記
IT関連
ツール開発
フロントエンド関連
サーバサイド関連
WordPress関連
ソフトウェア設計
おすすめ技術書
音楽
DTM
楽器・機材
ピアノ
ラーメン日記
四コマ漫画
その他
おすすめアイテム
おもしろコラム
  • ゲーム開発
    • Unity
    • UnrealEngine
    • C++
    • Blender
    • Houdini
    • ゲーム数学
    • ゲームAI
    • グラフィックス
    • サウンド
    • アニメーション
    • GBDK
    • 制作日記
  • IT関連
    • ツール開発
    • フロントエンド関連
    • サーバサイド関連
    • WordPress関連
    • ソフトウェア設計
    • おすすめ技術書
  • 音楽
    • DTM
    • 楽器・機材
    • ピアノ
  • ラーメン日記
    • 四コマ漫画
      • その他
        • おすすめアイテム
        • おもしろコラム
      1. ホーム
      2. 20220329_01

      【Unity・2022年度版】NCMBとAdmobのAndroidプラグインの競合を解決する

      UnityUnityプラグインAdmobNCMB
      2022-03-30

      マイケル
      マイケル
      みなさんこんにちは!
      マイケルです!!
      エレキベア
      エレキベア
      クマ〜〜〜
      マイケル
      マイケル
      今回は
      NCMBとAdmobプラグインの競合解決
      についてのメモです!
      マイケル
      マイケル
      Unityで個人ゲーム開発する場合に、
      広告 -> Google Admob
      ランキング実装 -> NCMB
      という選択をする人も多いかと思うのですが、
      各unitypackageをそのままインポートしてビルドすると・・・
      マイケル
      マイケル
      このようにビルドエラーが発生することがあります。
      エレキベア
      エレキベア
      見たくないクマ・・・
      マイケル
      マイケル
      2年前くらいにこの組み合わせで開発した時にも
      同じようなエラーが出た記憶があるのですが、
      2022年3月現在でも発生するようだったので解決方法を載せておきます!
      エレキベア
      エレキベア
      もはや定番クマね

      Androidの競合解決

      マイケル
      マイケル
      今回使用したプラグインとUnityのバージョンは下記になります。

      プラグインの競合

      マイケル
      マイケル
      エラーメッセージの量が多いので最初はパニックになるかと思いますが、
      よく見ると下記のようにDuplicate class(クラスが重複している)と出力されていることが分かります。
        java.lang.RuntimeException: Duplicate class android.support.v4.app.INotificationSideChannel found in modules 	 androidx.core.core-1.6.0-runtime.jar (:androidx.core.core-1.6.0:) and 	core-1.1.0-runtime.jar (:core-1.1.0:)
        Duplicate class androidx.collection.ArrayMap found in modules 	 androidx.collection.collection-1.0.0.jar (androidx.collection.collection-1.0.0.jar) and 	collection-1.1.0.jar (collection-1.1.0.jar)
        Duplicate class com.google.android.gms.actions.ItemListIntents found in modules 	com.google.android.gms.play-services-basement-17.6.0-runtime.jar (:com.google.android.gms.play-services-basement-17.6.0:) and 	play-services-basement-17.1.1-runtime.jar (:play-services-basement-17.1.1:)
        Duplicate class com.google.android.gms.auth.api.signin.GoogleSignInAccount found in modules 	com.google.android.gms.play-services-base-17.6.0-runtime.jar (:com.google.android.gms.play-services-base-17.6.0:) and 	play-services-base-17.0.0-runtime.jar (:play-services-base-17.0.0:)
        java.lang.RuntimeException: Duplicate class androidx.legacy.content.WakefulBroadcastReceiver found in modules 	androidx.legacy.legacy-support-core-utils-1.0.0-runtime.jar (:androidx.legacy.legacy-support-core-utils-1.0.0:) and 	androidx.legacy.legacy-support-core-utils-1.0.0-runtime.jar (:legacy-support-core-utils-1.0.0:)
        Duplicate class com.google.android.gms.tasks.CancellationToken found in modules 	com.google.android.gms.play-services-tasks-17.2.1-runtime.jar (:com.google.android.gms.play-services-tasks-17.2.1:) and 	play-services-tasks-17.0.0-runtime.jar (:play-services-tasks-17.0.0:)
      ↑重複エラーメッセージ
      マイケル
      マイケル
      そのため、エラーが出ているプラグインをログから抽出して片方を削除すると
      エラーが解決されます!
      ↑重複プラグインを洗い出して削除する
      エレキベア
      エレキベア
      NCMBとAdmobのどちらにも
      同じプラグインが入っていたということクマね
      マイケル
      マイケル
      一度で全て競合しない場合があるので、
      その時は数回、ビルド→競合解決を繰り返しましょう!
      マイケル
      マイケル
      今回の場合、最終的に削除したプラグインは下記になります。
      • core-1.1.0.aar
      • collection-1.1.0.jar
      • play-services-basement-17.1.1.aar
      • play-services-base-17.0.0.aar
      • legacy-support-core-utils-1.0.0.aar
      • play-services-tasks-17.0.0.aar
      マイケル
      マイケル
      基本的にバージョンが低い方のプラグインを削除するようにしました。
      これでビルドが通るようになっているはずです!
      エレキベア
      エレキベア
      ちょろかったクマ〜〜〜

      おわりに

      マイケル
      マイケル
      というわけで今回はNCMBとAdmobの競合解決でした!
      どうだったかな?
      エレキベア
      エレキベア
      最初は焦ったクマがよく見ると簡単だったクマ
      マイケル
      マイケル
      バージョンが変わると今回と同じように解決できないこともあるし、
      複数プラグインを使用すると似たような競合はよく起こります。
      その際にはエラーメッセージをよく見て対処するようにしましょう!
      エレキベア
      エレキベア
      心得たクマ
      マイケル
      マイケル
      それでは今日はこの辺で!
      アデュー!!
      エレキベア
      エレキベア
      クマ〜〜〜〜

      【Unity・2022年度版】NCMBとAdmobのAndroidプラグインの競合を解決する 〜完〜


      ↓NCMBを使用したランキング実装についてはこちら!


      UnityUnityプラグインAdmobNCMB
      2022-03-30

      関連記事
      【Unity】Timeline × Excelでスライドショーを効率よく制作する
      2024-10-31
      【Unity】Boidsアルゴリズムを用いて魚の群集シミュレーションを実装する
      2024-05-28
      【Unity】GoでのランキングAPI実装とVPSへのデプロイ方法についてまとめる【Go言語】
      2024-04-14
      【Unity】第二回 Wwiseを使用したサウンド制御 〜インタラクティブミュージック編〜
      2024-03-30
      【Unity】第一回 Wwiseを使用したサウンド制御 〜基本動作編〜
      2024-03-30
      【Unity】第二回 CRI ADXを使用したサウンド制御 〜インタラクティブミュージック編〜
      2024-03-28
      【Unity】第一回 CRI ADXを使用したサウンド制御 〜基本動作、周波数解析編〜
      2024-03-28
      【Unity】サウンドミドルウェアに依存しない設計を考える【CRI ADX・Wwise】
      2024-03-27