Alguns componentes fornecidos pelo Beagle podem ser direcionados à uma plataforma espefica, pois, podem não fazer tanto sentido para outra. Por exemplo, o uso do ScrollView na plataforma Mobile é necessário para rolar conteúdos, mas não é necessário na Web.
Isso é possível pois o Beagle possui a funcionalidade de Especificação de Plataforma ou Canalização, que te permite ter controle sobre quais elementos são enviados pelo BFF e quais plataformas serão vão utiliza-los.
O Beagle faz uso de um cabeçalho personalizado chamado beagle-platform
que pode conter os valores:
ALL
;MOBILE
;ANDROID
;IOS
;WEB
;Dessa forma, a resposta do BFF é interceptada e os elementos são filtrados de acordo com a plataforma para qual ela está sendo enviada.
Você pode acessar esse controle de duas maneiras:
Veja no exemplo a seguir:
fun createComponentPlatformDependent(beaglePlatform: BeaglePlatform) = when {
this.beaglePlatform.isMobilePlatform() -> {
ScrollView(
children = listOf(
Text("Mobile platform")
)
)
}
this.beaglePlatform == BeaglePlatform.WEB -> {
Text("Web platform")
}
else -> {
ScrollView(
children = listOf(
Text("Mobile platform"),
Text("Web platform")
)
)
}
}
Veja no exemplo a seguir:
Button(text = "mobile only text").forPlatform(BeaglePlatform.MOBILE),
Button(text = "web only text").forPlatform(BeaglePlatform.WEB),
Button(text = "ios only text").forPlatform(BeaglePlatform.IOS),
Button(text = "android only text").forPlatform(BeaglePlatform.ANDROID),
Button(text = "text free for all")
Se quiser saber como configurar esta funcionalidade, veja na seção de customização do Beagle.
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.