電子郵件連結驗證功能先前仰賴 Firebase Dynamic Links,而這項服務將在 2025 年 8 月 25 日停用。我們已在 Firebase Authentication Android SDK 23.2.0 以上版本和 Firebase BoM 33.9.0 以上版本中發布替代解決方案。如果您的應用程式使用舊版連結,且您想使用其他方法遷移應用程式,請參閱「使用 Android 中的電子郵件連結透過 Firebase 進行驗證」,瞭解如何使用新的 Firebase Hosting 系統。
此外,如果您使用 Firebase Authentication Android SDK 20.0.0 以下版本 (或 Firebase BoM 26.0.0 以下版本) 搭配 Firebase Authentication 管理 OAuth 流程,就必須更新至最新版 Authentication SDK 或 BoM 版本 (Authentication 20.0.0 以上版本或 BoM 26.0.0 以上版本),才能繼續在 Firebase Authentication 中管理 OAuth 流程。
將相關聯的 Firebase Dynamic Links 網域遷移至 Firebase Hosting 網域
往後,Firebase Authentication 將使用專案的 Firebase Hosting 預設網域,而非 Firebase Dynamic Links 網域,在行動應用程式中建立電子郵件連結和其他非頻道連結動作的連結。這表示您也必須更新應用程式,以便使用這個預設網域做為行動應用程式電子郵件驗證連結的關聯網域。
您可以按照「使用 Android 中的電子郵件連結,透過 Firebase 進行驗證」一文中的指示,更新行動應用程式連結,以便使用自動佈建的新 Firebase Hosting 預設網域。
請按照下列操作說明處理新網域的連結,並指示 Firebase Authentication 開始使用新網域產生行動應用程式連結。
如果您想繼續使用任何自訂 Firebase Hosting 網域,甚至是自訂 Firebase Dynamic Links 網域做為新的關聯網域,請按照您要使用的網域對應的步驟操作。請注意,完成下一個章節的操作說明後,Firebase Dynamic Links 自訂網域上的深層連結功能就會移除,只有網域本身會保留,以便建立電子郵件連結。
設定 Android 應用程式,以便處理 Firebase Hosting 連結
- 為了處理來自 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 指南設定自訂網域。
- 設定 Android 應用程式,以便處理 Firebase Hosting 連結。(請參閱上文上一個部分的說明)。
- 使用更新後的
ActionCodeSettings
物件,將驗證連結傳送至使用者的電子郵件地址,其中自訂網域為linkDomain
。
重複使用自訂 Firebase Dynamic Links 網域
- 您可以將任何 Firebase Dynamic Links 網域重複使用為自訂網域。不過,系統將不再支援任何 Firebase Dynamic Links 功能 (例如,如果裝置上未安裝應用程式,使用者就無法重新導向至應用程式商店)。
- 設定 Android 應用程式,以便處理 Firebase Hosting 連結 (請參閱上一個部分的操作說明)。
- 使用更新後的
ActionCodeSettings
物件,將驗證連結傳送至使用者的電子郵件地址,其中自訂網域為linkDomain
。