Stan zaliczenia w działaniach e-maili

Stan można przekazać za pomocą adresu URL kontynuowania podczas wysyłania działań e-mail dla hasła resetuje lub weryfikuje adres e-mail użytkownika. Dzięki temu użytkownik może aby wrócić do aplikacji po zakończeniu danego działania. Możesz też określić czy link do działania e-maila ma być obsługiwany bezpośrednio z aplikacji mobilnej, jest zainstalowany zamiast strony internetowej.

Może to być bardzo przydatne w tych typowych sytuacjach:

  • Użytkownik, który nie jest obecnie zalogowany, może próbować uzyskać dostęp do treści, które wymaga zalogowania się. Użytkownik mógł jednak o tym nie zapomnieć. swojego hasła i uruchomić proces resetowania hasła. Na koniec użytkownik oczekuje, że wróci do tej sekcji, które próbujesz uzyskać.

  • Aplikacja może oferować dostęp tylko do zweryfikowanych kont. Dla: Na przykład newsletter może wymagać od użytkownika weryfikacji adresu e-mail przed zasubskrybowanie kanału. Użytkownik przechodzi proces weryfikacji przez e-maila i oczekuje, wrócić do aplikacji i dokończyć subskrypcję.

  • W innych przypadkach użytkownik mógł rozpocząć proces ze swojego urządzenia mobilnego. i oczekują, że po weryfikacji wrócą do aplikacji mobilnej, zamiast z przeglądarki.

Możliwość przekazywania stanu za pomocą adresu URL typu „Dalej” to zaawansowana funkcja, Zapewnia, że funkcja Uwierzytelnianie Firebase może znacznie zwiększyć wygodę użytkowników.

Adres URL przekazywania stanu/kontynuowania w działaniach związanych z e-mailami

Aby bezpiecznie przekazywać adres URL kontynuacji, domena tego adresu musi: została dodana jako autoryzowana domena w konsoli Firebase. Możesz to zrobić w sekcji Uwierzytelnianie przez dodanie tej domeny do listę Autoryzowanych domen na karcie Metoda logowania, jeśli jeszcze się tam nie znajduje.

Podczas wysyłania musisz podać instancję firebase.auth.ActionCodeSettings wiadomość e-mail do zresetowania hasła lub e-mail weryfikacyjny. Ten interfejs przyjmuje następujące parametry:

Parametr Typ Opis
url ciąg znaków

Określa link (adres URL stanu/kontynuacji), który ma różne znaczenie w różnych kontekstach.

  • Obsługa linku w widżetach akcji internetowych powoduje, że jest to precyzyjny w parametrze zapytania continueUrl.
  • Jeśli link jest obsługiwany bezpośrednio w aplikacji, jest to wartość continueUrl parametru zapytania w precyzyjnym linku Link dynamiczny.
iOS ({bundleId: ciąg znaków}|niezdefiniowany) Ustawia identyfikator pakietu na iOS. Spowoduje to próbę otwarcia linku w aplikacji na iOS, jeśli jest zainstalowana. Aplikacja na iOS musi być zarejestrowana w konsoli.
android ({packageName: string, installApp:wartość logiczna|nieokreślona, minimalna wersja: ciąg znaków|niezdefiniowana}|niezdefiniowana) Określa nazwę pakietu na Androida. Spowoduje to próbę otwarcia linku w aplikację na Androida, jeśli jest zainstalowana; Jeśli pole installApp jest prawidłowe, określa, czy zainstalować aplikację na Androida, jeśli urządzenie ją obsługuje, oraz Aplikacja nie jest jeszcze zainstalowana. Jeśli to pole jest podane bez atrybutu packageName, pojawia się błąd z wyjaśnieniem, że packageName należy podać w połączeniu z tym polem. Jeśli określono minimumVersion i starsza wersja pakietu zainstalowana jest aplikacja, użytkownik trafia do Sklepu Play, gdzie można ją uaktualnić. Aplikacja na Androida musi być zarejestrowana w konsoli.
handleCodeInApp (wartość logiczna|niezdefiniowana) to, czy link do działania w e-mailu będzie otwierany w aplikacji mobilnej czy na stronie internetowej. . Wartość domyślna to false (fałsz). Jeśli zasada ma wartość Prawda, link do kodu działania zostanie wysłana jako uniwersalny link lub link aplikacji na Androida i zostanie otwarta przez aplikację, jeśli jest zainstalowana. W przeciwnym razie kod zostanie wysłany do widżet internetowy, a następnie „Dalej” przekierowuje do aplikacji, jeśli Zainstalowano.
dynamicLinkDomain (ciąg|niezdefiniowany) Określa domenę (lub subdomenę) linku dynamicznego, która będzie używana w przypadku bieżącego linku jeśli ma się otworzyć za pomocą Linków dynamicznych Firebase. Jako wiele dynamicznych domen linków można skonfigurować dla poszczególnych projektów. To pole udostępnia nie można bezpośrednio wybrać jednego z nich. Jeśli nie zostanie podana żadna, pierwsza domena jest stosowany domyślnie.

