Expo Linking issue on Expo SDK 33

it was working fine on SDK 32.0.0 But now i am using SDK 33.0.0 and expo: “^33.0.0”,

Expo linking function are not working on SDK 33.

const listener = ({url}) => {
WebBrowser.dismissBrowser()
const tokenEncoded = Linking.parse(url).queryParams[‘token’]
if (tokenEncoded)
token = decodeURIComponent(tokenEncoded)
}

  let res= Linking.addEventListener('url', listener)
    await WebBrowser.openBrowserAsync(captchaUrl)
  Linking.removeEventListener('url', listener)

I would be most thankful for any suggestions.

Hey @khushboo123,

What exactly happens in the SDK33 project? Providing as much details about the issue is always a good idea. “Not working” is vague and hard to work off of.

Cheers,
Adam

Thanks for your reply @adamjnav ,

I am doing firebase phone authentication by recaptcha. But after the recaptcha authentication Linking.makeUrl() function not working for return to the app by this i did not get the token for phone authentication.

const listener = ({url}) => {
WebBrowser.dismissBrowser()
const tokenEncoded = Linking.parse(url).queryParams[‘token’]
if (tokenEncoded)
token = decodeURIComponent(tokenEncoded)
}

let res= Linking.addEventListener(‘url’, listener)
await WebBrowser.openBrowserAsync(captchaUrl)
Linking.removeEventListener(‘url’, listener)

And here, listener is not return anything(Encoded token)

& this is my package.json and app.json

{
“main”: “node_modules/expo/AppEntry.js”,
“scripts”: {
“start”: “expo start”,
“android”: “expo start --android”,
“ios”: “expo start --ios”,
“eject”: “expo eject”
},
“dependencies”: {
@expo/samples”: “^2.1.1”,
@expo/vector-icons”: “^10.0.1”,
“expo”: “^33.0.0”,
“expo-web-browser”: “^5.0.3”,
“firebase”: “^6.0.2”,
“native-base”: “^2.12.1”,
“react”: “16.8.3”,
“react-native”: “https://github.com/expo/react-native/archive/sdk-33.0.0.tar.gz”,
“react-navigation”: “^3.9.1”
},
“devDependencies”: {
“babel-preset-expo”: “^5.0.0”
},
“private”: true
}

app.json

{
“expo”: {
“name”: “T*******”,
“slug”: “t******”,
“privacy”: “public”,
“sdkVersion”:“33.0.0”,
“platforms”: [
“ios”,
“android”
],
“icon”: “./assets/tounch-icon.png”,
“version”: “1.1.2”,
“orientation”: “portrait”,

   "splash": {
  
  "image": "./assets/splash.png",
  "resizeMode":"contain",
  "backgroundColor": "#ffffff"
},
"updates": {
  "fallbackToCacheTimeout": 0
},
"assetBundlePatterns": [
  "**/*"
],
"ios": {
  "supportsTablet": true
},
"scheme" : "*********",
"android": {
  "versionCode": 2,
  "package": "com.************.*******"
}

}
}

i am solving this problem by using this code

Linking.addEventListener('url', (url) => {this._handleUrl(url.url)});

and _hanedle url function:

    _handleUrl = (url) => {
        console.log("URL:",url)
    }

This topic was automatically closed 15 days after the last reply. New replies are no longer allowed.