inflearn logo
강의

Khóa học

Chia sẻ kiến thức

Lập trình hệ thống Unity Pt.2 - Gói tất cả trong một về các hệ thống cốt lõi để hiện thực hóa trò chơi thương mại

Dữ liệu sản phẩm và giao diện cửa hàng (ProductData, DataTableManager, ShopUI)

.

Đã giải quyết

122

작성자 없음

0 câu hỏi đã được viết

0

Câu trả lời 2

0

burningcarrot

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

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

0

burningcarrot

안녕하세요.

 

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

 

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

0

burningcarrot

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

android.useAndroidX=true
android.enableJetifier=false

0

burningcarrot

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

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

0

burningcarrot

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

0

communityai8509

안녕하세요, 인프런 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 관련 로그의 추가 분석이 필요할 수 있습니다. 복합적인 문제일 경우엔 프로젝트 환경 전반을 검토해보는 것도 방법 중 하나입니다.

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

환경설정 문

2

30

2

질문있어요!

2

40

2

수업 잘 들었습니다.

2

33

2

volatile에 대해 질문 있습니다.

2

39

2