Fenix: FNX3-16837 ⁃ [META] App-Links: handle intent

Created on 5 Jun 2019  Β·  22Comments  Β·  Source: mozilla-mobile/fenix

User Problem

-User taps on a "download/get this app" link on a site.
-They are taken to the Google Play Store mobile site within Fenix with no "open in app" option to open Google Play Store native app
-As a result, user will first need to sign into their Google account.
-If they have the app installed, they will see an "installed" button but still no "open in app" option (although the "open in app" option often shows up if user taps on the "installed" button once)
-If they don't have the app installed, they have to tap on "install", choose which device they want to install the app to, and still not have an "open app" option after installation has been completed.

*Fennec surfaces the "open in app" badge allowing user to open the Google Play Store App but it's not perfect/consistent either. We should support better integration with Android system overall. This is important for browser usability.

User Stories:

  • [x] Setting to always open intents in Fenix #7099

Dependencies

  • [x] [AC turn on app links](https://github.com/mozilla-mobile/android-components/issues/3687)

UX Spec

AC-by-Fenix OpenInApp ac gv πŸ™… waiting

Most helpful comment

Thank you @rocketsroger.

On the latest Nightly 3/31 with Google Pixel 4 XL (10) I started this table and I made a bigger list of websites that I will add here.
There is still one outstanding GeckoView bug that needs to be fixed.
There are many different behaviors between web apps as some of them only open in the GPlay but as a webpage and not in the native app.

| Website | Redirected to Gplay? (app not installed) | Redirected to the app? (app installed) |
| :--: | :--: | :--: |
| Tinder | βœ”οΈ | βœ”οΈ |
| Reddit | βœ”οΈ | βœ”οΈ |
| Uber | βœ”οΈ | ❌ |
| Lyft | ❌ | ❌ |
| Fennec | βœ”οΈ | ❌ |
| Phone number / email | Opening "email" and "telephone" takes me to an email app or to phone. |
| Netflix | ❌ | ❌ |

When accessing lyft the c.singular.net URL is displayed.

I will continue to investigate and keep adding to this list the issues I find and maybe new bugs.

All 22 comments

Check the test links on this page: https://simonmarquis.github.io/Android-App-Linking/
No app installed - they should redirect to the playstore page.
When the AppLinks app is installed, they should open the link in the app.

This is implemented as part of ac#3058.

The GetAppLinkRedirect use case has a includeInstallAppFallback flag in its constructor.

Blocked by #3358 .

I imagine this is the same scenario, correct?

E.g, I visit Pinterest.com, I see the 'Get on Google Play' at the bottom of their sign-in. Tapping it does nothing currently (52850feaab60b7b88ebc6a5c7e2868d3dda3e932).

Yes @AaronMT , once we reenable the app links feature, that should work

I visit Pinterest.com, I see the 'Get on Google Play' at the bottom of their sign-in. Tapping it does nothing currently (52850fe).

Where the page is directing the user directly to Google Play, this will be handled by a market:// link – which is enabled by ac#3725.

This is blocked by ac#3687.

Next steps here: we'll break out into a user-story filing (@boek and @AmyYLee)

It looks like the GV bug has landed, and this needs to be done in AC https://github.com/mozilla-mobile/android-components/issues/3687

@AmyYLee looking at this list, is there a P1/P2 priority for these? as in, what would be an MVP subset to ship?

@AmyYLee looking at this list, is there a P1/P2 priority for these? as in, what would be an MVP subset to ship?

Hi,

The user stories are fairly interconnected to have a positive user experience with this feature. I would say we should include all of it as MVP if we can. @boek Do you have any feedback on this?

@AmyYLee I'm continue working on related issues to this meta.

Talk to @rocketsroger if you pick this up, both to understand what the current state is, and bc he's said he's going to be making the App Links setting in Fenix bc it's a breaking change.

@liuche @AmyYLee that sounds like a @vesta0 question

Hello,@liuche @rocketsroger I added this https://github.com/mozilla-mobile/fenix/issues/8380 a while ago as a followup from https://github.com/mozilla-mobile/fenix/issues/5905 to move the "Prevent websites from opening links in external apps" under the Set as default browser section in the settings menu, this will respect the mocks from this meta.

I started testing this with the https://simonmarquis.github.io/Android-App-Linking/ website.
@liuche @rocketsroger should I wait until the #8380 will be fixed? As maybe there can appear regressions?
I will follow the table below.
For now, I did some tests and I can confirm that:
No app installed - I'm redirected correctly to the Google Play to install the app.
When the AppLinks app is installed, is correctly opened when testing it.
Before testing other popular apps, should verify the Web URL, App links, Custom scheme too?
Note that for those 3 options I'm always redirected to Not Found page with the message
The requested URL /action was not found on this server.

Method | Link | App not installed | Offline | Referrer | Deeplink | Deferred deeplink
| :--: | :--: | :--: | :--: | :--: | :--: | :--:
|Web url | Test | ❌ | βœ”οΈ | ❌ | βœ”οΈ | ❌
|App Links | Test | ❌ | βœ”οΈ | ❌ | βœ”οΈ | ❌
|Custom scheme | Test | ❌ | βœ”οΈ | ❌ | βœ”οΈ | ❌
|Intent scheme | Test | βœ”οΈ | βœ”οΈ | βœ”οΈ | βœ”οΈ | ❌
| App scheme | Test | βœ”οΈ | βœ”οΈ | βœ”οΈ | βœ”οΈ | ❌
|Firebase Dynamic links | Test | βœ”οΈ | βœ”οΈ | ❌ | βœ”οΈ | βœ”οΈ
| Play Store url | Test | βœ”οΈ | βœ”οΈ | βœ”οΈ | ❌ | βœ”οΈ
| Market scheme| Test | βœ”οΈ | βœ”οΈ | βœ”οΈ | βœ”οΈ | βœ”οΈ

UX requirement for customized experience was not implemented. https://github.com/mozilla-mobile/fenix/issues/7099#issuecomment-582639181

Thank you @rocketsroger.

On the latest Nightly 3/31 with Google Pixel 4 XL (10) I started this table and I made a bigger list of websites that I will add here.
There is still one outstanding GeckoView bug that needs to be fixed.
There are many different behaviors between web apps as some of them only open in the GPlay but as a webpage and not in the native app.

| Website | Redirected to Gplay? (app not installed) | Redirected to the app? (app installed) |
| :--: | :--: | :--: |
| Tinder | βœ”οΈ | βœ”οΈ |
| Reddit | βœ”οΈ | βœ”οΈ |
| Uber | βœ”οΈ | ❌ |
| Lyft | ❌ | ❌ |
| Fennec | βœ”οΈ | ❌ |
| Phone number / email | Opening "email" and "telephone" takes me to an email app or to phone. |
| Netflix | ❌ | ❌ |

When accessing lyft the c.singular.net URL is displayed.

I will continue to investigate and keep adding to this list the issues I find and maybe new bugs.

@rocketsroger is this work completed?

@rocketsroger is this work completed?

Yes, implementation from A-C side was completed. There is currently a regression that requires a GeckoView fix though. https://bugzilla.mozilla.org/show_bug.cgi?id=1596825

@rocketsroger what's the word on the GV regression?

@rocketsroger what's the word on the GV regression?

The GV regression was fixed. But the fix introduced a new API that A-C will have to hook into for it to work. I've put up a change to hook into the new API. https://github.com/mozilla-mobile/android-components/issues/7047.

@rocketsroger can we close this now?

@rocketsroger can we close this now?

Yes, I think so. I don't know any open issues related to this.

Was this page helpful?
0 / 5 - 0 ratings