Unity/Firebase

Firebase 토큰을 가져오는 방법

코샵 2023. 11. 15. 17:45
반응형

 

Firebase 토큰은 Firebase Cloud Messaging(FCM)을 사용하여 앱에 알림을 보내기 위해 필요한 고유한 식별자입니다. Firebase 토큰을 가져오는 방법은 여러 가지가 있습니다. 그 중 하나는 FirebaseMessaging.GetTokenAsync() 메서드를 사용하는 것입니다.

 

FirebaseMessaging.GetTokenAsync() 메서드는 비동기 메서드로, 토큰을 가져오는 작업이 완료되면 TaskCompletionSource 객체를 통해 토큰을 전달합니다.

 

FirebaseMessaging.GetTokenAsync().ContinueWithOnMainThread() 메서드는 FirebaseMessaging.GetTokenAsync() 메서드의 결과를 UI 스레드에서 처리할 수 있도록 도와주는 메서드입니다.

 

사용 방법

FirebaseMessaging.GetTokenAsync().ContinueWithOnMainThread() 메서드를 사용하려면 다음과 같은 단계를 따릅니다.

  1. FirebaseMessaging 클래스를 참조합니다.
  2. FirebaseMessaging.GetTokenAsync() 메서드를 호출합니다.
  3. FirebaseMessaging.GetTokenAsync().ContinueWithOnMainThread() 메서드를 호출합니다.

예제

다음은 FirebaseMessaging.GetTokenAsync().ContinueWithOnMainThread() 메서드를 사용하는 예제입니다.

using Firebase.Messaging;

public class MyClass {

    public void GetToken() {
        // FirebaseMessaging 클래스를 참조합니다.
        FirebaseMessaging firebaseMessaging = FirebaseMessaging.DefaultInstance;

        // 토큰을 가져오는 작업을 비동기로 시작합니다.
        firebaseMessaging.GetTokenAsync().ContinueWithOnMainThread(task => {
            // 토큰을 가져오는 작업이 완료되면 UI 스레드에서 처리합니다.
            if (task.IsCompletedSuccessfully) {
                // 토큰을 가져왔습니다.
                string token = task.Result;
            } else {
                // 토큰을 가져오지 못했습니다.
            }
        });
    }
}

이 예제에서는 GetToken() 메서드에서 FirebaseMessaging.GetTokenAsync() 메서드를 호출합니다.

 

FirebaseMessaging.GetTokenAsync() 메서드는 토큰을 가져오는 작업을 비동기로 시작합니다. ContinueWithOnMainThread() 메서드는 이 작업이 완료되면 UI 스레드에서 처리하도록 합니다.

 

ContinueWithOnMainThread() 메서드의 첫 번째 인자는 작업이 완료되면 호출될 람다식입니다. 람다식의 인자는 Task 객체입니다. Task 객체의 IsCompletedSuccessfully 속성을 사용하여 작업이 성공적으로 완료되었는지 확인할 수 있습니다.

 

주의 사항

FirebaseMessaging.GetTokenAsync() 메서드는 토큰을 가져오는 작업이 완료될 때까지 비동기적으로 실행됩니다. 따라서, 이 메서드를 호출하는 스레드는 토큰을 가져오는 작업이 완료될 때까지 대기 상태가 됩니다.

ContinueWithOnMainThread() 메서드를 사용하여 UI 스레드에서 토큰을 처리하면, UI 스레드가 블로킹되지 않고, 사용자에게 응답을 즉시 제공할 있습니다.