강의

멘토링

로드맵

인프런 커뮤니티 질문&답변

작성자 없음

작성자 정보가 삭제된 글입니다.

유니티 시스템 프로그래밍 Pt.2 - 상용 게임 구현을 위한 핵심 시스템 올인원 패키지

상품 데이터 및 상점 UI (ProductData, DataTableManager, ShopUI)

.

작성

·

74

·

수정됨

0

  • 학습 관련 질문을 남겨주세요.

  • 먼저 유사한 질문이 있는지 검색 부탁 드립니다.

  • 질문 내용이 상세할수록 명확한 답변을 드릴 수 있습니다.

답변 2

0

안녕하세요! BurningCarrot입니다. 문의해 주신 내용에 답변 드립니다.

AndroidX DataStore 라이브러리가 어떤 이유로 포함되어 문제가 발생할 수도 있을 것 같습니다. 먼저 Assets > External Dependency Manager > Android Resolver > Force Resolve를 해보시면 어떻게 되는지 확인 부탁 드립니다. 그리고 Firebase Unity SDK는 버전명이 어떻게 될까요?

안녕하세요.

 

아래 두 파일이 제 프로젝트에 설정된 파일인데 이 파일들이 수강생 분의 동일한 파일과 어떻게 다른지 비교해 보시고, 제 걸로 덮어쓰기 했을 때 에러가 해결되는지 확인 부탁 드립니다.

 

mainTemplate.gradle

apply plugin: 'com.android.library'
**APPLY_PLUGINS**

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
// Android Resolver Dependencies Start
    implementation 'androidx.constraintlayout:constraintlayout:2.1.4' // Assets/GoogleMobileAds/Editor/GoogleMobileAdsDependencies.xml:12
    implementation 'com.google.android.gms:play-services-ads:23.2.0' // Assets/GoogleMobileAds/Editor/GoogleMobileAdsDependencies.xml:7
    implementation 'com.google.android.gms:play-services-auth:16+' // Assets/GoogleSignIn/Editor/GoogleSignInDependencies.xml:10
    implementation 'com.google.android.gms:play-services-base:18.5.0' // Assets/Firebase/Editor/AppDependencies.xml:17
    implementation 'com.google.android.ump:user-messaging-platform:2.2.0' // Assets/GoogleMobileAds/Editor/GoogleUmpDependencies.xml:7
    implementation 'com.google.firebase:firebase-analytics:22.0.2' // Assets/Firebase/Editor/RemoteConfigDependencies.xml:15
    implementation 'com.google.firebase:firebase-analytics-unity:12.2.1' // Assets/Firebase/Editor/AnalyticsDependencies.xml:18
    implementation 'com.google.firebase:firebase-app-unity:12.2.1' // Assets/Firebase/Editor/AppDependencies.xml:22
    implementation 'com.google.firebase:firebase-auth:23.0.0' // Assets/Firebase/Editor/AuthDependencies.xml:13
    implementation 'com.google.firebase:firebase-auth-unity:12.2.1' // Assets/Firebase/Editor/AuthDependencies.xml:20
    implementation 'com.google.firebase:firebase-common:21.0.0' // Assets/Firebase/Editor/AppDependencies.xml:13
    implementation 'com.google.firebase:firebase-config:22.0.0' // Assets/Firebase/Editor/RemoteConfigDependencies.xml:13
    implementation 'com.google.firebase:firebase-config-unity:12.2.1' // Assets/Firebase/Editor/RemoteConfigDependencies.xml:20
    implementation 'com.google.firebase:firebase-firestore:25.0.0' // Assets/Firebase/Editor/FirestoreDependencies.xml:13
    implementation 'com.google.firebase:firebase-firestore-unity:12.2.1' // Assets/Firebase/Editor/FirestoreDependencies.xml:20
    implementation 'com.google.signin:google-signin-support:1.0.4' // Assets/GoogleSignIn/Editor/GoogleSignInSupportDependencies.xml:9
// Android Resolver Dependencies End
**DEPS**}

