Skip to content

PartnerSessions API

vifaugusto edited this page Feb 15, 2016 · 1 revision

A API PartnerSession permite a você criar aplicativos interativos como jogos e outras experiências compartilhadas.

Em um aplicativo de xadrez, por exemplo, cada partida será uma sessão e cada movimento será uma mensagem dentro da sessão.

###Tipo de sessão Adicione isso a uma sessão interativa em AndroidManifest.xml:

<meta-data
	android:name="sneer:session-type"
	android:value="chess"/>

A atividade será aberta pelo Sneer quando o usuário iniciar ou abra uma sessão de um jogo de xadrez.

###API Dependency Adicione isso as dependencias da sessão do arquivo build.gradle file na pasta app:

compile 'me.sneer:sneer-android-api:X.Y.Z@aar'

X.Y.Z é a última versão encontrada aqui. Certifique-se que você esta editando o arquivo build.gradle na pasta app. Existem outros.

###Juntando-se a Sessão Nas atividades do método onCreate(), entramos na sessão para receber as mensagens da Sessão:

session = PartnerSession.join(this, new PartnerSession.Listener() {
	@Override
	public void onMessage(Message message) {
		//Called for every message sent by you and by your partner.
	}

	@Override
	public void onUpToDate() {
		//Called when there are no more messages pending in the session.
	}
});

PartnerSession.join(...) retorna um PartnerSession. No exemplo a cima, ele é mantido em um campo.

###Enviando Mensagem

session.send(object);

Você pode enviar Strings, Integers, Longs, arrays, Maps, e Lists.

###Manipulando Mensagens

message.wasSentByMe() // Retorna true se você enviou esta mensagem, e false se seu parceiro enviou.
message.payload() // Retorna o valor que foi enviado.

###Fechando Nas atividades do método onDestroy(), a sessão é fechada:

session.close();

A sessão ainda pode ser acompanhada normalmente por atividades futuras.

###Exemplos O Aplicativo de exemplo Lizard Spock é implementado em uma única classe de atividade utilizando a API acima.