[flutter] Firebase Remote Config를 이용한 앱의 딥링크 설정

앱의 기능을 업데이트하거나 새로운 프로모션을 제공할 때, Deep Linking은 사용자를 특정한 화면으로 바로 연결시키는 중요한 방법입니다. Firebase Remote Config를 통해 이 기능을 구현할 수 있습니다.

이번 블로그에서는 Flutter 앱에서 Firebase Remote Config를 사용하여 딥링크를 설정하는 방법에 대해 알아보겠습니다.

Firebase Remote Config란 무엇인가?

Firebase Remote Config는 Firebase에서 제공하는 기능 중 하나로, 앱의 동적인 내용을 관리할 수 있도록 도와줍니다. 서버에 저장된 값을 통해 앱의 동작을 제어할 수 있어, 앱을 다시 빌드하지 않고도 설정값을 수정하거나 새로운 기능을 테스트할 수 있습니다.

Firebase 프로젝트 설정

Firebase Remote Config를 사용하기 위해서는 먼저 Firebase 프로젝트에 앱을 등록해야 합니다. Firebase 콘솔에서 프로젝트를 생성하고, Firebase SDK를 앱에 추가하는 작업을 수행해야 합니다.

Flutter 프로젝트 설정

Flutter 앱에 Firebase SDK를 추가하여 Firebase Remote Config를 사용할 수 있습니다.

dependencies:
  firebase_core: ^1.10.0
  firebase_remote_config: ^7.3.0
  flutter:
    sdk: flutter

pubspec.yaml 파일에 위와 같이 Firebase Remote Config 라이브러리를 추가해줍니다.

딥링크 설정

Firebase Remote Config에서 딥링크를 설정하려면, 먼저 Firebase Console에서 Remote Config 섹션으로 이동하여 키-값 쌍을 추가해야 합니다. 이때, 딥링크 URL을 값으로 설정하고, 해당 URL로 연결할 화면에 필요한 추가 정보들을 파라미터로 포함시켜야 합니다.

final RemoteConfig remoteConfig = await RemoteConfig.instance;
await remoteConfig.fetchAndActivate();

String deepLinkUrl = remoteConfig.getString('deep_link_url');

앱이 실행될 때 Firebase Remote Config에서 값을 가져와 딥링크 URL을 설정한 뒤, 해당 URL을 사용하여 딥링크를 처리하는 코드를 작성합니다.

FirebaseDynamicLinks.instance.onLink(
  onSuccess: (PendingDynamicLinkData dynamicLink) async {
    final Uri deepLink = dynamicLink?.link;
    // deep link를 처리하는 로직을 작성한다.
  },
  onError: (OnLinkErrorException e) async {
    // 오류 처리 로직을 작성한다.
  }
);

Firebase Dynamic Links를 사용하여 딥링크를 처리하는 코드를 작성한 후, 앱이 딥링크로 실행될 때 해당 링크를 처리하는 로직을 구현합니다.

Firebase Remote Config를 사용하여 앱의 딥링크를 설정하는 방법에 대해 알아보았습니다. Firebase Remote Config를 통해 동적으로 딥링크를 업데이트하고, 사용자를 특정한 화면으로 연결시킬 수 있습니다.

이상으로 Firebase Remote Config를 이용한 앱의 딥링크 설정 에 대해 알아보았습니다. 부족한 내용이나 궁금한 점은 Firebase Remote Config 문서를 참고하십시오.