Search
Write a publication
Pull to refresh

Comments 1

Привет, да тоже столкнулся с проблемами по Deep Link'ам с разными build variant'ами. Думали сделать через разные файлы graph'ов либо strings для каждого build type'a, но это бы ещё больше проблем создало. Смогли все таки решить, можно сделать такую реализацию:

Обязательно к нашему host'у НЕ должна быть добавлена scheme=app в AndroidManifest далее нам нужно <deepLink ... /> в nav_graph указывать таким образом:

app:uri="https://.*/path"

Очень полезная ссылка на тред в stackoverflow, мне кажется при создании статьи тоже изучали его.

Код в результате:

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:scheme="http" />
  <data android:scheme="https" />
  <data android:host="${host}" />
</intent-filter>

nav_graph.xml

<fragment
  android:id="@+id/example_fragment"
  android:name="com.example.presentation.ui.fragments.ExampleFragment"
  tools:layout="@layout/fragment_example">
    <deepLink
      android:autoVerify="true"
      app:uri="https://.*/path/{id}" />
    <argument
      android:name="id"
      android:defaultValue="-1"
      app:argType="integer" />
</fragment>

А так да, проблем было очень много, спасибо большое за статью ❤️

Sign up to leave a comment.

Articles