- 印刷する
- PDF
Troubleshooting
- 印刷する
- PDF
Classic/VPC環境で利用できます。
64-bit環境でビルドする際にネアロ(NAVER IDログイン)試行時、クラッシュが発生(API 28以降の Androidビルド)
AndroidManifest.xml
ファイルに以下のコードを追加します。- Unityの場合、/Assets/Plugins/Android/AndroidManifest.xmlを編集
// TODO: <application>タグ内に入れます。 <application> ... <uses-library android:name="org.apache.http.legacy" android:required="false" /> ... </application>
代わりに、この部分がパッチされたライブラリを置き換えることもできます。gamepot-channel-naver.aar
Play Storeに APKをアップロード時、com.nhncorp.nelo2.android.util暗号化パターンのセキュリティ通知発生
GAMEPOT SDK 3.3.0からは nelo2-android-sdk-https-0.12.0.aar / nelo2-android-sdk-common-0.12.0.aarが搭載されており、上記のイシューは解決されました。ただし、変更された NAVERクラウド ELSAライブラリにより、minSDKバージョンを19以降にする必要があります。
[GAMEPOT SDK 3.2.0以前のバージョン基準]
- logging機能関連ライブラリが obsoleteで発生する問題
- (ダッシュボードログ機能を使用しない場合) GAMEPOT SDKのライブラリから以下のリストのライブラリを削除
- gamepot-logger.aar
- nelo2-android-sdk-common-0.10.2.jar
- nelo2-android-sdk-https-0.10.2.jar
iOSビルド時のエラー発生
「XXXXXX.framework」が、i386 x86_64 Archive情報を持っていることでエラーが発生する場合は、次の通りです。
error: Building for iOS, but the linked and embedded framework 'XXXXXX.framework' was built for iOS + iOS Simulator.
許可されていないアーキテクチャを除去するコードです。万一 NaverThirdPartyLogin.frameworkが問題であったのであれば、以下のように作業して除去した後ビルドを行います。
lipo -remove x86_64 ./NaverThirdPartyLogin.framework/NaverThirdPartyLogin -o ./NaverThirdPartyLogin.framework/NaverThirdPartyLogin
lipo -remove i386 ./NaverThirdPartyLogin.framework/NaverThirdPartyLogin -o ./NaverThirdPartyLogin.framework/NaverThirdPartyLogin
Line i386 x86_64 iOS Archiveアップロードイシュー
コンソール(ターミナル)で LineSDK.frameworkファイルの位置に移動し、以下のコマンドを1つずつ入力します。
許可されていないアーキテクチャを除去するコードです。
lipo -remove x86_64 ./LineSDK.framework/LineSDK -o ./LineSDK.framework/LineSDK
lipo -remove i386 ./LineSDK.framework/LineSDK -o ./LineSDK.framework/LineSDK
lipo -remove x86_64 ./LineSDKObjC.framework/LineSDKObjC -o ./LineSDKObjC.framework/LineSDKObjC
lipo -remove i386 ./LineSDKObjC.framework/LineSDKObjC -o ./LineSDKObjC.framework/LineSDKObjC
AdbrixRM i386 x86_64 iOSビルドイシュー
コンソール(ターミナル)で AdBrixRM.frameworkファイルの位置に移動し、以下のコマンドを1つずつ入力します。
許可されていないアーキテクチャを除去するコードです。
lipo -remove x86_64 ./AdBrixRM.framework/AdBrixRM -o ./AdBrixRM.framework/AdBrixRM
lipo -remove i386 ./AdBrixRM.framework/AdBrixRM -o ./AdBrixRM.framework/AdBrixRM
ネアロ NaverThirdPartyLogin.framework i386 x86_64イシュー
許可されていないアーキテクチャを除去するコードです。
lipo -remove x86_64 ./NaverThirdPartyLogin.framework/NaverThirdPartyLogin -o ./NaverThirdPartyLogin.framework/NaverThirdPartyLogin
lipo -remove i386 ./NaverThirdPartyLogin.framework/NaverThirdPartyLogin -o ./NaverThirdPartyLogin.framework/NaverThirdPartyLogin
Unity 2018.4.4以降、Unity 2019.2.0以降での Androidビルドイシュー
mainTemplate.gradle
ファイルを以下のように編集します。- TODO項目をご参照ください。
// TODO: GradleVersionが使用される場所をすべて削除します。 buildscript { repositories { // if (GradleVersion.current() >= GradleVersion.version("4.2")) { google() jcenter() // } else { // jcenter() // } } dependencies { // if (GradleVersion.current() < GradleVersion.version("4.0")) { // classpath 'com.android.tools.build:gradle:2.1.0' // } else if (GradleVersion.current() < GradleVersion.version("4.2")) { // classpath 'com.android.tools.build:gradle:2.3.0' // } else { // TODO: Android gradle plugin versionを3.4.0バージョンに変更します。 classpath 'com.android.tools.build:gradle:3.4.0' // } classpath 'com.google.gms:google-services:3.2.0' } } allprojects { repositories { flatDir { dirs 'libs' } // if (GradleVersion.current() >= GradleVersion.version("4.2")) { google() jcenter() // } else { // jcenter() // } } } dependencies { // if (GradleVersion.current() >= GradleVersion.version("4.2")) { implementation fileTree(include: ['*.jar'], dir: 'libs') implementation project(":GamePotResources") implementation project(':Firebase') // } else { // compile fileTree(include: ['*.jar'], dir: 'libs') // compile project(":GamePotResources") // compile project(':Firebase') // } } fileTree(dir: 'libs', include: ['*.aar']) .each { File file -> // println file.name // if (GradleVersion.current() >= GradleVersion.version("4.2")) { dependencies.add("implementation", [name: file.name.lastIndexOf('.').with { it != -1 ? file.name[0..<it] : file.name }, ext: 'aar']) // } else { // dependencies.add("compile", [name: file.name.lastIndexOf('.').with { it != -1 ? file.name[0..<it] : file.name }, ext: 'aar']) // } }
Firebase関連ファイルを変更します。
- リンクからパッチファイルをダウンロードします。
- 以下のようにファイルをコピーします。
/Firebase_patch/Assets/Firebase/Editor 上記のパスのファイルを下のパスにコピー -> {unity project}/Assets/Firebase/Editor {unity project}/Assets/PlayServicesResolver/Editor 上記のパスのファイルをすべて削除し、下のパスにファイルをコピー -> /Firebase_patch/Assets/PlayServicesResolver/Editor
- /Assets/Plugins/Android/Firebase/resフォルダが作成されていない場合は、Unityを再実行します。
(Unity) NAVERラウンジ SDKの適用(NaverSDK Ver 1.1.1基準の説明)
Unity環境で NAVERラウンジ SDKを適用する方法を説明します。class duplicationエラーの場合、NAVERゲーム FAQをご参照ください。
Unityプラグインパッケージを適用する場合、navergame-sdk-1.1.1.aarファイルは含めないか、削除処理する
../Assets/NGSDK/Plugins/Android/navergame-sdk-1.1.1.aarAndroidネイティブ NAVERラウンジ SDKライブラリを搭載
../Assets/Plugins/Android/navergame-sdk-gradle-1.1.1.aarmainTemplate.gradleファイルの変更(NAVERラウンジ SDKで使用されるライブラリを追加)
dependencies { .. implementation 'androidx.multidex:multidex:2.0.1' implementation "androidx.recyclerview:recyclerview:1.2.0" implementation "androidx.viewpager2:viewpager2:1.0.0" implementation "com.squareup.retrofit2:retrofit:2.6.4" ... }
../Assets/Plugins/Android/libsフォルダで重複したライブラリを削除(削除リスト)
../Assets/Plugins/Android/libs/activity-1.0.0.aar ../Assets/Plugins/Android/libs/annotation-1.1.0.jar ../Assets/Plugins/Android/libs/collection-1.1.0.jar ../Assets/Plugins/Android/libs/core-1.3.0.aar ../Assets/Plugins/Android/libs/core-common-2.1.0.jar ../Assets/Plugins/Android/libs/core-runtime-2.0.0.aar ../Assets/Plugins/Android/libs/customview-1.0.0.aar ../Assets/Plugins/Android/libs/fragment-1.1.0.aar ../Assets/Plugins/Android/libs/lifecycle-common-2.1.0.jar ../Assets/Plugins/Android/libs/lifecycle-livedata-2.0.0.aar ../Assets/Plugins/Android/libs/lifecycle-livedata-core-2.0.0.aar ../Assets/Plugins/Android/libs/lifecycle-runtime-2.1.0.aar ../Assets/Plugins/Android/libs/lifecycle-viewmodel-2.1.0.aar ../Assets/Plugins/Android/libs/loader-1.0.0.aar ../Assets/Plugins/Android/libs/okhttp-4.9.1.jar ../Assets/Plugins/Android/libs/okio-2.8.0.jar ../Assets/Plugins/Android/libs/savedstate-1.0.0.aar ../Assets/Plugins/Android/libs/versionedparcelable-1.1.0.aar ../Assets/Plugins/Android/libs/viewpager-1.0.0.aar ../Assets/Plugins/Android/libs/retrofit-2.5.0.aar
NaverSDK Ver 1.2.Xバージョンからは、GAMEPOT SDK NAVERログインとライブラリの衝突により、NAVERログイン機能は使用できません。
NaverSDK Ver 1.3.2バージョン適用時
../Assets/Plugins/Android/libsフォルダで重複したライブラリを削除(削除リスト): この項目は、適用する環境によってビルド時に重複したライブラリを削除しなければならない場合があります。
../Assets/Plugins/Android/libs/retrofit-2.5.0.jar ../Assets/Plugins/Android/libs/vectordrawable-animated-1.1.0.aar ../Assets/Plugins/Android/libs/vectordrawable-1.1.0.aar ../Assets/Plugins/Android/libs/savedstate-1.0.0.aar ../Assets/Plugins/Android/libs/media-1.0.0.aar ../Assets/Plugins/Android/libs/browser-1.0.0.aar ../Assets/Plugins/Android/libs/appcompat-resources-1.2.0.aar ../Assets/Plugins/Android/libs/appcompat-1.2.0.aar ../Assets/Plugins/Android/libs/activity-1.0.0.aar ../Assets/Plugins/Android/libs/okio-1.14.0.jar ../Assets/Plugins/Android/libs/okhttp-3.10.0.jar
NAVERラウンジ SDKライブラリの位置変更
従来 Assets/NGSDK/Plugins/Android/navergamesdk.androidlib/libs/navergame-sdk-gradle-1.3.2.aar -> 位置変更 /Assets/Plugins/Android/navergame-sdk-gradle-1.3.2.aar
下記のパスに NaverGameDependencies.xmlファイルを作成(ファイル内容は下記の内容を参考)し、Unityで Assets > Play Services Resolver > Android Resolver > Settingsメニューのうち Use Jetifier項目を選択します。
Enable Resolution On Build / Enable Auto-Resolution / Patch gradle Template.properties項目は選択解除をした状態で Resolverを実行します。
/Assets/Firebase/Editor/NaverGameDependencies.xml<dependencies> <androidPackages> <androidPackage spec="com.squareup.retrofit2:retrofit:2.9.0"> </androidPackage> <androidPackage spec="androidx.viewpager2:viewpager2:1.0.0"> </androidPackage> </androidPackages> </dependencies>
com.naver.nid.naveridlogin-android-sdk-4.2.6.aarファイルを下記パスに入れてビルド時に含めます。
/Assets/Plugins/Android/libs/com.naver.nid.naveridlogin-android-sdk-4.2.6.aar
ダウンロード: com.naver.nid.naveridlogin-android-sdk-4.2.6.aar/Assets/NGSDK/Plugins/iOS/NCSDKUnityManager.mmファイルを編集
従来: (NSString *)getAuthSettingDescription { return NNGSDKManager.shared.authSettingDescription; } 変更: - (NSString *)getAuthSettingDescription { return NNGSDKManager.shared.authSettingDescription; }
launcherTemplate.gradleに下記の部分を追加
packagingOptions {
…..
// 20230322Add cause More than one file was found with OS independent path 'META-INF/kotlin-stdlib-common.kotlin_module'.
exclude("META-INF/*.kotlin_module") //-> 追加
...
}
(Unity) GoogleMobileAds SDKの適用(GoogleMobileAds-v6.1.2基準の説明)
AdMob SDK(Unity)の場合、Unityパッケージをインポートし、Unity Play Services Resolver機能を使用します。
Unityの Assets > Play Services Resolver > Android Resolver > Settingsメニューのうち Use Jetifier項目を選択します。
Enable Resolution On Build / Enable Auto-Resolution / Patch gradle Template.properties項目は選択解除をした状態で Resolverを実行します。
Unityの Assets > Play Services Resolver > IOS Resolver > Settingsメニューのうち、
Add use_frameworks! to podfile / Always add the main target to Podfile項目は選択解除をした状態で iOSビルドを行います。
その後、重複ライブラリエラーの場合は、2つのうち1つのライブラリを削除します。
重複するライブラリファイルリスト:
..Assets/Plugins/Android/libs/annotation-1.1.0.jar
..Assets/Plugins/Android/libs/browser-1.0.0.aar
..Assets/Plugins/Android/libs/core-common-2.1.0.jar
..Assets/Plugins/Android/libs/core-runtime-2.0.0.aar
..Assets/Plugins/Android/libs/core-1.3.0.aar
..Assets/Plugins/Android/libs/coordinatorlayout-1.0.0.aar
..Assets/Plugins/Android/libs/collection-1.1.0.jar
..Assets/Plugins/Android/libs/asynclayoutinflater-1.0.0.aar
..Assets/Plugins/Android/libs/fragment-1.1.0.aar
..Assets/Plugins/Android/libs/drawerlayout-1.0.0.aar
..Assets/Plugins/Android/libs/documentfile-1.0.0.aar
..Assets/Plugins/Android/libs/customview-1.0.0.aar
..Assets/Plugins/Android/libs/cursoradapter-1.0.0.aar
..Assets/Plugins/Android/libs/loader-1.0.0.aar
..Assets/Plugins/Android/libs/lifecycle-viewmodel-2.1.0.aar
..Assets/Plugins/Android/libs/lifecycle-runtime-2.1.0.aar
..Assets/Plugins/Android/libs/lifecycle-livedata-2.0.0.aar
..Assets/Plugins/Android/libs/lifecycle-common-2.1.0.jar
..Assets/Plugins/Android/libs/legacy-support-core-utils-1.0.0.aar
..Assets/Plugins/Android/libs/legacy-support-core-ui-1.0.0.aar
..Assets/Plugins/Android/libs/interpolator-1.0.0.aar
..Assets/Plugins/Android/libs/viewpager-1.0.0.aar
..Assets/Plugins/Android/libs/versionedparcelable-1.1.0.aar
..Assets/Plugins/Android/libs/swiperefreshlayout-1.0.0.aar
..Assets/Plugins/Android/libs/sqlite-framework-2.0.1.aar
..Assets/Plugins/Android/libs/sqlite-2.0.1.aar
..Assets/Plugins/Android/libs/slidingpanelayout-1.0.0.aar
..Assets/Plugins/Android/libs/print-1.0.0.aar
..Assets/Plugins/Android/libs/localbroadcastmanager-1.0.0.aar
..Assets/Plugins/Android/libs/lifecycle-livedata-core-2.0.0.aar
..Assets/Plugins/Android/libs/play-services-basement-17.5.0.aar
..Assets/Plugins/Android/libs/play-services-ads-identifier-17.0.0.aar
..Assets/Plugins/Android/libs/play-services-measurement-sdk-api-18.0.1.aar
..Assets/Plugins/Android/libs/play-services-measurement-impl-18.0.1.aar
..Assets/Plugins/Android/libs/play-services-measurement-base-18.0.1.aar
..Assets/Plugins/Android/libs/play-services-tasks-17.2.0.aar
..Assets/Plugins/Android/libs/play-services-measurement-18.0.1.aar
..Assets/Plugins/Android/libs/play-services-measurement-sdk-18.0.1.aar
..Assets/Plugins/Android/libs/play-services-measurement-api-18.0.1.aar
..Assets/Plugins/IOS/Frameworks/nanopb.framework
(Unity) Appsflyer/Singular SDKの適用(appsflyer-v6.3.2 /Singular -v4.3.2基準の説明)
他の SDKと同様に、UnityAppController classは、ビルドするプロジェクトで1つのファイルからのみ継承する必要があります。GAMEPOTの Unityプラグインパッケージを搭載する場合、基本的に GamePotAppDelegate.hから継承します。appsflyerや Singularのような広告ツールの場合、そのライブラリも UnityAppControllerを継承するので、GAMEPOT SDKが動作しない可能性があります。
1つのファイルからのみ継承するように変更して使用する必要があります。変更する2つの方法は次の通りです。
直接変更する方法
以下のファイルをダウンロードし、以下のように変更します。
<変更ファイル>
appsflyer-v6.3.2基準パッチ
Singular-v4.3.2基準パッチ
- Assets > Plugins > IOS > Sourceにある GamePotAppDelegate.h変更ファイルの内容とおりに変更
- appsflyerの場合:
(a) AppsFlyerAppController.mmをコピーして AppsFlyerAppController.hファイルを作成
(b) AppsFlyerAppController.h、AppsFlyerAppController.mm変更ファイルの内容とおりに変更 - Singularの場合:
(a) SingularAppDelegate.mmをコピーして SingularAppDelegate.hファイルを作成
(b) SingularAppDelegate.h、SingularAppDelegate.mm変更ファイルの内容とおりに変更
当該ファイルをダウンロードしてプロジェクトに Importする方法
以下のファイルをダウンロードし、プロジェクトに Importします。
<Unity importファイル>
appsflyer-v6.3.2
Singular-v4.3.2
(Unity) Firebase SDKを別途適用する場合
Firebase Unity 11.6.0以前基準の説明
Unityエディタバージョンが2019.X未満のバージョンである場合、先に下記のパッチを実行します。
パッチのダウンロード: パッチのダウンロード
[フォルダおよびファイルの置き換え]
../Assets/ExternalDependencyManager
../Assets/Firebase
- Firebaseライブラリの置き換えに伴うフォルダ名の変更
従来: ../Assets/Plugins/Android/Firebase
変更: ../Assets/Plugins/Android/FirebaseApp.androidlib
- mainTemplate.gradleの編集(フォルダ名の変更に伴う編集)
従来:
dependencies {
...
implementation project('Firebase')
変更:
dependencies {
...
implementation project('FirebaseApp.androidlib')
...
- GAMEPOT Unityプラグインパッケージには一部 Firebase SDKがあり、別途 Firebase SDKを搭載するとライブラリの重複によるエラーが発生します。
Firebase Unity SDK(FirebaseAnalytics.unitypackage / FirebaseMessaging.unitypackage + 追加しようとする Firebase SDK)をインポートし、Unity Play Services Resolver機能を使用する必要があります。
Unityの Assets > Play Services Resolver > Android Resolver > Settingsメニューのうち Use Jetifier項目を選択します。
Enable Resolution On Build / Enable Auto-Resolution / Patch gradle Template.properties項目は選択解除をした状態で Resolverを実行します。
Unityの Assets > Play Services Resolver > IOS Resolver > Settingsメニューのうち、Add use_frameworks! to podfile / Always add the main target to Podfile項目は選択解除した状態で iOSビルドを行います。
- 重複するライブラリファイルの削除が必要:
../Assets/Plugins/Android/libs/viewpager-1.0.0.aar
../Assets/Plugins/Android/libs/versionedparcelable-1.1.0.aar
../Assets/Plugins/Android/libs/transport-runtime-2.2.5.aar
../Assets/Plugins/Android/libs/transport-backend-cct-2.3.3.aar
../Assets/Plugins/Android/libs/transport-api-2.2.1.aar
../Assets/Plugins/Android/libs/swiperefreshlayout-1.0.0.aar
../Assets/Plugins/Android/libs/slidingpanelayout-1.0.0.aar
../Assets/Plugins/Android/libs/print-1.0.0.aar
../Assets/Plugins/Android/libs/play-services-tasks-17.2.0.aar
../Assets/Plugins/Android/libs/play-services-stats-17.0.0.aar
../Assets/Plugins/Android/libs/play-services-measurement-sdk-api-18.0.1.aar
../Assets/Plugins/Android/libs/play-services-measurement-sdk-18.0.1.aar
../Assets/Plugins/Android/libs/play-services-measurement-impl-18.0.1.aar
../Assets/Plugins/Android/libs/play-services-measurement-base-18.0.1.aar
../Assets/Plugins/Android/libs/play-services-measurement-api-18.0.1.aar
../Assets/Plugins/Android/libs/play-services-measurement-18.0.1.aar
../Assets/Plugins/Android/libs/play-services-cloud-messaging-16.0.0.aar
../Assets/Plugins/Android/libs/play-services-basement-17.5.0.aar
../Assets/Plugins/Android/libs/play-services-base-17.5.0.aar
../Assets/Plugins/Android/libs/play-services-ads-identifier-17.0.0.aar
../Assets/Plugins/Android/libs/localbroadcastmanager-1.0.0.aar
../Assets/Plugins/Android/libs/loader-1.0.0.aar
../Assets/Plugins/Android/libs/lifecycle-viewmodel-2.1.0.aar
../Assets/Plugins/Android/libs/lifecycle-runtime-2.1.0.aar
../Assets/Plugins/Android/libs/lifecycle-livedata-core-2.0.0.aar
../Assets/Plugins/Android/libs/lifecycle-livedata-2.0.0.aar
../Assets/Plugins/Android/libs/lifecycle-common-2.1.0.jar
../Assets/Plugins/Android/libs/legacy-support-core-utils-1.0.0.aar
../Assets/Plugins/Android/libs/legacy-support-core-ui-1.0.0.aar
../Assets/Plugins/Android/libs/javax.inject-1.jar
../Assets/Plugins/Android/libs/interpolator-1.0.0.aar
../Assets/Plugins/Android/libs/fragment-1.1.0.aar
../Assets/Plugins/Android/libs/firebase-messaging-21.0.1.aar
../Assets/Plugins/Android/libs/firebase-measurement-connector-18.0.0.aar
../Assets/Plugins/Android/libs/firebase-installations-interop-16.0.1.aar
../Assets/Plugins/Android/libs/firebase-installations-16.3.5.aar
../Assets/Plugins/Android/libs/firebase-iid-interop-17.0.0.aar
../Assets/Plugins/Android/libs/firebase-iid-21.0.1.aar
../Assets/Plugins/Android/libs/firebase-encoders-json-17.1.0.aar
../Assets/Plugins/Android/libs/firebase-encoders-16.1.0.jar
../Assets/Plugins/Android/libs/firebase-datatransport-17.0.10.aar
../Assets/Plugins/Android/libs/firebase-core-18.0.1.aar
../Assets/Plugins/Android/libs/firebase-components-16.1.0.aar
../Assets/Plugins/Android/libs/firebase-common-19.5.0.aar
../Assets/Plugins/Android/libs/firebase-annotations-16.0.0.jar
../Assets/Plugins/Android/libs/firebase-analytics-18.0.1.aar
../Assets/Plugins/Android/libs/drawerlayout-1.0.0.aar
../Assets/Plugins/Android/libs/documentfile-1.0.0.aar
../Assets/Plugins/Android/libs/customview-1.0.0.aar
../Assets/Plugins/Android/libs/cursoradapter-1.0.0.aar
../Assets/Plugins/Android/libs/core-runtime-2.0.0.aar
../Assets/Plugins/Android/libs/core-common-2.1.0.jar
../Assets/Plugins/Android/libs/core-1.3.0.aar
../Assets/Plugins/Android/libs/coordinatorlayout-1.0.0.aar
../Assets/Plugins/Android/libs/collection-1.1.0.jar
../Assets/Plugins/Android/libs/asynclayoutinflater-1.0.0.aar
../Assets/Plugins/Android/libs/annotation-1.1.0.jar
../Assets/Plugins/IOS/Frameworks/nanopb.framework
../Assets/Plugins/IOS/Frameworks/FirebaseNanoPB.framework
../Assets/Plugins/IOS/Frameworks/FirebaseMessaging.framework
../Assets/Plugins/IOS/Frameworks/FirebaseInstanceID.framework
../Assets/Plugins/IOS/Frameworks/FirebaseCoreDiagnostics.framework
../Assets/Plugins/IOS/Frameworks/FirebaseCore.framework
../Assets/Plugins/IOS/Frameworks/FirebaseAnalytics.framework
- ../Assets/Plugins/Android/AndroidManifest.xml内 FCM関連コードが適用されているか確認
....
</activity>
<!-- FCM [start]-->
<service
android:exported="false"
android:name="io.gamepot.common.GamePotFCMIDService">
<intent-filter>
<action android:name="com.google.firebase.INSTANCE_ID_EVENT"/>
</intent-filter>
</service>
<service
android:exported="false"
android:name="io.gamepot.common.GamePotFCMService">
<intent-filter>
<action android:name="com.google.firebase.MESSAGING_EVENT"/>
</intent-filter>
</service>
<!-- FCM [End]-->
...
<meta-data android:name="android.max_aspect" android:value="2.1" />
- Firebase Unity 9.4.0以降を適用する場合、iOSビルド時の追加での変更作業
Unityエディタで iOSビルド後に出た結果から、Podfileファイルを見つけて以下のように編集(他のライブラリがある場合、:modular_headers -> true部分を追加)
Firebase / FirebaseCore / GoogleUtilitiesは例のように追加します。
例)
[従来]
...
target 'UnityFramework' do
pod 'Firebase/Analytics', '9.4.0'
pod 'Firebase/Core', '9.4.0'
pod 'Firebase/Messaging', '9.4.0'
end
[変更]
target 'UnityFramework' do
pod 'Firebase/Analytics', '9.4.0' , :modular_headers => true
pod 'Firebase/Core', '9.4.0' , :modular_headers => true
pod 'Firebase/Messaging', '9.4.0' , :modular_headers => true
pod 'Firebase', :modular_headers => true
pod 'FirebaseCore', :modular_headers => true
pod 'GoogleUtilities', :modular_headers => true
end
ターミナルオープン後に、Podfileファイルのあるパスに移動して pod installコマンドを実行し、Unity-iPhone.xcworkspaceファイルが作成されたら、そのプロジェクトでビルドを行う
$ pod install
Firebase Unity 11.6.0以降基準の説明
GAMEPOTバージョンが3.5.3以前の場合、まず3.6.3のパッチを適用してください
ダウンロード: パッチのダウンロード
gamepotGuide-Gamepot v3.6.0.pdfをご参照ください。
- GAMEPOT Unityプラグインパッケージには一部 Firebase SDKがあり、別途 Firebase SDKを搭載するとライブラリの重複によるエラーが発生します。
Firebase Unity SDK(FirebaseAnalytics.unitypackage / FirebaseMessaging.unitypackage + 追加しようとする Firebase SDK)をインポートし、Unity Play Services Resolver機能を使用する必要があります。
[Android]
a. Unityの Assets > Play Services Resolver > Android Resolver > Settingsメニューのうち Use Jetifier項目を選択
b. Enable Resolution On Build / Enable Auto-Resolution / Patch gradle Template.properties項目は選択解除をした状態で Resolverを実行
[iOS]
a. Unityの Assets > Play Services Resolver > IOS Resolver > Settingsメニューのうち、Add use_frameworks! to podfile / Always add the main target to Podfile項目は選択解除した状態で iOSビルドを行う
- 重複するライブラリファイルの削除が必要
- 重複エラーの例
Duplicate class android.support.v4.app.RemoteActionCompatParcelizer found in modules jetified-androidx.core.core-1.9.0-runtime (:androidx.core.core-1.9.0:) and jetified-core-1.3.2-runtime (:core-1.3.2:)
- 重複するライブラリリスト
[Android/libs/..]
annotations-13.0.jar
core-1.3.2.aar
core-ktx-1.3.2.aar
annotation-experimental-1.0.0.aar
core-runtime-2.1.0.aar
core-common-2.1.0.jar
collection-1.1.0.jar
customview-1.0.0.aar
documentfile-1.0.0.aar
fragment-1.3.0.aar
lifecycle-common-2.3.0.jar
lifecycle-livedata-2.0.0.aar
legacy-support-core-utils-1.0.0.aar
loader-1.0.0.aar
print-1.0.0.aar
versionedparcelable-1.1.0.aar
viewpager-1.0.0.aar
lifecycle-livedata-2.0.0.aar
lifecycle-runtime-2.3.0.aar
localbroadcastmanager-1.0.0.aar
transport-api-3.0.0.aar
transport-backend-cct-3.1.7.aar
transport-runtime-3.1.7.aar
play-services-cloud-messaging-16.0.0.aar
play-services-base-18.0.1.aar
play-services-basement-18.1.0.aar
play-services-ads-identifier-17.0.0.aar
play-services-measurement-18.0.1.aar
play-services-measurement-sdk-api-18.0.1.aar
play-services-measurement-base-18.0.1.aar
play-services-measurement-api-18.0.1.aar
play-services-measurement-impl-18.0.1.aar
play-services-measurement-sdk-18.0.1.aar
play-services-stats-17.0.2.aar
play-services-tasks-18.0.1.aar
firebase-analytics-18.0.1.aar
firebase-annotations-16.1.0.jar
firebase-common-20.1.2.aar
firebase-components-17.0.1.aar
firebase-measurement-connector-19.0.0.aar
firebase-datatransport-18.1.6.aar
firebase-encoders-17.0.0.jar
firebase-encoders-json-18.0.0.aar
firebase-encoders-proto-16.0.0.jar
firebase-iid-21.1.0.aar
firebase-iid-interop-17.1.0.aar
firebase-installations-17.0.2.aar
firebase-installations-interop-17.0.2.aar
firebase-messaging-23.0.8.aar
jsr305-3.0.1.jar
javax.inject-1.jar
kotlin-stdlib-1.5.31.jar
kotlin-stdlib-common-1.5.31.jar
kotlin-stdlib-jdk7-1.5.31.jar
kotlin-stdlib-jdk8-1.5.31.jar
[Android/..]
androidx.activity.activity-1.0.0.aar
androidx.lifecycle.lifecycle-viewmodel-2.1.0.aar
androidx.lifecycle.lifecycle-livedata-core-2.0.0.aar
androidx.savedstate.savedstate-1.0.0.aar
- ../Assets/Plugins/Android/baseProjectTemplateの内容を追加
plugins {
...
// Add the dependency for the Crashlytics Gradle plugin
id 'com.google.firebase.crashlytics' version "2.9.9" apply false
...
<meta-data android:name="android.max_aspect" android:value="2.1" />
- ../Assets/Plugins/Android/gradleTemplateに以下の内容が含まれているか確認
org.gradle.jvmargs=-Xmx**JVM_HEAP_SIZE**M
org.gradle.parallel=true
unityStreamingAssets=**STREAMING_ASSETS**
# Android Resolver Properties Start
android.useAndroidX=true
android.enableJetifier=true
# Android Resolver Properties End
**ADDITIONAL_PROPERTIES**
android.useAndroidX=true
android.enableJetifier=true
- ./Assets/Plugins/Android/launcherTemplateに以下の内容を追加
// Add the Crashlytics Gradle plugin
apply plugin: 'com.google.firebase.crashlytics'
dependencies {
...
android {
...
packagingOptions {
...
exclude 'META-INF/kotlinx_coroutines_core.version'
}
}
- ./Assets/Plugins/Android/mainTemplateに以下の内容を追加
android {
...
packagingOptions {
exclude 'META-INF/kotlinx_coroutines_core.version'
}
}
- ../Assets > Plugins > Andoirdに settingsTemplateを追加し、以下の内容を入力
pluginManagement {
repositories {
**ARTIFACTORYREPOSITORY**
gradlePluginPortal()
google()
mavenCentral()
}
}
include ':launcher', ':unityLibrary'
**INCLUDES**
dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.PREFER_SETTINGS)
repositories {
**ARTIFACTORYREPOSITORY**
google()
mavenCentral()
flatDir {
dirs "${project(':unityLibrary').projectDir}/libs"
}
}
}
(Unity) Unityエディタオプションのうち、minifyを使用する場合
GAMEPOTに関連して、Proguard Fileで GAMEPOT関連の内容をすべて例外処理する必要があります。
Build Settings > Player Settings > Player > Publishing Settings > Buildメニューの Custom Proguard File設定にチェックを入れ、
下記内容を、使用するライブラリに応じて追加で定義して使用します。
下記内容:
-keep class io.gamepot.common.GamePot { *; }
-keep class io.gamepot.common.GamePotAppStatus { *; }
-keep class io.gamepot.common.GamePotError { *; }
-keep class io.gamepot.common.GamePotLicenseRestfulRequest { *; }
-keep class io.gamepot.common.GamePotLog { *; }
-keep class io.gamepot.common.GamePotSharedPref { *; }
-keep class io.gamepot.common.GamePotPurchaseDetailList { *; }
-keep class io.gamepot.common.GamePotAgreeBuilder { *; }
-keep class io.gamepot.common.GamePotAgreeInfo { *; }
-keep class io.gamepot.common.GamePotLocalPushBuilder { *; }
-keep class io.gamepot.common.GamePotNoticeDialog { *; }
-keep class io.gamepot.common.GamePotChat { *; }
-keep class io.gamepot.common.GamePotChatMessage { *; }
-keep class io.gamepot.common.GamePotLocale { *; }
-keep class io.gamepot.common.GamePotPurchaseInfo { ; }
-keep class io.gamepot.common.GamePotUtils { ; }
-keep class io.gamepot.common.LinkingsQuery$ { ; }
-keep class io.gamepot.common.GamePotPermission { ; }
-keep public interface io.gamepot.common. {;}
-keep class io.gamepot.unity.plugin.GamePotUnityPlugin$SDK { *; }
-keep class com.google.firebase.FirebaseApp { *; }
-keep class io.gamepot.channel.** { *; }
-keep class io.gamepot.channel.google.signin { *; }
-keep class com.google.firebase.iid { *; }
-keep class com.android.billingclient { *; }
-keep class com.android.billingclient.api { *; }
-keep class com.google.gms.** {*;}
-keep class com.google.android.gms.auth.** { *; }
-keep class com.gaa.sdk.iap.** { ; }
-keep class com.gaa.iap.sdk.unity.* { *; }
-keep class com.samsung.android { *; }
-dontwarn com.samsung.**
android、targetsdkversion 31以降にした場合、以下のエラーと共にアプリがインストールされない問題
例)
Failure [INSTALL_PARSE_FAILED_MANIFEST_MALFORMED: Failed parse during installPackageLI: /data/app/XXXXXXXX.tmp/base.apk (at Binary XML file line #445): io.gamepot.common.GamePotFCMIDService: Targeting S+ (version 31 and above) requires that an explicit value for android:exported be defined when intent filters are present]
AndroidManifest.xml内 android: exported定義をします。
以下の文言を追加します。他に activty / service / receiverを使用することがある場合、その部分にも関連用途に合わせて定義します。
<例>
<service
android:exported="false"
android:name="io.gamepot.common.GamePotFCMIDService">
<intent-filter>
<action android:name="com.google.firebase.INSTANCE_ID_EVENT"/>
</intent-filter>
</service>
<service
android:exported="false"
android:name="io.gamepot.common.GamePotFCMService">
<intent-filter>
<action android:name="com.google.firebase.MESSAGING_EVENT"/>
</intent-filter>
</service>
<!-- ELSAサービスを使用しない場合は、下記の文言は削除 / gamepot-logger.aarがビルド時に含まれないように行う[start]-->
<receiver
android:exported="false"
android:name="com.navercorp.nelo2.android.util.NetworkStatusReceiver">
<intent-filter>
<action android:name="android.net.conn.CONNECTIVITY_CHANGE"/>
</intent-filter>
</receiver>
<!-- ELSAサービスを使用しない場合は、下記の文言は削除 / gamepot-logger.aarがビルド時に含まれないように行う[end]-->
<!-- NAVERログインを使用しない場合は、下記の文言は削除 [start]-->
<activity android:exported="true" android:configChanges="orientation|screenSize" android:launchMode="singleTask" android:name="com.nhn.android.naverlogin.ui.OAuthCustomTabActivity" android:theme="@android:style/Theme.Translucent.NoTitleBar">
<intent-filter>
<action android:name="android.intent.action.VIEW"/>
<category android:name="android.intent.category.DEFAULT"/>
<category android:name="android.intent.category.BROWSABLE"/>
<data android:host="authorize" android:path="/" android:scheme="naver3rdpartylogin"/>
</intent-filter>
</activity>
<!-- NAVERログインを使用しない場合は、下記の文言は削除 [end]-->
Unrealの場合
Engine/Source/Programs/UnrealBuildTool/Platform/Android/UEDeployAndroid.cs内の GenerateManifest() 関数で Manifestを作るコンテキストを把握し、下記のコードを追加します。
例)
.......
// GAMEPOT関連タグを追加[start]
Text.AppendLine("\t\t<service android:exported=\"false\" android:name=\"io.gamepot.common.GamePotFCMIDService\">");
Text.AppendLine("\t\t <intent-filter>");
Text.AppendLine("\t\t <action android:name=\"com.google.firebase.INSTANCE_ID_EVENT\"/>");
Text.AppendLine("\t\t </intent-filter>");
Text.AppendLine("\t\t</service>");
Text.AppendLine("\t\t<service android:exported=\"false\" android:name=\"io.gamepot.common.GamePotFCMService\">");
Text.AppendLine("\t\t <intent-filter>");
Text.AppendLine("\t\t <action android:name=\"com.google.firebase.MESSAGING_EVENT\"/>");
Text.AppendLine("\t\t </intent-filter>");
Text.AppendLine("\t\t</service>");
// GAMEPOT関連タグを追加[end]
.......
// Required for OBB download support
Facebookログインを使用する際に Pending Intentエラーが発生した場合
GAMEPOT SDK 3.5.3バージョンには反映された事項です。 それ以前のバージョンを利用する場合、ご確認ください。
[GAMEPOT SDK V3.4.2基準]
V3.4.2バージョンに SDKをアップグレードした後、以下の重複するライブラリファイルを置き換えるか、削除します。これは使うバージョンによって異なる場合があります。gradle内で設定する環境変数の違いがあるので、以下の内容をご確認ください。
当該内容を必ず追加で入力します。
resValue "string", "facebook_client_token", "" // Facebookコンソール > アプリ > 設定 > 高度な設定 > クライアントトークン optional (facebook)
[unityパッチ]
関連の修正パッチ: ダウンロード
削除: GAMEPOT SDK 3.4.2基準パッチ事項(GAMEPOT適用時点によっては、追加で重複ライブラリの削除が必要な場合があります。)
../Assets/Plugins/Android/libs/activity-1.0.0.aar
../Assets/Plugins/Android/libs/core-1.3.0.aar
../Assets/Plugins/Android/libs/core-runtime-2.0.0.aar
../Assets/Plugins/Android/libs/facebook-android-sdk-8.2.0.aar
../Assets/Plugins/Android/libs/facebook-applinks-8.2.0.aar
../Assets/Plugins/Android/libs/facebook-common-8.2.0.aar
../Assets/Plugins/Android/libs/facebook-core-8.2.0.aar
../Assets/Plugins/Android/libs/facebook-gamingservices-8.2.0.aar
../Assets/Plugins/Android/libs/facebook-login-8.2.0.aar
../Assets/Plugins/Android/libs/facebook-messenger-8.2.0.aar
../Assets/Plugins/Android/libs/facebook-share-8.2.0.aar
../Assets/Plugins/Android/libs/kotlin-stdlib-common-1.3.31.jar
../Assets/Plugins/Android/libs/kotlin-stdlib-1.3.31.jar
../Assets/Plugins/Android/libs/kotlin-stdlib-jdk7-1.3.31.jar
../Assets/Plugins/Android/libs/lifecycle-common-2.1.0.jar
../Assets/Plugins/Android/libs/lifecycle-livedata-core-2.0.0.aar
../Assets/Plugins/Android/libs/lifecycle-runtime-2.1.0.aar
../Assets/Plugins/Android/libs/lifecycle-viewmodel-2.1.0.aar
../Assets/Plugins/Android/libs/okhttp-3.10.0.jar
../Assets/Plugins/Android/libs/okio-1.14.0.jar
../Assets/Plugins/Android/libs/savedstate-1.0.0.aar
追加および置き換え:
../Assets/Plugins/Android/libs/gamepot-channel-facebook.aar
../Assets/Plugins/Android/libs/activity-1.2.0.aar
../Assets/Plugins/Android/libs/annotation-experimental-1.0.0.aar
../Assets/Plugins/Android/libs/converter-gson-2.5.0.jar
../Assets/Plugins/Android/libs/core-1.3.2.aar
../Assets/Plugins/Android/libs/core-ktx-1.3.2.aar
../Assets/Plugins/Android/libs/core-runtime-2.1.0.aar
../Assets/Plugins/Android/libs/facebook-android-sdk-13.2.0.aar
../Assets/Plugins/Android/libs/facebook-applinks-13.2.0.aar
../Assets/Plugins/Android/libs/facebook-bolts-13.2.0.aar
../Assets/Plugins/Android/libs/facebook-common-13.2.0.aar
../Assets/Plugins/Android/libs/facebook-core-13.2.0.aar
../Assets/Plugins/Android/libs/facebook-gamingservices-13.2.0.aar
../Assets/Plugins/Android/libs/facebook-login-13.2.0.aar
../Assets/Plugins/Android/libs/facebook-messenger-13.2.0.aar
../Assets/Plugins/Android/libs/facebook-share-13.2.0.aar
../Assets/Plugins/Android/libs/kotlin-stdlib-1.5.10.jar
../Assets/Plugins/Android/libs/kotlin-stdlib-common-1.5.10.jar
../Assets/Plugins/Android/libs/kotlin-stdlib-jdk7-1.5.10.jar
../Assets/Plugins/Android/libs/kotlin-stdlib-jdk8-1.5.10.jar
../Assets/Plugins/Android/libs/lifecycle-common-2.3.0.jar
../Assets/Plugins/Android/libs/lifecycle-livedata-core-2.3.0.aar
../Assets/Plugins/Android/libs/lifecycle-runtime-2.3.0.aar
../Assets/Plugins/Android/libs/lifecycle-viewmodel-2.3.0.aar
../Assets/Plugins/Android/libs/lifecycle-viewmodel-savedstate-2.3.0.aar
../Assets/Plugins/Android/libs/okhttp-4.9.1.jar
../Assets/Plugins/Android/libs/okio-2.8.0.jar
../Assets/Plugins/Android/libs/pageindicatorview-1.0.0.aar
../Assets/Plugins/Android/libs/retrofit-2.5.0.jar
../Assets/Plugins/Android/libs/savedstate-1.1.0.aar
../Assets/Plugins/Android/libs/tracing-1.0.0.aar
[Unrealパッチ]
関連の修正パッチ: ダウンロード
- 修正パッチファイル(gamepot-channel-facebook.aar)を置き換え
- GamePot_Android_UPL.xmlファイル内の facebook関連バージョンを変更
…
<insertValue value="com.facebook.android,facebook-android-sdk,13.2.0"/>
…
implementation 'com.facebook.android:facebook-android-sdk:13.2.0'
…
resValue "string", "facebook_client_token", "" // Facebookコンソール > アプリ > 設定 > 高度な設定 > クライアントトークン optional (facebook)
[Android Nativeパッチ]
関連の修正パッチ: ダウンロード
- 修正パッチファイル(gamepot-channel-facebook.aar)を置き換え
- build.gradle内の facebook関連バージョンを変更し、環境変数を追加
dependencies {
...
implementation 'com.facebook.android:facebook-android-sdk:13.2.0'
defaultConfig {
....
resValue "string", "facebook_client_token", "" // Facebookコンソール > アプリ > 設定 > 高度な設定 > クライアントトークン optional (facebook)
Unity firebase Message Intentエラーが発生した場合
関連の修正パッチ: ダウンロード
[削除]
../Assets/Plugins/Android/libs/firebase-annotations-16.0.0.jar
../Assets/Plugins/Android/libs/firebase-common-19.5.0.aar
../Assets/Plugins/Android/libs/firebase-components-16.1.0.aar
../Assets/Plugins/Android/libs/firebase-datatransport-17.0.10.aar
../Assets/Plugins/Android/libs/firebase-encoders-16.1.0.jar
../Assets/Plugins/Android/libs/firebase-encoders-json-17.1.0.aar
../Assets/Plugins/Android/libs/firebase-iid-21.0.1.aar
../Assets/Plugins/Android/libs/firebase-iid-interop-17.0.0.aar
../Assets/Plugins/Android/libs/firebase-installations-16.3.5.aar
../Assets/Plugins/Android/libs/firebase-installations-interop-16.0.1.aar
../Assets/Plugins/Android/libs/firebase-measurement-connector-18.0.0.aar
../Assets/Plugins/Android/libs/firebase-messaging-21.0.1.aar
../Assets/Plugins/Android/libs/play-services-base-17.5.0.aar
../Assets/Plugins/Android/libs/play-services-basement-17.5.0.aar
../Assets/Plugins/Android/libs/play-services-stats-17.0.0.aar
../Assets/Plugins/Android/libs/play-services-tasks-17.2.0.aar
../Assets/Plugins/Android/libs/transport-api-2.2.1.aar
../Assets/Plugins/Android/libs/transport-backend-cct-2.3.3.aar
../Assets/Plugins/Android/libs/transport-runtime-2.2.5.aar
[追加]
../Assets/Plugins/Android/libs/firebase-annotations-16.1.0.jar
../Assets/Plugins/Android/libs/firebase-common-20.1.2.aar
../Assets/Plugins/Android/libs/firebase-components-17.0.1.aar
../Assets/Plugins/Android/libs/firebase-datatransport-18.1.6.aar
../Assets/Plugins/Android/libs/firebase-encoders-17.0.0.jar
../Assets/Plugins/Android/libs/firebase-encoders-json-18.0.0.aar
../Assets/Plugins/Android/libs/firebase-encoders-proto-16.0.0.jar
../Assets/Plugins/Android/libs/firebase-iid-21.1.0.aar
../Assets/Plugins/Android/libs/firebase-iid-interop-17.1.0.aar
../Assets/Plugins/Android/libs/firebase-installations-17.0.2.aar
../Assets/Plugins/Android/libs/firebase-installations-interop-17.0.2.aar
../Assets/Plugins/Android/libs/firebase-measurement-connector-19.0.0.aar
../Assets/Plugins/Android/libs/firebase-messaging-23.0.8.aar
../Assets/Plugins/Android/libs/play-services-base-18.0.1.aar
../Assets/Plugins/Android/libs/play-services-basement-18.1.0.aar
../Assets/Plugins/Android/libs/play-services-stats-17.0.2.aar
../Assets/Plugins/Android/libs/play-services-tasks-18.0.1.aar
../Assets/Plugins/Android/libs/transport-api-3.0.0.aar
../Assets/Plugins/Android/libs/transport-backend-cct-3.1.7.aar
../Assets/Plugins/Android/libs/transport-runtime-3.1.7.aar
Android OS 13機器でプッシュ設定できない場合
Android OS 13からは、プッシュ通知を表記するために android.permission.POST_NOTIFICATIONS パーミッション権限を取得する必要があります。Targetsdk 31のバージョンでビルドされた場合、アプリがフォアグラウンド状態でプッシュを受信した時に、OSが独自に1回、権限の取得に関する案内ポップアップを表示しています。
android.permission.POST_NOTIFICATIONS パーミッション権限を取得する機能は、GAMEPOT SDKではサポートしていません。
関連機能は、開発会社において特定の時点(例: 約款への同意完了時点またはアプリの初回実行時点)で、android.permission.POST_NOTIFICATIONS 権限を取得するように開発する必要があります。ユーザーが拒否した場合、アプリの設定で手動で通知権限を有効化しない限り、プッシュ通知が表記されないことを案内する必要があります。
GAMEPOT SDKで収集する個人情報のタイプ
Google Play Storeアプリコンテンツ項目の基準
アプリの通信は HTTPS通信方式で暗号化されています。会員退会機能がある場合、会員退会が完了すると会員情報を削除します。アプリ機能項目にチェックを入れます。ただし、アプリの機能的要素としてのみ使用され、アカウント管理機能は使用しません。
個人情報
- メールアドレス
- ユーザー ID
機器またはその他の ID
- 機器またはその他の ID
写真および動画
- 写真
- 動画
App Storeアプリが収集する個人情報項目の基準
- 識別子
- ユーザー ID(アカウント情報)
- 機器 ID(IDFA、auto generated)
- 購入項目
- ユーザーコンテンツ
- 写真またはビデオ
- カスタマーサポート
ユーザーコンテンツは、GAMEPOT PRO以上の商品を利用する顧客のうち、GAMEPOTのお問い合わせ UIを使用する場合に該当します。オブジェクトストレージ機能を使用すると、お問い合わせに画像ファイルをアップロードできます。
Xcode 16バージョンでビルド時、iOS 18でログインするとクラッシュが発生する現象に対するアップデートのご案内
iOS 18正式版のクラッシュ問題発生に対する GAMEPOT v3.6.2のリリースに関するご案内です。
この問題は、iOS 18正式版のアップデートにより動作方法が変更されたことが原因と思われます。Unityと iOS Nativeにアップデートされた GAMEPOT v3.6.2バージョンを適用すると上記の問題は解決しますので、必ず GAMEPOT v3.6.2バージョンを適用してください。
既に使用中の GAMEPOTバージョンがある場合は、適用前にお問い合わせください。
確認されたエラー
Thread 1: "View was already initialized: <GamePotAgreeView: 0x11651af80; frame = (0 0; 0 0); layer = <CALayer: 0x3030d9640>>"
GAMEPOTが提供する約款同意ポップアップ機能自体に問題はありませんが、iOS 18の正式版の変更された環境で予期せず発生します。
- 発生頻度: このクラッシュは、Xcode 16バージョンでビルドして、デバイスバージョンが iOS 18の場合にのみ発生するもので、例外なく必ず発生します。
iOS 18以前のバージョンでは問題なく動作し、 iOS 18 Betaでも発生していません。
発生ケース
問題が発生する部分は、約款同意ポップアップ部分で発生し、ログイン時にフリーズ現象が発生します。GAMEPOTが提供する約款同意ポップアップ機能自体は問題はありませんが、iOS 18の正式版の変更された環境で予期せず発生した問題です。
発生条件
- Xcode 16
- iOS 18
- GAMEPOTが提供する約款同意 UI GamePot.setAgreeInfoを使用
- GAMEPOT独自の約款(GamePot.setAgreeInfo)を使用しない場合、このエラーは発生しません。
- SetAutoAgreeを falseに設定した状態で、xcode 16 / iOS 18では正常に動作します。
Unity SDK / iOS SDKの適用
- Unity SDK
このセクションでは、Unity Gamepot SDK v3.6.2の適用方法を説明します。
[Unity SDKのダウンロード]
以下の手順に従って、Unityパッケージをプロジェクトにインポートします。
- Unityで、Assets > Import Package > **Custom Package…**メニューをクリックします。
- ダウンロードした GAMEPOT_UNITY_SDK_20240925_362.unitypackageを開きます。
- Import Unity Packageポップアップが表示されたらパッケージ内のすべたの項目にチェックを入れ、Importします。
- iOS SDK
このセクションでは、iOS Native Gamepot SDK v3.6.2の適用方法を説明します。
[iOS SDKのダウンロード ]
GAMEPOT iOS SDKをインストールし、Xcodeでプロジェクトを構成する方法は、次の通りです。
- ファイルをクリックしてダウンロードします。
- Xcodeを実行し、ゲームプロジェクトを開きます。
- ダウンロードした SDKファイルの圧縮を展開し、作成したプロジェクトのフォルダにドラッグ&ドロップします。