将动态/深层链接与Firebase电子邮件验证一起使用吗?

问题描述 投票:0回答:1

我在我的本机应用程序中使用RNfirebase。我可以获取电子邮件验证链接来打开我的应用程序,仅此而已。我知道我需要访问链接并对其进行解析以获得oobCode并将其应用于用户。但是,当我使用链接打开应用程序时,我使用“ react-native”中的{Linking}触发的侦听器似乎无法检测到该URL。我想将他们重定向到“谢谢您验证电子邮件”页面,并使用firebase生成的oobCode验证他们的电子邮件。

我操纵了AndroidManifest.xml以侦听链接(myapp.page.link)

<intent-filter android:label="@string/app_name">
          <action android:name="android.intent.action.VIEW"/>
          <category android:name="android.intent.category.DEFAULT"/>
          <category android:name="android.intent.category.BROWSABLE"/>
          <data
              android:scheme="https"
              android:host="myapp.page.link"
              />
      </intent-filter>

我已经在我的初始应用程序页面中添加了侦听器。

useEffect(() => {
getLink()
Linking.addEventListener('url', appWokeUp)
}, [])

const getLink = async() => {
        const link = await Linking.getInitialURL()
        console.log(link)
    }

    const appWokeUp = event => {
        console.log(event.url)
    }

我从getLink()收到的全部是'null'。我从appWokeUp处理程序中什么都没收到。我希望至少收到触发该应用程序的网址。

firebase react-native react-native-android deep-linking react-native-firebase
1个回答
0
投票
  1. 使用firebase.links().onLink()firebase.getInitialUrl()获取链接。
  2. 然后解析查询字符串并使用参数oobCode
  3. 呼叫firebase.auth().applyActionCode()
© www.soinside.com 2019 - 2024. All rights reserved.