[C# .Net] APIs oficiais da SuperCell
Você sabia que a SuperCell, desenvolvedora de jogos para celular, disponibiliza apis oficiais e gratuitas para leitura de dados dos jogos BrawlStars, Clash Royale e Clash of Clans?
Fiquei curioso um dia, mas precisamente em 20/02/2022, e fui procurar alguma api para ler informações do jogo que estava jogando bastante na época, o BrawlStars.
Achei alguns apis não-oficiais, contudo, achei também essa página: https://developer.brawlstars.com/
Ao acessar, verifiquei que a documentação era simples, mas era o que eu precisava.
Criei meu token de acesso para autenticar na api, e fiz uma pequena aplicação, para monitorar alguns estatiscas do jogo, durante uma sessão de gameplay.
A aplicação rodando pode ser vista nesse video:
https://www.youtube.com/watch?v=jExhvY8x7h8
Ela é essa barra amarela na parte inferior da tela.
Quando a aplicação inicia é armazendo em uma variável o total de troféus, por exemplo, e a cada 5 segundos a aplicação consulta a api novamente. Verificando o número atual de troféus e subtraindo da variavel inicial.
Isso também é feito para indicar o total de vitórias e o saldo de vitórias obtido durante a sessão de gameplay.
O código e relativamente simples, e parte principal é essa abaixo.
private int vitorias = 0;
private int derrotas = 0;
private int trofeus = 0;
private int vitoriasInicio = 0;
private int trofeusInicio = 0;
private void Player()
{
var client = new RestClient("https://api.brawlstars.com/v1/players/[gamertag]");
client.Timeout = -1;
var request = new RestRequest(Method.GET);
request.AddHeader("Authorization", "Bearer .....");
IRestResponse response = client.Execute(request);
PlayerRequest resultPlayer = JsonConvert.DeserializeObject<PlayerRequest>(response.Content);
if (vitoriasInicio <= 0)
{
vitoriasInicio = resultPlayer.SoloVictories + resultPlayer.DuoVictories + resultPlayer._3vs3Victories;
}
vitorias = resultPlayer.SoloVictories + resultPlayer.DuoVictories + resultPlayer._3vs3Victories;
if (trofeusInicio <= 0)
{
trofeusInicio = resultPlayer.Trophies;
}
trofeus = resultPlayer.Trophies;
lbVitoria.Text = "Total de vitórias: " + vitorias;
lbTrofeus.Text = "Total de Troféus: " + trofeus;
lbVitoriasSaldo.Text = "Saldo de vitórias: " + (vitorias - vitoriasInicio);
lbTrofeusSaldo.Text = "Saldo de troféus: " + (trofeus - trofeusInicio);
}
É um código em C# relativamente simples, e pretendo liberar um vídeo depois comentando esse código.
Um grande abs.
Pessoal,
Hoje lancei um vídeo mostrando essa implementação.