Lab.Unityメイン技術系blog他。itLinkedInPocketRSSFeedlyCopyUnityでNiftyのmBaaS(NCMBプッシュ通知)とAdMobの競合を乗り越え利用する方法NiftyのmBaas(以降NCMB)プラグインをUnityで導入することにより、手軽にプッシュ通知などの機能が利用可能です。AdMob等を導入している環境等で導入した場合、競合などによりビルドエラーや実行時エラーを起こす問題を乗り越えて利用するまでの道のりです。DescriptionUnityでNCMBのPluginを導入することによりでiOS/Android向けに様々な機能が利用できます。Push通知もその一つです。Packageところが上記のマニュアル等を参考に導入しようとしても、AdMob等の広告を既に導入している場合には高確率で競合によるエラーでビルドができません。この解決方法が意外とやっかいなので以下に手順を残します。おおまかには以下の流れです。plugin)Android7.x/iOS11.x設定方法1.AdMob関連のjar/aarを削除するAssets/Plugins/Android/以下にあるAdMob導入時のjar/aarを一旦削除しますplay-service-xxxやsupport-yyyが該当します。私は該当フォルダのファイルを一旦全て削除しました。2.NCMBのプラグインを導入しますNCMBのプラグインを導入します。今回はv3.1.1でした。導入後は、Asset/Plugins/Androidフォルダに下記のファイルが展開されています。play-service-base-xxxを削除すると競合が解決してビルドできますが、NCMBを呼び出すと実行時に落ちます。3.Asset/GoogleMobileAds/Editor/GoogleMobileAdsDependencies.xmlを編集するNCMBで導入されたplay-service-xxx系のバージョンに合わせます。ここでは11.6.0を11.0.0にします。Resolver->Resolveを実行します実行後は、以下のようにファイルが配置されます。5.各AndroidManifest.xmlのtargetSdkVersionを統一する-Assets/Plugins/Android/AndroidManifest.xml-Assets/Plugins/Android/NcmbGcmPlugin.aar内のAndroidManifest.xml-Assets/Plugins/Android/GoogleMobileAdsPlugin/AndroidManifest.xml-その他導入済みのものがあればAdMob導入時に既に実施しているかもしれません。メインとなるPlugins/Android直下のAndroidManifest.xmlと他のAndroidManifest.xmlでtargetSdkVersionが異なるとビルドエラーになります。具体的には下記のような記述です。今回はNCMBのものが26になっていましたが25で統一しました。/>ここで問題になるのが、NcmbGcmPlugin.aarの中にあるAndroidManifest.xmlの変更です。実はaarファイルは単なるzip圧縮ファイルです。拡張子をzipに変更してさくっと解凍しちゃいましょう。解凍すると以下のようなファイルが確認できます。このAndroidManifest.xmlはv3.1.1ではtargetSdkが26なので25に変更します。変更後は、再度zipで圧縮してaarに拡張子を変えればOKです。私は7-zipを利用しました。注意点として、zip圧縮時は上記のフォルダ群を選択して直接圧縮してください。展開時にNcmbGcmPliuginといった名前などでルートフォルダを生成した場合そのルートフォルダを圧縮してしまうとフォルダ構成がおかしくなり、ビルド時に見慣れないエラーがでます。windowsであればこんな感じでZIPを作成します。以上で無事ビルドができ、アプリの実行およびプッシュ通知の確認、AdMobの表示も問題なく実行できました。最後に最近まで、たまたまNCMBとAdMobを同時に使うことがありませんでしたが、よく使われるのではと思います。Googleのplay-service-xxx系は色々と競合をおこしやすいのでやっかいです。今回のは特に面倒で1日半ほど時間がかかりました。大概は、競合していそうなplay-service-xxx系を削除すればいけるのですがはまることが多くてやっかいです。【Unity】UnityでPhotonを使用して値を同期するときにはまったこと先日、UnityのPhotonを使用して簡単な対戦ゲームを作る機会がありました。コメントをキャンセルメールアドレスが公開されることはありません。UIも大っきらい!!」でWindowsのフォントを見やすくする。