Você está na página 1de 2

Depois de usar o aplicativo Playchat para gerar alguns eventos do usuário, verifique se os

servlets estão sendo registrados como listeners e coletando logs de eventos de usuários.

Abra o Firebase Realtime Database do aplicativo, em que [FIREBASE_PROJECT_ID] é o


identificador de Criar um projeto do Firebase.

https://console.firebase.google.com/project/[FIREBASE_PROJECT_ID]/database/data

Na parte inferior do Firebase Realtime Database, no local de dados /inbox/, há um grupo de


nós prefixados por client- e seguido por uma chave gerada aleatoriamente, representando o
login da conta de um usuário. A última entrada neste exemplo, client-1240563753, é seguida
por um identificador de 16 dígitos do servlet que atualmente atende eventos de registros
desse usuário, neste exemplo 0035806813827987.

Dados armazenados no Firebase Realtime Database

Logo acima, no local de dados /inbox/, estão os identificadores de todos os servlets atribuídos
no momento. Neste exemplo, os logs são coletados por apenas um servlet. Em
/inbox/[SERVLET_IDENTIFIER] estão os logs de usuário, gravados pelo aplicativo nesse servlet.

Abra a página do App Engine do serviço de back-end em


https://[FIREBASE_PROJECT_ID].appspot.com/printLogs, em que [FIREBASE_PROJECT_ID] é o
identificador de Criar um projeto do Firebase. O identificador do servlet que registrou os
eventos do usuário gerados por você é exibido na página. É possível também ver as entradas
de registros para os eventos abaixo do identificador da caixa de entrada do servlet.

Observação: vários servlets são executados simultaneamente ao serviço de back-end no


ambiente flexível do App Engine. Recarregue a página do serviço de back-end mais vezes, até
que a solicitação de carregamento da página seja respondida pelo servlet que rastreia os
registros.

Como explorar o código

O app Playchat para Android define a classe FirebaseLogger para gravar os logs de eventos de
usuários no Firebase Realtime Database.

app/src/main/java/com/google/cloud/solutions/flexenv/FirebaseLogger.javaVER NO GITHUB

import com.google.cloud.solutions.flexenv.common.LogEntry;

import com.google.firebase.database.DatabaseReference;
import com.google.firebase.database.FirebaseDatabase;

/*

* FirebaseLogger pushes user event logs to a specified path.

* A backend servlet instance listens to

* the same key and keeps track of event logs.

*/

class FirebaseLogger {

private final DatabaseReference logRef;

FirebaseLogger(String path) {

logRef = FirebaseDatabase.getInstance().getReference().child(path);

public void log(String tag, String message) {

LogEntry entry = new LogEntry(tag, message);

logRef.push().setValue(entry);

Quando um novo usuário faz o login, o Playchat chama a função requestLogger para adicionar
uma nova entrada ao local /inbox/ no Firebase Realtime Database e configurar um listener.
Assim, o Playchat é capaz de responder quando um servlet atualiza o valor dessa entrada,
aceitando a atribuição.

Quando um servlet atualiza o valor, o Playchat remove o listener e grava o registro como
"Conectado" na caixa de entrada do servlet.

app/src/main/java/com/google/cloud/solutions/flexenv/PlayActivity.javaVER NO GITHUB

/*

* Request that a servlet instance be assigned.

*/

Você também pode gostar