Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

http/https launchUrl opens in a browser/webview instead of deep linking in iOS only #1352

Open
johnnywang opened this issue Jan 27, 2022 · 11 comments
Assignees

Comments

@johnnywang
Copy link

Description:

We've managed to get deeplinks to (mostly) work in our mobile apps. The following cases all work fine:

  • Links to our website (i.e. https://app.mysite.com) deeplink correctly in both iOS and Android when tapped on in emails, messages, Slack, notes, etc, with both cold and warm starts
  • Branch links (i.e. https://mysite.app.link) also deeplink correctly in the above scenario
  • Both website and Branch links deeplink properly when specified as a Launch URL in the OneSignal web UI in Android
  • Custom schemes (i.e. mysite://) work in all scenarios

The one scenario left where this is not working is OneSignal notifications sent to iOS. Tapping on a notif with either a Branch or website link will result in our app opening as expected, but then the default browser opens the launch URL, instead of the app routing to the correct screen. However, tapping the option to open that page in the app will then route to the correct screen afterwards.

We have React Navigation set up to override getInitialUrl, but this also happens without that override. It appears that Linking.getInitialUrl (or with Branch, Branch.getLatestReferringParams) always returns null when tapping on an iOS notif set with a http(s) launch URL. However, if we specify a custom scheme instead, then while Linking.getInitialUrl still returns null, Branch will at least pick up on this link and then route properly.

Environment

  • React Native, as an ejected Expo app, running a bare workflow, with React Navigation
  • Installed "react-native-onesignal": "^4.3.5" via yarn
  • Launch URLs are either Branch links, or direct links to our site

Steps to Reproduce Issue:

I don't have a great way to repro this in a barebones app since I'm not sure how to set that up, but this is what we've done in our app:

  1. Followed the setup guide here
  2. For iOS, set up AASA file
  3. Set up React Navigation to handle our deeplinking
  4. Send a notif via the web UI with a http or https launch URL
  5. Set OneSignal_suppress_launch_urls to true in Info.plist (not necessary as this issue still happens without this, but in a webview)
  6. Observe the iOS app open first, then immediately open the default browser to the launch URL

Anything else:

While I didn't find any similar issues in this particular package, I did notice this still-open issue from the Cordova SDK that seems to point as a similar problem: OneSignal/OneSignal-Cordova-SDK#412.

@rgomezp
Copy link
Contributor

rgomezp commented Jan 27, 2022

Howdy,
We're working on a fix for this and will have it released very soon. Thanks for your patience!

Cheers

@BokiGaja
Copy link

We encountered the same issue. With which version we can expect this to be resolved and when?

Cheers

@Scr3nt
Copy link

Scr3nt commented May 3, 2022

We have also encountered this problem, do you have any clues on when there will be a fix please?

@nwpnkmngm
Copy link

We have the same issue, Hope we can get this resolve soon.

Thanks

@danieldoin
Copy link

Howdy, We're working on a fix for this and will have it released very soon. Thanks for your patience!

Cheers

Since Jan 27, are there any updates?

@sinameraji
Copy link

Any updates? Facing the same issue while using deeplinks created via Firebase

@muxbert
Copy link

muxbert commented Dec 11, 2022

@rgomezp Any updates on this?
@johnnywang have you found a solution for your issue?
It's stuck on the webview
PHOTO-2022-12-11-16-17-17

@idanlevi1
Copy link

@rgomezp Hi, have any updates? 🙏🏽

@CleiberReis
Copy link

Hey guys! Has anyone managed to resolve the issue? We have the same issue.

@idanlevi1
Copy link

idanlevi1 commented Feb 11, 2023

Hey guys! Has anyone managed to resolve the issue? We have the same issue.

Put this in info.plist:

	<key>OneSignal_suppress_launch_urls</key>
	<true/>

it work for me

@arneson
Copy link

arneson commented Nov 1, 2023

We're having a similar issue where if we set a www url as the launchUrl in the push, the push opens in safari instead of using the inapp-browser. This behaviour seems configurable in the plain iOS sdk but I don't think that flag is set / exposed/ can be set by the react-native sdk.
The flag seems to be OSUD_NOTIFICATION_OPEN_LAUNCH_URL / ONESIGNAL_INAPP_LAUNCH_URL

If our analysis is correct, please make that flag configurable from the react native sdk.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests