--- title: "Troubleshooting" slug: "game-troubleshooting" tags: ["GAMEPOT", "GAMEPOT 2.0"] updated: 2026-09-17T09:07:47Z published: 2026-09-17T09:07:47Z canonical: "guide.ncloud-docs.com/game-troubleshooting" stale: true --- > ## Documentation Index > Fetch the complete documentation index at: https://guide.ncloud-docs.com/llms.txt > Use this file to discover all available pages before exploring further. # Troubleshooting Classic/VPC 환경에서 이용 가능합니다. ## 64-bit 환경에서 빌드할 때 네아로(네이버 아이디 로그인) 시도 시 크래시 발생 (API 28 이상의 Android 빌드) 1. `AndroidManifest.xml` 파일에 다음 코드를 추가해 주십시오. ``` // TODO : 태그 안에 넣어주십시오. ... ... ``` - Unity의 경우, /Assets/Plugins/Android/AndroidManifest.xml를 수정 참고 해당 부분이 패치된 라이브러리의 교체로 대신할 수 있습니다. [gamepot-channel-naver.aar](https://cdn.document360.io/6998976f-9d95-4df8-b847-d375892b92c2/Images/Documentation/gamepot-channel-naver.aar?sv=2026-02-06&spr=https&st=2026-11-14T06%3A18%3A32Z&se=2026-11-14T07%3A18%3A32Z&sr=c&sp=r&sig=Fv7Nf5xkzfRGGwWQs96V0w7R3DQc5x2JrtqoQvanhxI%3D) ## 플레이 스토어 APK 업로드 시 com.nhncorp.nelo2.android.util 암호화 패턴 보안 알림 발생 게임팟 SDK 3.3.0 부터는 nelo2-android-sdk-https-0.12.0.aar / nelo2-android-sdk-common-0.12.0.aar 가 탑재되어 있으며 위 이슈는 해결이 되었습니다. 다만 변경된 네이버 클라우드 ELSA 라이브러리로 인해 minSDK 버전이 19이상으로 해야 합니다. **[게임팟 SDK 3.2.0 이하 버전 기준]** 1. logging 기능 관련 라이브러리가 obsolete여서 발생하는 문제 2. (대시보드 로그 기능을 사용하지 않을 경우) 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 파일 위치로 이동 후 아래 명령어를 하나씩 입력해 주십시오. 허용되지 않은 아키텍쳐를 제거하는 코드입니다. ``` 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 파일 위치로 이동 후 아래 명령어를 하나씩 입력해 주십시오. 허용되지 않은 아키텍쳐를 제거하는 코드입니다. ``` 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 빌드 이슈 1. `mainTemplate.gradle` 파일을 아래와 같이 수정해 주십시오. ``` // 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.. {unity project}/Assets/Firebase/Editor {unity project}/Assets/PlayServicesResolver/Editor 위 경로의 파일을 모두 삭제 후 아래 경로에 파일을 복사 -> /Firebase_patch/Assets/PlayServicesResolver/Editor ``` 3. /Assets/Plugins/Android/Firebase/res 폴더가 생성되지 않았다면 Unity 다시 실행해 주십시오. ## (Unity) 네이버 라운지 SDK 적용 ( NaverSDK Ver 1.1.1 기준 설명) Unity 환경에서 네이버 라운지 SDK 적용하는 방법을 설명합니다. class duplication 에러의 경우 [네이버 게임 FAQ](https://navergame.gitbook.io/naver-game/naver-game-sdk-faq-1#unity-android-class-duplication-exception-.)를 참고해 주십시오. - 유니티 플러그인 패키지 적용시 navergame-sdk-1.1.1.aar 파일 미포함 또는 삭제 처리 진행 ../Assets/NGSDK/Plugins/Android/navergame-sdk-1.1.1.aar - 안드로이드 네이티브 네이버 라운지 SDK 라이브러리를 탑재 ../Assets/Plugins/Android/navergame-sdk-gradle-1.1.1.aar - mainTemplate.gradle 파일 수정 (네이버 라운지 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 버전 부터는 게임팟 SDK 네이버 로그인과 라이브러리 충돌로 네이버 로그인 기능 사용불가합니다. - NaverSDK Ver 1.3.2 버전 반영시 1. ../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 ``` 2. 네이버 라운지 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 ``` 3. 하기 경로에 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 ``` ``` 4. 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](https://cdn.document360.io/6998976f-9d95-4df8-b847-d375892b92c2/Images/Documentation/com.naver.nid.naveridlogin-android-sdk-4.2.6.aar?sv=2026-02-06&spr=https&st=2026-11-14T06%3A18%3A32Z&se=2026-11-14T07%3A18%3A32Z&sr=c&sp=r&sig=Fv7Nf5xkzfRGGwWQs96V0w7R3DQc5x2JrtqoQvanhxI%3D) 5. /Assets/NGSDK/Plugins/iOS/NCSDKUnityManager.mm 파일 수정 ``` 기존 : (NSString *)getAuthSettingDescription { return NNGSDKManager.shared.authSettingDescription; } 수정 : - (NSString *)getAuthSettingDescription { return NNGSDKManager.shared.authSettingDescription; } ``` 6. 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)의 경우 유니티 패키지를 import 후 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/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는 빌드하는 프로젝트에서 하나의 파일에서만 상속을 받아야 합니다. 게임팟의 유니티 플러그인 패키지를 탑재하는 경우 기본적으로 GamePotAppDelegate.h에서 상속을 받고 있습니다. appsflyer 나 Singular 같은 광고 툴의 경우 해당 라이브러리도 UnityAppController를 상속을 받아 GAMEPOT SDK 동작이 안 될 수 있습니다 하나의 파일에서만 상속받도록 수정하여 사용해야 합니다. 수정하는 두 가지 방법은 다음과 같습니다. ### 직접 수정하는 방법 아래 파일을 다운로드한 후 파일본 내용과 같이 수정합니다. <수정 파일본> [appsflyer-v6.3.2 기준 패치](https://cdn.document360.io/6998976f-9d95-4df8-b847-d375892b92c2/Images/Documentation/fixed_appsflyer632_gamepot320.zip?sv=2026-02-06&spr=https&st=2026-11-14T06%3A18%3A32Z&se=2026-11-14T07%3A18%3A32Z&sr=c&sp=r&sig=Fv7Nf5xkzfRGGwWQs96V0w7R3DQc5x2JrtqoQvanhxI%3D) [Singular-v4.3.2 기준 패치](https://cdn.document360.io/6998976f-9d95-4df8-b847-d375892b92c2/Images/Documentation/fixed_Singular_gamepot.zip?sv=2026-02-06&spr=https&st=2026-11-14T06%3A18%3A32Z&se=2026-11-14T07%3A18%3A32Z&sr=c&sp=r&sig=Fv7Nf5xkzfRGGwWQs96V0w7R3DQc5x2JrtqoQvanhxI%3D) - 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합니다. [appsflyer-v6.3.2](https://cdn.document360.io/6998976f-9d95-4df8-b847-d375892b92c2/Images/Documentation/fixed_appsflyer_gamepot.unitypackage?sv=2026-02-06&spr=https&st=2026-11-14T06%3A18%3A32Z&se=2026-11-14T07%3A18%3A32Z&sr=c&sp=r&sig=Fv7Nf5xkzfRGGwWQs96V0w7R3DQc5x2JrtqoQvanhxI%3D) [Singular-v4.3.2](https://cdn.document360.io/6998976f-9d95-4df8-b847-d375892b92c2/Images/Documentation/fixed_Singular_gamepot.unitypackage?sv=2026-02-06&spr=https&st=2026-11-14T06%3A18%3A32Z&se=2026-11-14T07%3A18%3A32Z&sr=c&sp=r&sig=Fv7Nf5xkzfRGGwWQs96V0w7R3DQc5x2JrtqoQvanhxI%3D) ## (Unity) Firebase SDK 별도로 적용할 때 ### Firebase Unity 11.6.0 이하 기준 설명 유니티 에디터 버전이 2019.X 미만 버전인 경우 하기 패치를 우선 진행해 주십시오. 패치 다운로드: [패치 다운로드](https://cdn.document360.io/6998976f-9d95-4df8-b847-d375892b92c2/Images/Documentation/unity_2020_X.zip?sv=2026-02-06&spr=https&st=2026-11-14T06%3A18%3A32Z&se=2026-11-14T07%3A18%3A32Z&sr=c&sp=r&sig=Fv7Nf5xkzfRGGwWQs96V0w7R3DQc5x2JrtqoQvanhxI%3D) ``` [폴더 및 파일 교체] ../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 유니티 플러그인 패키지에는 일부 Firebase SDK가 있어 별도의 Firebase SDK를 탑재시 라이브러리 중복에 의한 오류가 발생합니다. Firebase Unity SDK(FirebaseAnalytics.unitypackage / FirebaseMessaging.unitypackage + 추가하고자 하는 Firebase SDK)를 import 후 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 빌드를 진행해 주십시오. 1. 중복되는 라이브러리 파일 삭제 필요: ``` ../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 ``` 1. ../Assets/Plugins/Android/AndroidManifest.xml 내 FCM 관련 코드가 적용되어 있는지 확인 ``` .... ... ``` 1. Firebase Unity 9.4.0 이상 적용시 IOS 빌드시 추가 변경 작업 유니티 에디터에서 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 이후 기준 설명 게임팟 버전이 3.5.3 이하인 경우 3.6.3으로 패치를 우선 적용해 주십시오 - GAMEPOT 유니티 플러그인 패키지에는 일부 Firebase SDK가 있어 별도의 Firebase SDK를 탑재시 라이브러리 중복에 의한 오류가 발생합니다. Firebase Unity SDK(FirebaseAnalytics.unitypackage / FirebaseMessaging.unitypackage + 추가하고자 하는 Firebase SDK)를 import 후 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 빌드를 진행 1. 중복되는 라이브러리 파일 삭제 필요 - 중복 오류 예시 ``` 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 ``` 1. ../Assets/Plugins/Android/baseProjectTemplate 내용 추가 ``` plugins { ... // Add the dependency for the Crashlytics Gradle plugin id 'com.google.firebase.crashlytics' version "2.9.9" apply false ... ``` 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 ``` 1. ./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' } } ``` 1. ./Assets/Plugins/Android/mainTemplate 내 아래 내용 추가 ``` android { ... packagingOptions { exclude 'META-INF/kotlinx_coroutines_core.version' } } ``` 1. ../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) 유니티 에디터 옵션 중 minify를 사용하실 때 게임팟 측면에서 관련하여 Proguard File 에서 게임팟 관련 내용을 모두 예외 처리해야 합니다. 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 를 사용하는 것이 있다면 해당 부분에도 관련 용도에 맞게 정의를 해야 합니다. <예시> ``` ``` **Unreal 의 경우** Engine/Source/Programs/UnrealBuildTool/Platform/Android/UEDeployAndroid.cs 내 GenerateManifest() 함수에서 Manifest를 만드는 문맥을 파악 후 하기 코드를 추가합니다. ``` 예시) ....... // 게임팟 관련 태그 추가 [start] Text.AppendLine("\t\t"); Text.AppendLine("\t\t "); Text.AppendLine("\t\t "); Text.AppendLine("\t\t "); Text.AppendLine("\t\t"); Text.AppendLine("\t\t"); Text.AppendLine("\t\t "); Text.AppendLine("\t\t "); Text.AppendLine("\t\t "); Text.AppendLine("\t\t"); // 게임팟 관련 태그 추가 [end] ....... // Required for OBB download support ``` ### Unity firebase Message Intent 오류가 발생할 경우 관련 수정 패치: [다운로드](https://cdn.document360.io/6998976f-9d95-4df8-b847-d375892b92c2/Images/Documentation/firebase_message_sdk_23_0_8_1207.zip?sv=2026-02-06&spr=https&st=2026-11-14T06%3A18%3A32Z&se=2026-11-14T07%3A18%3A32Z&sr=c&sp=r&sig=Fv7Nf5xkzfRGGwWQs96V0w7R3DQc5x2JrtqoQvanhxI%3D) ``` [삭제] ../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기기에서 푸시 설정 못 받는 경우 안드로이드 OS 13부터는 푸시 알림을 표기하기 위해서는 **android.permission.POST_NOTIFICATIONS** 퍼미션 권한이 획득이 필요합니다. Targetsdk 31인 버전으로 빌드된 경우 앱이 포그라운드 상태에서 푸시 수신 받았을때 OS 내부적으로 1회 한번 권한 획득에 대한 팝업을 띄우고 있습니다. **android.permission.POST_NOTIFICATIONS** 퍼미션 권한 획득하는 기능은 게임팟 SDK에서는 지원하지 않습니다. 관련 기능은 개발사에서 별도로 특정 시점( 예시) 약관동의 완료 시점 또는 앱 시작시점)에 **android.permission.POST_NOTIFICATIONS** 권한을 받도록 개발을 해야 합니다. 유저가 거절한 경우 앱 설정에서 수동으로 알림 권한을 다시 활성하지 않는다면 푸시 알림 표기가 안되는 부분에 대해 안내가 필요합니다. ## 게임팟 SDK에서 수집하는 개인 정보 유형 ### 구글 스토어 앱 콘텐츠 항목 기준 앱 통신은 https 통신 방식을 사용하여 암호화 처리가 되어 있으며 회원 탈퇴 기능이 있다면 회원 탈퇴 완료시 회원 정보 삭제합니다. 앱 기능 항목을 체크해 주십시오. 단, 앱의 기능적 요소로만 사용이 되며 계정 관리 기능은 사용하지 않습니다. - 개인 정보 - 이메일 주소 - 사용자 ID - 기기 또는 기타 ID - 기기 또는 기타 ID - 사진 및 동영상 - 사진 - 동영상 ### 애플 스토어 앱이 수집하는 개인정보 항목 기준 - 식별자 - 사용자 ID (계정정보) - 기기 ID (IDFA, auto generated) - 구입 항목 - 사용자 컨텐츠 - 사진 또는 비디오 - 고객지원 사용자 컨텐츠의 경우, 게임팟 PRO 이상 상품을 이용하는 고객 중에서 게임팟 고객 문의 UI를 사용하는 경우에 해당합니다. 오브젝트 스토리지 기능 사용 시 고객 문의에 이미지 파일을 올릴 수 있습니다. ## Xcode 16 버전으로 빌드 시 iOS 18에서 로그인 후 크래시 발생 현상 업데이트 안내 iOS 18 정식 버전의 업데이트로 인해 동작 방식이 변경된 것이 원인으로 판단되어, Unity와 iOS Native에 업데이트 된 GAMEPOT v3.6.2 버전을 적용하면 위 문제는 해결되오니 반드시 GAMEPOT v3.6.2 버전으로 적용해 주십시오. 주의 기존에 이미 사용하고 있는 게임팟 버전이 있을 경우 적용 전 문의해 주십시오. **확인된 에러** ``` Thread 1: "View was already initialized: >" ``` 게임팟에서 제공하는 약관 동의 팝업 기능 자체에는 문제가 없으나, iOS 18 정식 버전의 변경된 환경에서 예기치 않게 발생합니다. - 발생 빈도: 해당 크래시는 Xcode 16버전으로 빌드 & 디바이스 버전이 iOS 18일 경우에만 발생되며 발생 빈도는 100프로 발생합니다. iOS 18 이전 버전에서는 문제 없이 동작했으며,
iOS 18 Beta에서도 발생하지 않았습니다. **발생 케이스** 문제가 발생되는 부분은 약관 동의 팝업 부분에서 발생되어 로그인 시 멈춤 현상이 발생합니다. 게임팟에서 제공하는 약관 동의 팝업 기능 자체에는 문제가 없으나, iOS 18 정식 버전의 변경된 환경에서 예기치 않게 발생한 문제입니다. **발생 조건** - Xcode 16 - iOS 18 - 게임팟에서 제공하는 약관 동의 UI GamePot.setAgreeInfo 를 사용 - 만약 게임팟 자체 약관 (GamePot.setAgreeInfo)을 사용하지 않을 경우 해당 오류가 나지 않습니다. - SetAutoAgree 를 false로 설정한 상태에서 xcode 16 / iOS 18 에서는 정상 작동 합니다.