Como desenvolver jogos para Facebook

Deixar a integração para o fim significa que isso é tudo que você está testando, e não todos os outros aspectos do seu jogo.

Como desenvolver jogos para Facebook

Agora você precisa baixar o SDK do ActionScript 3 para Facebook. Você vai querer o arquivo graphapi_web_1_0.swc, que precisa ser copiado para a pasta “libs” do seu projeto Flash Builder. A integração básica é bastante simples:

Facebook.init(“SeuAppID”,loginHandler);

“loginHandler” é uma função que recebe dois objetos como parâmetros, chamados “sucesso” e “falha”. Somente se o jogador já estiver logado no Facebook e já tiver dado permissão ao seu aplicativo para acessar seu perfil é que o “sucesso” será retornado; caso contrário, você precisará fazer uma chamada direta via JavaScript:

ExternalInterface.call(“redirecionar”,”YourAppID”, “publish_stream”, “ http://apps.facebook.com/YourAppName/”)

Isso faz com que seja solicitado que você faça login (se necessário) e, em seguida, solicite permissão para publicar no Feed de notícias do jogador. Nesta fase, você também pode pedir outras permissões, mas lembre-se de que quanto mais você pedir, menos pessoas jogarão o jogo. Isso executará novamente a função Facebook.init acima, que retornará um objeto de “sucesso” para loginHandler, tudo correndo bem. Depois de obter um objeto de “sucesso”, você pode retirar a sessão do Facebook que foi retornada assim:

var sessão: FacebookSession=Facebook.getSession();

Agora você pode recuperar as informações básicas do usuário usando um HTTPService. A propriedade URL do HTTPService conterá:

http://graph.facebook.com/+session.uid;

A propriedade UID da sessão do Facebook é o identificador exclusivo do jogador e, se você digitar isso diretamente na barra de endereço do navegador, verá os dados do perfil aparecerem. Usando o objeto HTTPService você pode capturar esses dados no Flex Builder. Os dados voltam no formato JSON, e a maneira mais fácil de lidar com isso é baixando corelib.swc e copiando-o para sua pasta libs.

Depois que os dados forem retornados, você poderá criar um objeto contendo todas as informações do usuário:

var dados do usuário: Object=JSON.decode (theString);

O nome completo do usuário seria então encontrado em userdata.name.

Então é assim que você importa informações básicas. Você também pode, por exemplo, postar no mural do usuário uma declaração como:

Facebook.ui(“stream.publish”,”iframe”,Parâmetros);

O objeto Parâmetros pode incluir prompt de mensagem, título, ícone e texto pré-preenchido, e exibirá um prompt que permite ao jogador adicionar sua própria atualização de status. Ao clicar em “Publicar”, isso aparecerá no feed de notícias e, dependendo das configurações de privacidade, também na rede de amigos. E é aí que residem a oportunidade e o perigo.

Aprendi da maneira mais difícil que simplesmente porque o Facebook permite que você faça algo por meio de sua API, isso não significa necessariamente que ele aprova que você faça isso. Na minha ignorância, publiquei automaticamente uma atualização de status no mural do jogador ao completar cada jogo e só descobri que isso foi contra a política do Facebook (eu não jogo muitos jogos, como você pode perceber) depois que o jogo foi encerrado pelo Facebook administradores.

Ele alcançou 60.000 reproduções em três dias e isso fez parecer que o aplicativo estava enviando spam, ou pelo menos é o que presumo pelo e-mail de notificação automática singularmente inútil do Facebook. Este foi um momento de tapas na testa de proporções bíblicas, e então passei as próximas 72 horas até meus cotovelos em documentos de política e alterando a funcionalidade do jogo até que fosse completamente compatível.