將電子郵件連結登入功能從 Firebase Dynamic Links 遷移 (iOS)

電子郵件連結驗證先前是依賴 Firebase Dynamic Links,但這項服務將於 2025 年 8 月 25 日關閉。我們已在 Firebase Authentication iOS SDK 11.8.0 以上版本中發布替代解決方案。如果您的應用程式使用 Firebase Dynamic Links,請將應用程式遷移至新的 Firebase Hosting 系統。

將相關聯的 Firebase Dynamic Links 網域遷移至 Firebase Hosting 網域

日後,Firebase Authentication將使用專案的Firebase Hosting預設網域,為電子郵件連結和行動應用程式中的其他頻外連結動作建立連結,而非使用 Firebase Dynamic Links 網域。也就是說,您也必須更新應用程式,將這個預設網域做為電子郵件驗證連結的相關聯網域,導向行動應用程式。

您可以按照「在 Apple 平台上使用電子郵件連結透過 Firebase 進行驗證」一文中的操作說明,更新應用程式以使用新自動佈建的Firebase Hosting預設網域。

請按照下列操作說明處理新網域的連結,並指示 Firebase Authentication 開始使用 Firebase Hosting 網域,以便日後產生行動應用程式連結。

如要繼續使用任何自訂 Firebase Hosting網域,甚至是將自訂 Firebase Dynamic Links 網域設為新的關聯網域,請按照「自訂行動連結」一節中的操作說明,調整步驟以符合您想使用的網域。

  1. Firebase Hosting 網域連結至應用程式關聯網域。

    您必須將所選網域設定為應用程式連結的關聯網域。如要在應用程式中設定授權,請在 Xcode 中開啟目標的「Signing & Capabilities」分頁,然後將上一個步驟中的 Firebase Hosting 網域新增至「Associated Domains」功能。如果使用預設 Firebase Hosting 網域,則為 applinks:PROJECT_ID.firebaseapp.com

    詳情請參閱 Apple 說明文件網站上的「支援相關聯的網域」。

    相關聯的網域檔案已部署在所有 Firebase Hosting 網域下。如要存取,請前往 PROJECT_ID.firebaseapp.com/.well-known/apple-app-site-association。這個 AASA 檔案可能會遭到覆寫,詳情請參閱「建立及代管通用連結設定檔」。

  2. 設定專案以使用新連結。

    準備好處理新的網域連結後,您可以使用 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);
    });
    }
    
  3. 傳送並兌換電子郵件連結。

    如常傳送電子郵件登入連結。使用者點選連結後,如果已安裝應用程式,系統會將他們重新導向至應用程式完成登入。

你可以使用自訂 Firebase Hosting 網域或重複使用自訂 Firebase Dynamic Links 網域,做為新的行動連結網域。

使用自訂 Firebase Hosting 網域

  1. 請按照Firebase Hosting這份指南 設定自訂網域。
  2. 將自訂網域連結至應用程式關聯網域。
  3. 將驗證連結傳送至使用者的電子郵件地址,並更新 ActionCodeSettings 物件,將自訂網域設為 linkDomain
  1. 您可以將任何 Firebase Dynamic Links 網域做為自訂網域。不過,系統將不再支援任何 Firebase Dynamic Links 功能 (例如,如果使用者裝置上未安裝應用程式,系統就無法將使用者重新導向至應用程式商店)。
  2. 將驗證連結傳送至使用者的電子郵件地址,並更新 ActionCodeSettings 物件,將自訂網域設為 linkDomain