// Android Resolver Exclusions Start
android {
  packagingOptions {
      exclude ('/lib/armeabi/*' + '*')
      exclude ('/lib/mips/*' + '*')
      exclude ('/lib/mips64/*' + '*')
      exclude ('/lib/x86/*' + '*')
      exclude ('/lib/x86_64/*' + '*')
  }
}
// Android Resolver Exclusions End
android {
    ndkPath "**NDKPATH**"

    compileSdkVersion **APIVERSION**
    buildToolsVersion '**BUILDTOOLS**'

    compileOptions {
        sourceCompatibility JavaVersion.VERSION_11
        targetCompatibility JavaVersion.VERSION_11
    }

    defaultConfig {
        minSdkVersion **MINSDKVERSION**
        targetSdkVersion **TARGETSDKVERSION**
        ndk {
            abiFilters **ABIFILTERS**
        }
        versionCode **VERSIONCODE**
        versionName '**VERSIONNAME**'
        consumerProguardFiles 'proguard-unity.txt'**USER_PROGUARD**
    }

    lintOptions {
        abortOnError false
    }

    aaptOptions {
        noCompress = **BUILTIN_NOCOMPRESS** + unityStreamingAssets.tokenize(', ')
        ignoreAssetsPattern = "!.svn:!.git:!.ds_store:!*.scc:!CVS:!thumbs.db:!picasa.ini:!*~"
    }**PACKAGING_OPTIONS**
}
**IL_CPP_BUILD_SETUP**
**SOURCE_BUILD_SETUP**
**EXTERNAL_SOURCES**

gradleTemplate.properties

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**

gradleTemplate.properties 파일에서 아래와 같이 android.enableJetifier=false로 했을 때는 어떻게 되는지 확인 부탁 드립니다.

android.useAndroidX=true
android.enableJetifier=false

https://github.com/firebase/firebase-unity-sdk/issues/1225
이 스레드를 확인하시면 두 가지 해결 방법이 있다고 합니다.

  1. unity firebase sdk를 12.6 버전으로 설치

  2. baseProjectTemplate.gradle 파일을 활성화하고 파일 맨 위에 아래 내용 추가

buildscript {
    dependencies {
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.9.22"
    }
}

baseProjectTemplate.gradle 파일 활성화는 Project Setttings에서 합니다.

image.png

두 번째 방법으로 해결이 되시는지 확인 부탁 드립니다. 두 번째 방법으로도 해결되지 않는다면 첫 번째 방법을 시도해 보셔야 할 것 같습니다.

sdk 재설치 후 해결되는지 결과 공유 부탁 드립니다. 그 방법으로도 해결되지 않으면 다시 도와 드리겠습니다.

0

안녕하세요, 인프런 AI 인턴입니다. asdfasdfasdfasdf님.

Firebase Analytics를 추가한 후 앱이 크러쉬되는 문제에 대해 도움을 드리겠습니다. 여러 가지 발생할 수 있는 오류 요소 중 몇 가지 주요 원인을 점검해 보겠습니다.

문제 해결을 위한 접근 방법:

  1. Firebase SDK 설정 확인:

    • Firebase 최신 버전이 유니티 프로젝트에 제대로 설정되어 있는지 확인해주세요. 특히, google-services.json 파일이 올바른 위치에 있는지와, Firebase 초기화 코드가 Start() 함수에서 실행되고 있는지를 확인하세요.
  2. 로그 분석:

    • 첨부해주신 Logcat 스크린샷을 통해 “DEVELOPER_ERROR”가 보이는 것으로 추측됩니다. 이는 보통 인증 토큰과 관련된 문제로, Firebase 콘솔의 인증 설정을 확인하고 필요한 OAuth 클라이언트 ID가 등록되어 있는지 확인해야 합니다.
  3. Google Services 의존성 파일 확인:

    • Firebase 관련 의존성들이 제대로 설정되어 있는지 확실히 해야 합니다. Assets/Plugins/Android 폴더 내 PlayServicesResolver에 의해 생성된 .aar 파일과 AndroidManifest.xml 파일이 문제없이 설정되어 있는지 확인해주세요.
  4. 로그인 버튼의 스크립트 검토:

    • 로그인 버튼을 눌렀을 때 호출되는 메소드와 해당 스크립트가 올바르게 작동하고 있는지 디버그 로그를 활용해 점검해 보세요.
  5. Firebase 콘솔 설정 확인:

    • Firebase 콘솔에서 프로젝트에 필요한 각 서비스가 올바르게 활성화되어 있는지 확인하십시오. Analytics, Authentication, Firestore와 같은 서비스가 올바르게 설정되어야 합니다.
  6. 관련 유사 질문과 답변 링크:

이 방법들로도 문제가 해결되지 않는다면, Build.gradle 구성을 확인하거나, Firebase 관련 로그의 추가 분석이 필요할 수 있습니다. 복합적인 문제일 경우엔 프로젝트 환경 전반을 검토해보는 것도 방법 중 하나입니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

작성자 없음

작성자 정보가 삭제된 글입니다.

질문하기