メールリンク認証は以前は Firebase Dynamic Links に依存していましたが、これは 2025 年 8 月 25 日に廃止されます。Firebase Authentication Android SDK バージョン 23.2.0 以降と Firebase BoM バージョン 33.9.0 以降では、代替ソリューションを公開しています。アプリで従来のリンクを使用しており、別の方法でアプリを移行する場合は、Android でメールリンクを使用して Firebase で認証するを参照して、新しい Firebase Hosting ベースのシステムを使用してください。
また、Firebase Authentication で Firebase 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 Authentication は Firebase Dynamic Links ドメインではなく、プロジェクトの Firebase Hosting デフォルト ドメインを使用して、モバイルアプリのメールリンクやその他の帯域外リンク アクションのリンクを作成します。つまり、このデフォルト ドメインをモバイルアプリへのメール認証リンクの関連ドメインとして使用するように、アプリも更新する必要があります。
Android でメールリンクを使用して Firebase で認証を行うの手順に沿って、モバイルアプリのリンクを更新し、自動的にプロビジョニングされた新しい Firebase Hosting デフォルト ドメインを使用するようにします。
次の手順に沿って、新しいドメインからのリンクを処理し、今後は新しいドメインを使用してモバイルアプリのリンクを生成するように Firebase Authentication に指示します。
カスタム Firebase Hosting ドメインやカスタム Firebase Dynamic Links ドメインを引き続き使用して、新しい関連ドメインとして設定する場合は、使用するドメインに応じた手順を行います。次のセクションの手順を完了すると、Firebase Dynamic Links カスタム ドメインのディープリンク機能は削除され、メールリンクの作成に残るのはドメイン自体のみになることに留意してください。
Firebase Hosting リンクを処理するように Android アプリを構成する
- これらのリンクを Android アプリで処理するには、Firebase コンソールのプロジェクト設定でアプリのパッケージ名を指定する必要があります。それに加えて、アプリ証明書の SHA-1 および SHA-256 を指定する必要があります。
これらの 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 Admin SDK を使用してメールリンクの生成方法を更新し、新しい Firebase Hosting ドメインを使用してリンクの生成を開始するようバックエンドに指示します。
const updateRequest = { mobileLinksConfig: { domain: 'HOSTING_DOMAIN' } } const updateProjectConfig = () => { projectConfigManager.updateProjectConfig(updateRequest) .then((response) => { // updated project config }).catch((error) => { console.log('Error updating the project:', error); }); }
メールリンクを送信して利用する
以前と同様に、メール ログイン リンクを送信します。エンドユーザーがリンクをクリックすると、アプリがインストールされている場合はアプリにリダイレクトされ、ログインが完了します。
モバイルリンクをカスタマイズする
カスタム Firebase Hosting ドメインを使用するか、カスタム Firebase Dynamic Links ドメインを再利用して、新しいモバイルリンク ドメインにすることができます。
カスタム Firebase Hosting ドメインを使用する
- Firebase Hosting ガイドに沿ってカスタム ドメインを設定します。
- Firebase Hosting リンクを処理するように Android アプリを構成します。(上記の前のセクションの手順)。
- カスタム ドメインを
linkDomain
として更新したActionCodeSettings
オブジェクトを使用して、ユーザーのメールアドレスに認証リンクを送信します。
カスタム Firebase Dynamic Links ドメインを再利用する
- カスタム ドメインとして Firebase Dynamic Links ドメインを再利用できます。ただし、Firebase Dynamic Links 機能はサポートされなくなります(たとえば、アプリがデバイスにインストールされていない場合、ユーザーをアプリストアにリダイレクトすることはできません)。
- Firebase Hosting リンクを処理するように Android アプリを構成します(上記の前のセクションの手順を参照)。
- カスタム ドメインを
linkDomain
として更新したActionCodeSettings
オブジェクトを使用して、ユーザーのメールアドレスに認証リンクを送信します。