Beagle v1.5 não é mais mantida ativamente. A versão documentada que você está visualizando pode conter funcionalidades depreciadas. Para obter as funcionalidades mais recentes, consulte a nossa última versão .
O DeepLinkHandler
é uma interface que define como configurar a navegação entre uma
tela Server-Driven e uma tela nativa.
Para realizar essa configuração, você deve criar uma classe que implemente a interface DeepLinkHandler
e que faça a anotação com @BeagleComponent
, conforme listado abaixo:
@BeagleComponent
class AppDeepLinkHandler : DeepLinkHandler {
override fun getDeepLinkIntent(
rootView: RootView,
path: String,
data: Map<String, String>?,
shouldResetApplication: Boolean
) = Intent(path)
}
No método getDeepLinkIntent, você consegue configurar a navegação de telas de fluxos server driven ui para suas telas nativas, fazendo com que e o beagle reconheça a sua regra.
Atributo | Tipo | Definição |
---|---|---|
rootView | RootView | RootView tem a referência da activity ou fragment |
path | String | Parâmetro de rota que pode ser definido via Navigate.OpenNativeRoute(route: “navigate.myview”) |
data | Map<String, String>? | Mapa de parâmetros que pode ser definido via OpenNativeRoute(route = “navigate.myview” , data = mapOf(“param1” to “paramValue”)) |
shouldResetApplication | Boolean | Abre uma tela com a rota informada a partir de um novo fluxo e limpa a pilha de telas de todo o aplicativo. |
Feito isso, é necessário modificar o arquivo de manifesto do Android:
intent-filter
na Activity
para a qual deseja navegar.Action
que identificará essa Activity
. O nome que usamos aqui foi "navigate.myview"
.category
e a nomeie como "android.intent.category.DEFAULT"
, assim como no exemplo abaixo.//AndroidManifest
<activity android:name=".activities.DeepLinkActivity">
<intent-filter>
<action android:name="navigate.myview"/>
<category android:name="android.intent.category.DEFAULT"/>
</intent-filter>
</activity>
Agora você só precisa chamar a Action Navigate com o método OpenNativeRoute como o exemplo abaixo:
//Widget used to navigate to a native screen
Button(
text = "Click to navigate!",
onPress = listOf(
Navigate.OpenNativeRoute("navigate.myview")
)
)
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.