Postanto no Twitter no Windows Phone Usando C#

Olá galera, tudo bem?

Nem sempre tudo são flores na área de desenvolvimento, recentemente, encontrei um desafio dentro do Windows Phone que para alguns pode parecer besteira, mas quando se tem um projeto com todos os seus requisitos e critérios de aceitação, alguns pontos da plataforma podem se tornar potenciais impedimentos, como a nossa missão aqui é sempre mostrar os caminhos que nenhum outro tutorial na net mostra, vamos lá.

Muitas vezes ao fazer o “share” nas redes sociais, o conteúdo não é local, e sim provido através de um serviço(API do app), o que torna desforme o que vai ser gerado para o facebook do que vai ser publicado no twitter, uso de # por exemplo. Até ai nada de diferente, o problema surge quando a api foi desenhada para ter várias chamadas, uma para cada rede social.

A forma natural de fazer um post em rede social no Windows Phone é através do ShareStatus. Mas o problema se inicia quando você só terá o conteúdo após a seleção do usuário de qual rede social pretende usar, mas o ShareStatus não retorna essa informação, uma vez que, o mesmo é uma task de sistema, logo, uma vez invocada, o S.O. assume o controle e você não poderá interferir na operação.

Deep Links

A primeira solução que procurei foi os deep links, para quem não está familiarizado com o termo, deep links são URL internas que vários aplicativos, como o do facebook, aceitam e caso o link seja válido, executam certa ação pré-determinada.

Em um próximo post, irei exemplificar como utilizar o deep link do Facebook no Windows Phone para realizar um post automático.

Agora chega o problema, não da plataforma, e sim do App do twitter (ohhh twitter paga nós pra consertar isso ai!!!) que não possui um deep link específico para que um post direto assim como o facebook.

A solução

Caso você não queira ler sobre a chatice que foi arranjar essa solução, você pode baixar um código de exemplo com a classe TwitterUtils que faz o trabalho sujo neste link

Para achar a solução para esse caso, basicamente, procurei outros apps que se comportassem da mesma forma. Um bom app foi o Spotify.

Vi que o Spotify gerava um link direto para o browser, com uma URL que leva para um post direto no twitter. Ou seja bingo! Copiei essa URL e achei 2 parâmetros básicos: “text” e “URL”, com isso usei a classe para executar a URL no browser, como você pode ver abaixo:

public static class TwitterUtils
{
        private const string TWITTER_URL = "https://twitter.com/intent/tweet?text={0}&url={1}";

        public static async void ShareOnTwitter(string Content, string Url)
        {
             string twitterUrl = string.Format(TWITTER_URL, new string[] { WebUtility.UrlEncode(Content), WebUtility.UrlEncode(Url) });
             await Launcher.LaunchUriAsync(new Uri(twitterUrl));
         }
}

Bem simples, rápido e fácil.

Espero que tenha ajudado, qualquer dúvida deixa ai nos comentários ou pelo meu twitter @clarkmonte_

Valeu

Matheus Monte
@montematheus_

Um comentário sobre “Postanto no Twitter no Windows Phone Usando C#

Deixe um comentário