Poniższy przykład pokazuje, jak wysłać e-mail weryfikacyjny link, który najpierw otworzy się w aplikacji mobilnej jako link dynamiczny Firebase, wykorzystując niestandardowy domena linku dynamicznego example.page.link (Aplikacja na iOS: com.example.ios lub aplikacja na Androida com.example.android, zostanie zainstalowany, jeśli nie jest jeszcze zainstalowany, a minimalna wersja to 12. precyzyjny link będzie zawierał ładunek adresu URL „continue” https://www.example.com/?email=user@example.com.

var actionCodeSettings = {
  url: 'https://www.example.com/?email=' + firebase.auth().currentUser.email,
  iOS: {
    bundleId: 'com.example.ios'
  },
  android: {
    packageName: 'com.example.android',
    installApp: true,
    minimumVersion: '12'
  },
  handleCodeInApp: true,
  // When multiple custom dynamic link domains are defined, specify which
  // one to use.
  dynamicLinkDomain: "example.page.link"
};
firebase.auth().currentUser.sendEmailVerification(actionCodeSettings)
  .then(function() {
    // Verification email sent.
  })
  .catch(function(error) {
    // Error occurred. Inspect error.code.
  });

Uwierzytelnianie Firebase używa Linków dynamicznych Firebase do wysyłania który powinien być otwierany w aplikacji mobilnej. Aby korzystać z Linki dynamiczne należy skonfigurować w konsoli Firebase.

  1. Włącz Linki dynamiczne Firebase:

    1. W konsoli Firebase otwórz sekcję Dynamic Links.
    2. Jeśli warunki usługi Dynamic Links nie zostały jeszcze przez Ciebie zaakceptowane, a Dynamic Links nie zostało utworzone domeny, zrób to teraz.

      Jeśli masz już utworzoną domenę Dynamic Links, zanotuj ją. Dynamic Links domena zwykle wygląda tak:

      example.page.link

      Ta wartość będzie potrzebna podczas konfigurowania aplikacji na Apple lub Androida przechwytywać link przychodzący.

  2. Konfigurowanie aplikacji na Androida:

    1. Jeśli planujesz obsługę tych linków w aplikacji na Androida, Nazwę pakietu na Androida trzeba określić w konsoli Firebase ustawieniach projektu. Dodatkowo SHA-1 i SHA-256 aplikacji i dostarczyć certyfikat.
    2. Musisz też skonfigurować filtr intencji dla precyzyjnego linku w AndroidManifest.xml.
    3. Więcej informacji: Instrukcje dotyczące Linków dynamicznych na Androidzie.
  3. Konfigurowanie aplikacji na iOS:

    1. Jeśli planujesz obsługę tych linków w aplikacji na iOS, W konsoli Firebase należy określić identyfikator pakietu na iOS ustawieniach projektu. Dodatkowo identyfikator App Store i identyfikator Apple Trzeba też podać identyfikator zespołu.
    2. Musisz też skonfigurować domenę uniwersalnego linku FDL jako Powiązana domena w możliwościach aplikacji.
    3. Jeśli planujesz dystrybuować swoją aplikację na iOS w wersji 8 lub starszej, musisz ustawić identyfikator pakietu na iOS jako schemat niestandardowy dla przychodzących Adresy URL.
    4. Więcej informacji: Instrukcje dotyczące linków dynamicznych na iOS.

Obsługa działań dotyczących poczty e-mail w aplikacji internetowej

Możesz określić, czy link z kodem działania ma być obsługiwany w internecie najpierw aplikacji, a następnie przekieruj do innej strony internetowej lub aplikacji mobilnej pod warunkiem, że aplikacja mobilna będzie dostępna. Można to zrobić, ustawiając handleCodeInApp na false w firebase.auth.ActionCodeSettings obiekt. Identyfikator pakietu na iOS lub nazwę pakietu na Androida nie są wymagane, jej podanie pozwoli użytkownikowi , aby przekierowywać użytkownika z powrotem do określonej aplikacji po uzupełnieniu kodu działania e-mailem.

Użyty tutaj URL strony internetowej jest skonfigurowany w szablonach działań e-mail . Domyślna jest udostępniona dla wszystkich projektów. Więcej informacji: dostosowywaniu modułów obsługi poczty e-mail, aby dowiedzieć się więcej jak dostosować moduł obsługi działań poczty e-mail.

W tym przypadku link w parametrze zapytania continueUrl będzie miał postać link FDL, którego ładunek to URL określony w ActionCodeSettings obiektu. Możesz przechwytywać i obsługiwać linki przychodzące z aplikacji bez żadnych dodatkowych zależności, zalecamy użycie biblioteki klienta FDL do przeanalizuj precyzyjny link.

Podczas obsługi czynności związanych z pocztą e-mail, takich jak potwierdzanie adresu e-mail, kod działania z sekcji Parametr zapytania oobCode musi zostać przeanalizowany z precyzyjnego linku, a następnie zastosowany przesłać e-mailem applyActionCode, aby zmiana zaczęła obowiązywać, czyli na adres e-mail w celu weryfikacji.

Obsługa działań poczty e-mail w aplikacji mobilnej

Możesz określić, czy link z kodem działania ma być obsługiwany w sekcji aplikacja mobilna, o ile jest zainstalowana. Aplikacje na Androida w android.installApp możesz też określić, że aplikacja należy zainstalować, jeśli urządzenie obsługuje tę funkcję i nie jest jeszcze zainstalowane. Jeśli link został kliknięty na urządzeniu, które nie obsługuje telefonu komórkowego aplikacji, jest otwierany na stronie internetowej. Można to zrobić, ustawiając handleCodeInApp na true w firebase.auth.ActionCodeSettings obiekt. Adres URL aplikacji mobilnej Trzeba też podać nazwę pakietu na Androida lub identyfikator pakietu na iOS.

Jeśli nie ma aplikacji mobilnej, używany tutaj zastępczy URL skonfigurowane w sekcji szablonów działań e-mail. Udostępniona jest domyślna wersja dla wszystkich projektów. Więcej informacji: dostosowywaniu modułów obsługi poczty e-mail, aby dowiedzieć się więcej jak dostosować moduł obsługi działań poczty e-mail.

W tym przypadku link do aplikacji mobilnej wysłany do użytkownika będzie linkiem FDL, którego to adres URL kodu działania skonfigurowany w konsoli, zawierający zapytanie parametry oobCode, mode, apiKey i continueUrl. Ten ostatni będzie pierwotna wartość URL została określona w obiekcie ActionCodeSettings. Choć możesz przechwytywać i obsługiwać przychodzący link z aplikacji bez dodatkowego zależność, zalecamy użycie biblioteki klienta FDL do analizy precyzyjnego linku do Ciebie. Kod działania może zostać zastosowany bezpośrednio z aplikacji mobilnej podobnej do do sposobu, w jaki jest on obsługiwany z poziomu przepływu sieci opisanego w dokumencie dostosowywania modułów obsługi poczty e-mail.

Podczas obsługi czynności związanych z pocztą e-mail, takich jak potwierdzanie adresu e-mail, kod działania z sekcji Parametr zapytania oobCode musi zostać przeanalizowany z precyzyjnego linku, a następnie zastosowany przesłać e-mailem applyActionCode, aby zmiana zaczęła obowiązywać, czyli na adres e-mail w celu weryfikacji.