Firebase 활성화
Firebase 계정 및 프로젝트 생성
Firebase 계정 등록 절차에 따라 계정 및 프로젝트를 생성한다.
Firebase 구성 파일 추가
Firebase Console 을 통해 플랫폼별 Firebase 구성 파일을 가져와 Unity 프로젝트에 추가한다.
Android 의 경우
- google-services.json 다운로드를 클릭하여 파일을 다운로드 함
- 다운로드 한 파일을 Assets 폴더로 이동한다.
Android SDK Version
Android 의 경우, 필수적으로 SDK 24 이상을 사용해야 함.
Firebase Unity SDK 추가
-
아래 파일을 다운로드 함
-
압축 해제 후, 다음 패키지를 설치한다.
-
Assets > Import Package > Custom Package 를 선택하거나,
해당 패키지를 더블클릭하여 Import 창을 띄움
- FirebaseMessaging.unitypackage (클라우드 메시징용 패키지)
-
코드 작성
Handler 추가
Token Receive Handler 설정 코드 추가
FirebaseMessaging.TokenReceived += OnTokenReceived;
private void OnTokenReceived(object sender, TokenReceivedEventArgs e) { … }
Message Receive Handler 설정 코드 추가
FirebaseMessaging.MessageReceived += OnMessageReceived;
private void OnMessageReceived(object sender, MessageReceivedEventArgs e) { … }
메시지 초기화 설정
FirebaseApp.CheckAndFixDependenciesAsync().ContinueWith(task => {
var dependencyStatus = task.Result;
if (dependencyStatus == DependencyStatus.Available) {
// 설정 코드 추가
}
else {
…
}
});
문제 해결
Crash Error 관련
특이하게, Android 35 버전으로 구동된 에뮬레이터에서는 Crash Error 가 발생한다. 해당 문제는 다른 버전을 사용하면 해결되는 것으로 보인다. 구체적인 문제 원인은 확인되지 않고 있다.
2024/10/16 14:34:18.174 1725 1725 Error CRASH *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
2024/10/16 14:34:18.175 1725 1725 Error CRASH Version ‘2022.3.50f1 (c3db7f8bf9b1)’, Build type ‘Development’, Scripting Backend ‘il2cpp’, CPU ‘arm64-v8a’
2024/10/16 14:34:18.175 1725 1725 Error CRASH Build fingerprint: ‘google/sdk_gphone16k_x86_64/emu64xa16k:15/AP31.240617.003/12088229:user/dev-keys’
2024/10/16 14:34:18.176 1725 1725 Error CRASH Revision: ‘0’
2024/10/16 14:34:18.176 1725 1725 Error CRASH ABI: ‘arm64’
2024/10/16 14:34:18.182 1725 1725 Error CRASH Timestamp: 2024-10-16 14:34:18.176553076+0900
2024/10/16 14:34:18.182 1725 1725 Error CRASH pid: 1725, tid: 1725, name: .gamesdk_client >>> com.gravity.gamesdk.client.gamesdk_client <<<
2024/10/16 14:34:18.182 1725 1725 Error CRASH uid: 10201
2024/10/16 14:34:18.183 1725 1725 Error CRASH signal 11 (SIGSEGV), code 2 (SEGV_ACCERR), fault addr ——–
2024/10/16 14:34:18.185 1725 1725 Error CRASH x0 0000000000000001 x1 0000000000000000 x2 0000000000010006 x3 0000745433259e30
2024/10/16 14:34:18.186 1725 1725 Error CRASH x4 0000000000000008 x5 0000000000000000 x6 0000000000000010 x7 7f7f7f7f7f7f7f7f
2024/10/16 14:34:18.186 1725 1725 Error CRASH x8 61b222bc3e0efb77 x9 61b222bc3e0efb77 x10 0000000000000000 x11 0000000000000000
2024/10/16 14:34:18.186 1725 1725 Error CRASH x12 00000000ffffffbf x13 0000000000000020 x14 0000000000000400 x15 0000000000000000
2024/10/16 14:34:18.187 1725 1725 Error CRASH x16 000074542deb7d88 x17 0000745434d6e968 x18 0000745431a5c000 x19 0000000000000000
2024/10/16 14:34:18.187 1725 1725 Error CRASH x20 0000000000000000 x21 0000000000000000 x22 0000000000000000 x23 0000000000000000
2024/10/16 14:34:18.187 1725 1725 Error CRASH x24 0000000000000000 x25 0000000000000000 x26 0000000000000000 x27 0000000000000000
2024/10/16 14:34:18.187 1725 1725 Error CRASH x28 0000000000000000 x29 0000000000000000
2024/10/16 14:34:18.187 1725 1725 Error CRASH lr 0000000000000000 sp 0000745433259ff0 pc 0000000000000000 pst 0000000000000000
2024/10/16 14:34:21.044 1725 1725 Error CRASH Forwarding signal 11
0001/01/01 00:00:00.000 -1 -1 Info ——— beginning of crash
2024/10/16 14:34:21.045 1725 1725 Fatal libc Fatal signal 11 (SIGSEGV), code 2 (SEGV_ACCERR), fault addr 0x7454a0ac38ec in tid 1725 (.gamesdk_client), pid 1725 (.gamesdk_client)