Firebase Dynamic Links からメールリンク ログインを移行する(Android)

メールリンク認証は以前は Firebase Dynamic Links に依存していましたが、これは 2025 年 8 月 25 日に廃止されます。Firebase Authentication Android SDK バージョン 23.2.0 以降と Firebase BoM バージョン 33.9.0 以降では、代替ソリューションを公開しています。アプリで従来のリンクを使用しており、別の方法でアプリを移行する場合は、Android でメールリンクを使用して Firebase で認証するを参照して、新しい Firebase Hosting ベースのシステムを使用してください。

また、Firebase AuthenticationFirebase Authentication Android SDK v20.0.0 以前(または Firebase BoM v26.0.0 以前)を使用して OAuth フローを管理している場合は、Firebase Authentication で OAuth フローの管理を継続するには、最新の Authentication SDK または BoM バージョン(Authentication v20.0.0 以降または BoM v26.0.0 以降)にアップデートする必要があります。

関連付けられた Firebase Dynamic Links ドメインを Firebase Hosting ドメインに移行する

今後、Firebase AuthenticationFirebase Dynamic Links ドメインではなく、プロジェクトの Firebase Hosting デフォルト ドメインを使用して、モバイルアプリのメールリンクやその他の帯域外リンク アクションのリンクを作成します。つまり、このデフォルト ドメインをモバイルアプリへのメール認証リンクの関連ドメインとして使用するように、アプリも更新する必要があります。

Android でメールリンクを使用して Firebase で認証を行うの手順に沿って、モバイルアプリのリンクを更新し、自動的にプロビジョニングされた新しい Firebase Hosting デフォルト ドメインを使用するようにします。

次の手順に沿って、新しいドメインからのリンクを処理し、今後は新しいドメインを使用してモバイルアプリのリンクを生成するように Firebase Authentication に指示します。

カスタム Firebase Hosting ドメインやカスタム Firebase Dynamic Links ドメインを引き続き使用して、新しい関連ドメインとして設定する場合は、使用するドメインに応じた手順を行います。次のセクションの手順を完了すると、Firebase Dynamic Links カスタム ドメインのディープリンク機能は削除され、メールリンクの作成に残るのはドメイン自体のみになることに留意してください。

  1. Firebase Hosting リンクを処理するように Android アプリを構成する

    1. これらのリンクを Android アプリで処理するには、Firebase コンソールのプロジェクト設定でアプリのパッケージ名を指定する必要があります。それに加えて、アプリ証明書の SHA-1 および SHA-256 を指定する必要があります。
    2. これらの Firebase Hosting リンクを特定のアクティビティにリダイレクトする場合は、AndroidManifest.xml ファイルにインテント フィルタを構成する必要があります。インテント フィルタは、ドメインの Firebase Hosting リンクをキャッチする必要があります。AndroidManifest.xml では次のようになります。

      <intent-filter android:autoVerify="true">
        <action android:name="android.intent.action.VIEW" />
        <category android:name="android.intent.category.BROWSABLE" />
        <category android:name="android.intent.category.DEFAULT" />
        <data
          android:scheme="https"
          android:host="PROJECT_ID.firebaseapp.com or a custom hosting domain"
          android:pathPrefix="/__/auth/links" />
      </intent-filter>
      

    ユーザーが「/__/auth/links」パスと指定したスキームとホストを持つホスティング リンクを開くと、アプリはこのインテント フィルタを使用してリンクを処理するアクティビティを開始します。

カスタム Firebase Hosting ドメインを使用するか、カスタム Firebase Dynamic Links ドメインを再利用して、新しいモバイルリンク ドメインにすることができます。

カスタム Firebase Hosting ドメインを使用する

  1. Firebase Hosting ガイドに沿ってカスタム ドメインを設定します。
  2. Firebase Hosting リンクを処理するように Android アプリを構成します。(上記の前のセクションの手順)。
  3. カスタム ドメインを linkDomain として更新した ActionCodeSettings オブジェクトを使用して、ユーザーのメールアドレスに認証リンクを送信します。
  1. カスタム ドメインとして Firebase Dynamic Links ドメインを再利用できます。ただし、Firebase Dynamic Links 機能はサポートされなくなります(たとえば、アプリがデバイスにインストールされていない場合、ユーザーをアプリストアにリダイレクトすることはできません)。
  2. Firebase Hosting リンクを処理するように Android アプリを構成します(上記の前のセクションの手順を参照)。
  3. カスタム ドメインを linkDomain として更新した ActionCodeSettings オブジェクトを使用して、ユーザーのメールアドレスに認証リンクを送信します。