Integrate
0. 최신 ADX Unity SDK 버전
Version 2.7.1
Release Date : 2024/12/17
1. 최소 지원 사양
Android
compileSdkVersion 34 이상
minSdkVersion 21 이상
iOS
iOS 12.0 이상
Xcode 15.3 이상
ADX Unity SDK 2.5.7 이상 사용 시, Xcode 15.3 이상에서 빌드 필요.
CocoaPods
Unity Editor
Unity 2019.4 이상
Xcode15 이상에서 빌드할 경우, iOS Deployment Target 버전 (최소 지원 버전)을 12.0 이상으로 설정합니다. iOS 12.0 이상 버전으로 설정하지 않으면 특정 광고 네트워크의 초기화 과정에서 비정상 종료(Crash)가 발생할 수 있습니다.
2. ADX Unity SDK 추가
1) ADX Unity SDK를 다운로드 합니다.
2) Assets > Import Package > Custom Package를 선택하여 다운로드한 ADXUnityPackage.unitypackage
파일을 찾아 추가하거나 ADXUnityPackage.unitypackage
를 더블클릭하여 실행합니다.
새로운 Package로 업데이트 시 ADXUnityPackage를 import 하기 전에, 아래의 폴더 및 파일을 모두 삭제하신 후 진행해주시기 바랍니다.
Assets/ADXLibrary 폴더 제거
Assets/GoogleMobileAds 폴더 제거
Assets/Plugins/Android 폴더 내에 AdMob 관련 파일 제거
Assets/Plugins/iOS 폴더 내에 AdMob 관련 파일 제거
3) 모든 파일을 선택하고 import 합니다.
4) Unity Play Services Resolver가 이미 포함되어 있으시면 ADXUnityPackage에서 ExternalDependencyManager를 제외하신 후 import 해주시면 됩니다.
3. Project Setting
1) Android Setting
Assets/Plugins/Android
디렉토리에mainTemplate.gradle
파일을 열어android
섹션에서compileOptions
을 추가합니다.
Play Services Resolver 관련하여 아래 내용을 실행합니다.
Assets > External Dependency Manager > Android Resolver > Settings를 선택하고 Use Jetifier 체크 후 Force Resolver를 실행합니다.
Jetifier 사용을 통한 AndroidX 관련 레거시 지원을 위해 반드시 설정하여 주시기 바랍니다.
2) iOS Setting
Assets > External Dependency Manager > iOS Resolver > Settings > Add use_frameworks! to Podfile에 체크가 되어 있는지 확인합니다.
Assets > External Dependency Manager > iOS Resolver > Settings > Link frameworks statically에 체크가 되어 있는지 확인합니다. (Unity 엔진 2019.4 이상 사용 시)
유니티 에디터에서 빌드 후, *.xcworkspace (Unity-iPhone.xcworkspace) 확장자 파일을 Xcode에서 열기 합니다.
프로젝트의 Bulid Settings에서
Enable Bitcode
를No
로 변경합니다.
Unity 2019.3 버전 이상의 경우 Unity-iPhone 과 UnityFramework 모두
Enable Bitcode
를No
로 변경합니다.
XCode > 빌드 타겟 (UnityFramework) 선택 > Build Settings > Ohter Linker Flags 에서 "-all-load" 또는 "-force_load" 플래그를 사용하여 빌드 할 경우, 심볼 중복 (Symbol Duplicate)가 발생할 수 있습니다. 이 경우 "-ObjC" 플래그로 변경하십시오.
아래 빌드 타겟에 "$(inherited)" 추가 되어 있는지 확인하고 추가되어 있지 않다면 관련 라이브러리를 찾을 수 없다는 빌드 에러가 발생할 수 있으므로 추가해주십시오. - Xcode > 빌드 타겟 (Unity-iPhone) 선택 > Build Settings > Other Linker Flag - Xcode > 빌드 타겟 (UnityFramework) 선택 > Build Settings > Framework Search Paths
"Cannot use '@try' with Objective-C exceptions disabled" 와 같은 빌드 에러가 발생할 경우, 아래 설정 값을 'No'에서 'Yes'로 변경하여 주십시오. - Xcode > 빌드 타겟 (Unity-Framework) 선택 > Enable Objective-C Exceptions
4. iOS 14+ 지원
iOS 14 이상 지원하는 경우 IDFA (Identifier for Advertisers) 식별자를 얻기 위해 ATT(App Tracking Transparency) Framework를 반드시 적용해야 합니다. 자세한 방법은 아래 링크를 참고해주세요.
5. Notice
1) Android Gradle 버전 (ADX Unity SDK 2.4.0 이상, 유니티 엔진 버전 체크)
ADXUnityPackage 2.4.0 이상 사용하시는 경우 Gradle 버전이 6.7.1 이상 연동해야 안정적으로 안드로이드 빌드가 진행됩니다.
Gradle 권장 버전 이하 사용시 애드몹 유니티 플러그인에 의해 This feature requires ASM7 오류가 발생되며 아래의 방법 중 하나로 해결 가능합니다.
Gradle과 Gradle Plugin 변경을 통한 해결 (권장)
유니티 엔진 업데이트를 통해 해결
android.enableDexingArtifactTransform=false
를 주석처리 방법으로 해결
Gradle과 Gradle Plugin 변경 (Gradle : 6.7.1+, Gradle Plugin 4.2.0+)
Custom Base Gradle Template 사용을 안하고 계실 경우 사용하도록 변경합니다.
Build Settings -> Project Settings -> Player -> Custom Base Gradle Template 체크를 합니다.
이때 Assets/Plugins/Android/baseProjectTemplate.gradle 이 없을 경우 생성됩니다.
Gradle Plugin 버전을 변경합니다.
Assets/Plugins/Android/baseProjectTemplate.gradle 파일을 열어서 버전을 변경합니다.
'com.android.tools.build:gradle:4.2.0'
Gradle 다운로드합니다.
https://gradle.org/releases 에서 다운로드 가능합니다.
6.7.1로 받으신다면 아래의 링크를 통해 받으시면 됩니다.
특정 경로에 복사 및 압축 해제를 합니다.
예) ~/Users/sunny/gradle-6.7.1
Gradle 설치 경로를 변경합니다.
Preferences -> External Tools -> Gradle Installed with Unity 체크 해제합니다.
Gradle 다운로드한 경로로 설정합니다.
예) ~/Users/sunny/gradle-6.7.1
Android Resolver를 진행합니다.
Assets -> External Dependency Manager -> Android Resolver -> Delete Resolved Libraries
Assets -> External Dependency Manager -> Android Resolver -> Force Resolve
마지막으로 Target API Level이 33이상 되었는지 확인 후 빌드를 진행합니다.
2) AdMob App ID 초기화 문제
GoogleMobileAdsSettings에 입력한 App ID가 삭제되는 경우 Unity > Assets > Google Mobile Ads > Settings에서 Delay app measure를 체크 했다가 해제하여 주시기 바랍니다.
Last updated