Olá Senhores,
Conforme falei no post anterior, vou continuar falando sobre como realizar o post automático no facebook diretamente sem utilizar o ShareStatus.
Essa solução se torna extremamente útil quando o conteúdo que deve ser postado é personalizado de acordo com a rede social.
Para isso, utilizaremos o deep link provido pelo próprio app do Facebook para Windows Phone. Deep Links são links de chamada interna dentro do sistema operacional que permite a transferência de parâmetros entre apps que estão contidos em suas devidas Sand Box, ou seja, é uma forma de comunicação entre apps dentro do sistema operacional.
Vale a pena ressaltar que os deep links são estruturas de comunicação e não falhas de segurança no acesso a dados, uma vez que, apenas apps que disponibilizam essas URL’s, podem ser acessados por esse método.
Outra característica que é importante destacar é a questão de que o deep link não possui retorno para o app que originou a chamada, ou seja, você não terá um callback do aplicativo destino do deep link e nem o seu app voltará ao contexto, ficando ativo, mas em background.
A solução
Como falei no post sobre o twitter, o tratamento é bem parecido para o facebook, o diferencial é que este chamará o próprio aplicativo do facebook para realizar o post.
Para isso utilizaremos o seguinte código
public static class ShareFacebook { private const string FACEBOOK_URL = "fb:post?text={0}"; public static async void ShareOnFacebook(string Content) { string facebookUrl = string.Format(FACEBOOK_URL, Content); await Launcher.LaunchUriAsync(new Uri(facebookUrl)); } }
O código em si é bem parecido com o do Twitter, você inclusive pode reaproveitar a classe exemplo do twitter para realizar a chamada para o facebook, apenas substituindo a string mestre pela string :
fb:post?text={0}
Post bem curto, apenas para deixar registrado ai e para ninguém dizer que fiquei devendo o post prometido 🙂
Segue ai no Twitter e curta nossa página no facebook
Matheus Monte
@montematheus_