久々にココのコイン落としを新バージョンをリリースしようと思ったものの、Google Play Billing Libraryのバージョンアップが行われており、Unityで使うGoogle Play Billing Libraryのバージョンを6.0.1以上に上げる必要があったのですが、現在使用しているUnity2020.3.40f1ではPackage ManagerではIn App Purchasingは4.9.4までしか存在しません。
やむなく、Unity2021.3.11f1でプロジェクトを読み込み直したところ、以下のようなエラーがビルド時に発生してしまいました。
Exception: OBSOLETE - Providing Android resources in Assets/Plugins/Android/res was removed, please move your resources to an AAR or an Android Library. See "AAR plug-ins and Android Libraries" section of the Manual for more details.
Firebaseなどを使ってない場合は、以下の様にします。
mkdir -p "Assets/Plugins/Android/res.androidlib" mv "Assets/Plugins/Android/res" "Assets/Plugins/Android/AndroidManifest.xml" "Assets/Plugins/Android/res.androidlib"
私はFirebaseやAdmobも使っているせいだと思いますが、これでは直りません。
以下はFirebase等を使っている場合です。
res.androidlibを作ってresフォルダを中に入れる所までは同じ。
Assets/Plugin/Android/AndroidManfest.xmlは残したまま(私の場合は存在しませんでした)、Assets/Plugins/Android/res.androidlib/AndroidManifest.xmlを作って以下の内容を記述します。
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="custom.android.res" android:versionCode="1" android:versionName="1.0"> </manifest>
これでビルド出来ました。
余談ですが、実機で課金をテストしようとしたときに、購入時に「Unknown Service connection is disconnected. {M: GPUL.HEC} – Google BillingResponseCode = ServiceDisconnected」というエラーが購入ダイアログに表示されてしまいました。
私はSimple IAP System2(現UniPay(UniPayはUnity2022以降対応))という課金処理用アセットを使っていたのですが、調べたところ、Unityのアップグレードに伴って、Unity IAPの設定画面でONに戻ってしたようでした。Simple IAP Systemのように、デフォルトのサービスをOFFにしないと動作しないアセットの場合は、Unityをアップグレードした時にいちいち確認する必要があるようです。
コメント