Para exibir uma tela full server-driven
, você deve usar o método this.newServerDrivenIntent<BeagleActivity>()
this
é o contexto da sua tela atual.Este método requer apenas o parâmetro RequestData
Você deve seguir o comando abaixo:
Certifique-se de listar a sua Beagle Activity assim como nomeada em seu AndroidManifest.
No exemplo abaixo, chame somente de <BeagleActivity>. Esse nome é você quem define ao criar sua BeagleActivity. No tutorial Criando um projeto do zero , ela é chamada de AppBeagleActivity
val intent = this.newServerDrivenIntent<BeagleActivity>(RequestData("/screen"))
startActivity(intent)
Para testar o comando acima, o componente RequestData
requer somente uma URL que traga o JSON com as informações da tela server-driven que você quer exibir.
Neste caso, siga estes passos:
"/screen"
. https://run.mocky.io/v3/73322be2-96bf-467b-b6dc-e3fff179852cval intent = this.newServerDrivenIntent<BeagleActivity>(RequestData("https://run.mocky.io/v3/73322be2-96bf-467b-b6dc-e3fff179852c"))
startActivity(intent)
A RequestData
é uma classe interna do Beagle utilizada para solicitar qual tela você deseja exibir. Você deve listar apenas o atributo URL referente a página que deseja carregar vinda do BFF.
No entanto, esse elemento possui outros atributos, que podem ser utilizados na transição e entre telas. Para saber mais sobre essa classe, veja em Request Data
Para renderizar qualquer componente do Beagle no Android, é necessário informar um viewGroup
onde a view correspondente ao componente será renderizada, como um FrameLayout
dentro de uma Activity
, Fragment
ou DialogFragment
. Veja o exemplo abaixo:
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/frame_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"/>
Agora chame o método loadView()
a partir do frame_layout
criado no xml
e passe a Activity
e o JSON
como parâmetros.
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
frame_layout.loadView(
activity = this,
screenJson = "JSON AQUI"
)
}
}
O método loadView()
também pode receber como parâmetro um Fragment
no lugar da Activity
e dois outros opcionais, seguindo o exemplo abaixo:
loadView(
fragment = seuFragment,
screenJson = "JSON AQUI",
screenId = "seu identificador",
shouldResetContext = seuBoolean,
)
screenId
: representa um identificador de tela para criar o analytics quando ela é criada. O valor padrão é vazio.
shouldResetContext
: quando true, isso remove no momento da chamada da função loadView
todos os dados de contexto vinculados ao proprietário do ciclo de vida. O valor padrão é false.
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.