Firebase Notification 연동

Firebase 활성화

Firebase 계정 및 프로젝트 생성

Firebase 계정 등록 절차에 따라 계정 및 프로젝트를 생성한다.

Firebase 구성 파일 추가

Firebase Console 을 통해 플랫폼별 Firebase 구성 파일을 가져와 Unity 프로젝트에 추가한다.

Android 의 경우

  1. google-services.json 다운로드를 클릭하여 파일을 다운로드 함
  2. 다운로드 한 파일을 Assets 폴더로 이동한다.

Android SDK Version

Android 의 경우, 필수적으로 SDK 24 이상을 사용해야 함.

Firebase Unity SDK 추가

  1. 아래 파일을 다운로드 함

    https://firebase.google.com/download/unity?hl=ko&_gl=1*1god004*_up*MQ..*_ga*MTk2MjQxMTE5My4xNzI4NTQwMDA0*_ga_CW55HF8NVT*MTcyODU0MDAwNC4xLjAuMTcyODU0MDAwNC4wLjAuMA..

  2. 압축 해제 후, 다음 패키지를 설치한다.
    1. Assets > Import Package > Custom Package 를 선택하거나,

      해당 패키지를 더블클릭하여 Import 창을 띄움

    2. 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)

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다