AdMob と Nifty Cloud のプッシュ通知を共存させる [Unity]

下記の条件でNifty Cloudのプッシュ通知を使おうとしてドハマりしてしまったので、対策した方法をメモに残しておきます。

環境:
・Unity 5.4.3f1
・Google Mobile Ads Unity Plugin 3.0.5

上記環境で mobile backend のUnity用SDK「NCMB.2.2.0」をインストールして、Android用にビルドしたところ、

Uncaught translation error: java.lang.IllegalArgumentException: already added: ~~

という内容のエラーが出てビルドで出来ませんでした。
調べてみると、クラスファイルが重複しているらしく、いろいろ調べつつ試してみました。

結果としては、下記の方法でビルドが成功し、AdMobとPush通知も動作確認できました。
※いろいろ試している内に偶然できたその場しのぎな方法なので、もしこの問題でお困りの方は参考までにということで。。

まず「NCMB.2.2.0」でインポートした下記ファイルを削除します。
 ・Assets/Plugins/Android/android-support-v4.jar
 ・Assets/Plugins/Android/google-play-services.jar
 ・Assets/Plugins/Android/res/values/version.xml

次に
・Assets/PlayServicesResolver/Editor/AdMobDependencies.cs
のAdMobDependencies関数内に下記のコードを追加します。

svcSupport.DependOn("com.google.android.gms", "play-services-gcm", "LATEST");

次に、Unityのメニューから下記を実行します。
Assets > Google Play Services > Resolve Client Jars

すると下記画像のように「play-services-gcm-10.0.1.aar」が出来ます。

この状態でUnityからAndroid用にビルドすると成功して、AdMobもPush通知も動作しました。

【補足】
もし、「play-services-gcm-10.0.1.aar」はやっぱりいらないということになると、aarファイルを削除してもすぐに同ファイルが復活してしまいますので、復活させないようにするには下記の手順が必要です。

 ・「play-services-gcm-10.0.1.aar」を削除する。
 ・「Assets/PlayServicesResolver/Editor/AdMobDependencies.cs」で先ほど追加したコードを削除
 ・「ProjectSettings/GoogleDependencyAdMobUnity.xml」のそれらしい箇所を削除

Post a comment

※承認されるまではコメントは表示されません。

Trackbacks

URL: http://b.i-tach.com/wp-trackback.php?p=1015

ABOUT

MY APPLI

サッカーピープル
サッカーピープル

操作のしやすさ最優先の
自由自在なサッカーゲームです
iOS版 / Android版

コロッコトロッコ
コロッコトロッコ

石ころのコロッコを転がしながら
サラリーマンを会社へ運ぶゲームです
iPhone版 / Android版

CATEGORIES

ARCHIVES

TAGS

3Dプリント AIR ANE Arduino Away3D client work DIY Flash Funnel JavaScript Kinect LED openFrameworks PhotoShop Progression Qubicle Unity Xcode アプリ インターバル撮影 カメラ キャラ ゲーム制作 コロッコトロッコ スクリーンセーバー デバッグ フットサル ミニマル ランニング レーザーカッター 事務所 低山部 作品 動物 塗装 展示会 文字 料理 福岡てら子 美食家 街ぶらり 道具 鉄道 電子工作

FEEDS

SNS

--

Arduinoをはじめよう
Arduinoをはじめよう

電子工作が未経験の人にも
分かりやすい入門書

Arduinoをはじめようキット
Arduinoをはじめようキット

上の書籍の内容が
一通り試せるツールセット

Prototyping Lab ―「作りながら考える」ためのArduino実践レシピ
Prototyping Lab

「Arduinoをはじめよう」より
深く掘り下げた内容の実践書

Make: Electronics
Make: Electronics

電子工作の基礎から実践まで