2016-06-10 2 views
1

Я использую AirBnB-х DeepLinkDispatch для обработки глубоких ссылок в приложении, и я хочу, чтобы соответствовать глубокие ссылки как:DeepLinkDispatch соответствовать любому пути

appscheme://productsSection/some/nested/product/categories/structure 
appscheme://productsSection/some/nested/product/categories 
appscheme://productsSection 

Из того, что я видел в документации, которую я можно настроить глубокий путь связи:

@DeepLink("appscheme://productsSection") 
@DeepLink("appscheme://productsSection/{topCategoryId}") 
@DeepLink("appscheme://productsSection/{topCategoryId}/{subCategoryId}") 

Моя проблема заключается в том, что во время компиляции я не знаю, насколько глубоко вложен путь.

Есть ли способ настроить библиотеку для соответствия всему вложенному пути без указания каждого сегмента, например , так что я могу вручную обработать путь URI и построить из него свой стек навигации?

Если да, то какова была бы аннотация для класса? (Я заинтересован только в соответствии глубоких ссылок, не извлекая сегменты пути в качестве параметров из них)

В ноте я также использовать библиотеку для обработки других глубоких связей с различными частями приложения (согласование является сделанный в основном на узле URI и одном или двух сегментах пути), и я бы хотел не удалить библиотеку и обработать все глубокие ссылки вручную.

Спасибо!

ответ

1

Просматривая код, эта функция в настоящее время не поддерживается библиотекой.

Вы можете попробовать открыть issue, чтобы узнать, можете ли они добавить поддержку для него.

На момент написания статьи, учитывая, что то, что вы пытаетесь достичь, в настоящее время выходит за рамки библиотеки, было бы намного проще реализовать схему непосредственно внутри AndroidManifest.xml, а затем перейти оттуда?

<activity android:name=".MyDeepLinkActivity"> 
    <intent-filter> 
     <action android:name="android.intent.action.VIEW" /> 
     <category android:name="android.intent.category.DEFAULT" /> 
     <category android:name="android.intent.category.BROWSABLE" /> 
     <data android:scheme="appscheme" android:host="productsSection" /> 
    </intent-filter> 
</activity> 

Подробнее о том, как настроить его, можно подробнее. here.

Смежные вопросы