Web links to /deeplink/search and /deeplink/main inside the app don't seem to be working

App version: 3.4.0 from Google Playstore

Android version: Version 13

Device model: Redmi Note 11S

Expected behaviour: I have a web page with a hyperlink to “https://antennapod.org/deeplink/search?query=test”. I access this web page from my mobile device’s chrome browser. I have the AntennaPod app installed on the same device.
Clicking on the hyperlink in the web page should take me to AntennaPod’s search view with the query string transferred to the search textbox (and the results should show).

Current behaviour: The app does not intercept the deeplink. The browser goes straight to https://antennapod.org website and of course throws a 404 error there.

First occurred: (e.g. about x days/weeks ago). I noticed it today (25/June/2024). I recall this used to work a few months ago.

Steps to reproduce: Described above.

Your concern appears to be about a change in functionality relative to this web site, not the AntennaPod app. Did I get that right?

Hi, thanks for the reply, no I meant the app does not seem to be receiving the link requests.
To simulate, just add a link https://antennapod.org/deeplink/search?query=test to any web page.
When the link is clicked from a mobile browser with the AntennaPod app installed, the AntennaPod app search view should open. As far as I can tell, the app’s Manifest XML seems to be configured ok, but I am not an expert, so not sure if there is something wrong in the app, or if it is a OS/browser-level issue.

To clarify, this thread is about that AntennPod registers an Intent for the mentioned address, which it indeed does.

My question is whether this truly worked from within a web browser, or if it could simply be that what used to work was from any other app? I’m purely speculating, but would not be surprised if browsers decide to simply open links, rather than looking for handlers outside of themselves. If it was a browser which used to work, was it the same browser?

When I try placing the link on a webpage, tapping on the link leads to a 404 on the antennapod.org server. I do however get asked about starting AntennaPod, if opening the link from some other app.

Dear @cos ,

Thank you for your time with the analysis. This used to work on Chrome, but no longer.

On further investigation, I am seeing Android dev documentation says this:

“Web links are deep links that use the HTTP and HTTPS schemes. On Android 12 and higher, clicking a web link (that is not an Android App Link) always shows content in a web browser.”

So, it appears the capability to jump out of a web page to the app’s search and episodes page is permanently lost from Android 12.

To retain the functionality, should the /search and /main web links in the manifest file migrate to a deeplink, like how “antennapod-subscribe://” is set up?

Note (side info): My webpage used to have content that linked to the app’s search screen via 'https://antennapod.org/deeplink/search. As recently as a couple of months ago, this used to work fine (that is, the browser used to open the app correctly). But now, for the same link, the browser goes straight to antennapod.org instead and fails with a 404. Chrome browser used then and now. Unfortunately the phone I have been using for testing is a shared team device, the OS probably was pre 12 and has now got updated.

1 Like

Hi,
Would appreciate if @ByteHamster or anyone else who is directly involved in the app’s development could comment.

SUMMARY:
The /search and /main deep links don’t work from a browser on Android 12+. The app may need to be updated to use true deep-links (or verified app links) for /search and /main deeplinks since the browser behavior has changed (please see Android dev docs link I shared above). I am not a dev expert, so kindly review and confirm. Thank you!

Just thought of sharing the use case:
Teachers I work with who use podcast based teaching material are heavily reliant on transferring from a webpage link into the app’s search bar to discover course content.

We do use verified app links

I wont try to understand the full picture here, but in the android dev docs link there is a mention about the autoVerify attribute which seems reasonable to assume could help. The intent-filter for search does not have that attribute set in the AndroidManifest.xml (neither for master nor develop).

@ByteHamster I have the same observation as @cos . Not able to find the autoVerify attribute in the manifest xml. Verified app links seem to need this to be set. When you say we use verified app links, Is this on a feature branch pending merge?

It is verified through the Google Play Console. However, Google now shows that as soon as there is one unverified deeplink in the app, the verified ones do not work either. So I guess we have to drop support for subscribeOnAndroid and apple podcasts urls

1 Like

Ok @ByteHamster, got it. Thank you. So, in summary:

  • The /deeplink/search and /deeplink/main should continue to work on Android 12 and above because they are “antennapod.org” links and have been verified through Google Play Console.
  • However, they don’t work now possibly because there is also a link in the manifest file for “subscribeonandroid.com” and this is obviously not verified as it is not your domain.
    Could the next release remove the “subscribeonandroid.com”? I could have done this myself - I can edit the relevant section in the manifest but I am not an android developer and don’t have the necessary setup to build the app locally and test.

@ByteHamster already prepared a PR for this :slight_smile:

I do think it’d be nice if we could keep support for SubscribeOnAndroid, so I’ve reached out to Blubrry to ask for support (they would need to list AntennaPod as a linked app on their domain in a specific way).

3 Likes

Thank you @keunes @ByteHamster I’ll follow the PR on github. I second your suggestion in the PR - the “autoVerify=True” in the manifest will support switching to the app directly and provide a seamless experience.

EDIT: I wasn’t reading properly. All good.