Ionic 3 Page Decorator: Open Deeplink in Android Application

This Question is also on StackOverflow (unanswered)

I know there was a lot going on with deeplinks and Ionic in the past few weeks and months. And at least for me it is still unclear how to put all of it together and make it work.

I am currently using Ionic 3.6.0

The Ionic native Deeplink Plugin is still around. However, my understanding is that this plugin is not used anymore since Ionic 3 introduced it’s @Page() decorator, in which the deeplink (segment) can be specified. This works well for me in the browser but I just can’t make it work in my android app.

Let’s say I have an account activation page:

  @IonicPage({
    name: 'activate-account',
    segment: 'activate-account/:code',
    defaultHistory: ['start'],
    priority: 'off'
  })

Now the account-activation link I would like to use currently looks something like this: https://my-app.com/#/activate-account/hsdlHJj2hsd32ahJsdhJS43HD

This one works perfectly well in the browser. To make it work in android I defined an intent in the AndroidManifest.xml:

<intent-filter android:autoVerify="true">
                <action android:name="android.intent.action.VIEW" />
                <category android:name="android.intent.category.DEFAULT" />
                <category android:name="android.intent.category.BROWSABLE" />
                <data android:host="my-app.com" android:pathPrefix="/" android:scheme="https" />                
</intent-filter>

Android does recognize my link and asks me to open it in my app. But it seems it somehow get the path wrong, because the account-activation page doesn’t open.

My idea was that this might have something to do with the # that ionic (angular) adds to my url. But leaving it out doesn’t make it work either.

Does anyone have an idea how to solve this? Or maybe how to check/log what my app is doing once I opend it via this url (I am using Chrome’s awesome device inspector but the console log doesn’t show anything related)? I know that I would probably be able to work around it using the android deeplink plugin, but it’s usage to me seems to contradict the newly introduced @Page() decorator.