[C# .Net] APIs oficiais da SuperCell

criador por programador raiz em 05/04/2024 19:55:24

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(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.

https://www.youtube.com/watch?v=T3W3XWifOjM