Entrar
Últimos assuntos
» player não consegue andarpor lovn7 Qui 21 Nov 2024, 13:33
» É possível fazer istó no game maker
por William Lima Qui 21 Nov 2024, 10:56
» Rio Rise - novo launcher do Gta San Andreas SAMP Brasil
por Lua Sáb 16 Nov 2024, 20:22
» Cenario longo x Texture Pages
por josuedemoraes Sáb 16 Nov 2024, 15:31
» Kids' band
por Adilson Lucindo Santos Sex 15 Nov 2024, 12:23
» Engasgos-Troca de Sprites/animações
por josuedemoraes Ter 12 Nov 2024, 01:49
» Block Room - DEMO
por Joton Qua 06 Nov 2024, 22:58
» Game Infinito vertical (subindo)
por macmilam Sáb 26 Out 2024, 12:36
» Retorno da GMBR!!!
por Dancity Ter 22 Out 2024, 16:36
» Máquina de estados
por aminaro Qui 10 Out 2024, 13:33
» como faço pra um objeto colidir com o outro e diminuir a vida do player ?
por josuedemoraes Qui 03 Out 2024, 16:51
» RESOLVIDO: Colisão com objetos moveis
por josuedemoraes Qua 02 Out 2024, 20:28
» Crypt of the Blood Moon
por divin sphere Qua 11 Set 2024, 18:18
» como fazer um objeto seguir?
por divin sphere Dom 18 Ago 2024, 18:08
» Procuro de alguém para Modelar/Texturizar/Animar objetos 3D
por un00brn Dom 11 Ago 2024, 11:10
» Destruição de cenário (estilo DD Tank)
por CoronelZeg Sex 09 Ago 2024, 17:16
» RESOLVIDO-Como destruir uma instancia especifica de um objeto
por josuedemoraes Ter 23 Jul 2024, 00:40
» Automatizar a coleta de id
por GabrielXavier Seg 22 Jul 2024, 18:01
» Preciso de ajuda para concluir um pequeno projeto
por lmoura Qui 27 Jun 2024, 15:45
» ANGULO ACOMPANHAR O OBJETO
por Klinton Rodrigues Qui 27 Jun 2024, 08:34
» Musica reinicia quando sala reinicia
por GabrielXavier Ter 18 Jun 2024, 07:28
» como fazer uma copia de gd
por generico_cube Sex 14 Jun 2024, 15:48
» Square Adventure
por guilherme551 Ter 11 Jun 2024, 09:54
» como posso definir limite de uma variavel
por GabrielXavier Sex 07 Jun 2024, 14:14
» [Resolvido] Dúvida, colisão única de objeto
por vdm842 Sex 24 maio 2024, 09:50
[TUTORIAL] Função facebook_graph_request
+2
fredcobain
itarodrigo
6 participantes
GMBR :: Ensine & Aprenda :: Tutoriais :: Game Maker
Página 1 de 1
[TUTORIAL] Função facebook_graph_request
Título: Função facebook_graph_request
Versão do GM: GameMaker Studio
Dificuldade: Intermediário
Complemento: [TUTORIAL] Funções do Facebook, [TUTORIAL] Inclua seu jogo no Facebook
Tags: facebook, jogo online, nome usuario do facebook, informacoes do facebook
Oi pessoal,
Estarei dando continuidade aos tutoriais com relação a integração dos jogos do GMS com o Facebook.
Fiz um tutorial antes com algumas funções (link acima) e deixei essa função para depois para poder dar um exemplo melhor de como ela funciona.
Vamos primeiro a tradução do help do GMS:
facebook_graph_request(graph_path, httpMethod, ds_map_parameters, ds_map_return)
Essa função é usada para interagir com a API gráfica do Facebook
Com essa função você pode interagir com a API gráfica do Facebook. O argumento 'graph_path' é onde você define a parte da API que você deseja acessar, que pode ser a lista de amigos do usuário, outros aplicativos ou um evento qualquer. O caminho exato pode ser definido usando os termos explicados no próprio facebook. Clique aqui para ver.
Após escolher o caminho das informações que pretende usar, você deve definir o argumento 'httpMethod', que é costumeiramente usado POST ou GET, mas também o Facebook permite usar o método DELETE.
O próximo argumento é um pouco mais complexo e ele requer que você crie e preencha um ds_map com as informações corretas que o GameMaker: Studio irá converter em json (linguagem que o Facebook entende) automaticamente quando enviar para a API do Facebook. A informação que você incluirá no ds_map irá depender muito do caminho que você escolheu pra usar e de uma completa lista de valores que pode ser encontrado nele. Exemplos no final.
Finalmente, nós temos um argumento para estocar qualquer informação que o facebook nos manda de volta. Essa informação vem na linguagem json e o GameMaker a converte em um ds_map. Para ele trabalhar corretamente, você deve ter criado um ds_map anteriormente, e se o ds_map já estiver sendo usado e conter outras informações, ele será limpo por essa função antes das novas informações serem adicionadas.
É muito importante que vocês leiam a documentação da API do Facebook, para conhecer os valores que são possíveis de obter e como exatamente você deve estar esperando recebê-lo
O Facebook tem uma página de testes onde você pode checar os diferentes caminho e ver exatamente as funções que eles retornam pra você. Página de testes do Facebook Graph API
Vamos agora ao exemplo que vem no próprio GameMaker Studio:
Evento MOUSE_LEFT_RELEASE
O código acima irá criar um ds_map e armazena-lo em uma variável local chamada 'wallPostMap'. Ele então preenche o ds_map com os pares de chaves e valores que são necessários para postar uma imagem e um texto no mural do usuário atual. Finalmente, ele envia a requisição ao Facebook e apaga o ds_map da memória.
Vamos entender melhor a linha
O primeiro argumento 'me/feed' se refere a parte da API do Facebook a ser usada, vou explicar algumas:
Listei aqui apenas algumas das dezenas de possibilidades que o Facebook disponibiliza para você acessar, e ATENÇÃO: de acordo com o item requerido, você deve ter a devida permissão do usuário ao efetuar o login!
Mais informações CLIQUE AQUI
O segundo argumento 'POST' quer dizer que você está enviando uma informação, ou seja, POSTANDO uma informaçãos. Quanto ao método 'GET', vamos ver um exemplo agora:
Criem um objeto e no evento CREATE, escreva:
No evento STEP:
Evento DRAW:
Outras informações que você pode pegar usando esse método:
Tem mais aqui, como local de nascimento, relacionamento, etc.
PROBLEMAS ENCONTRADOS EM HTML5
Estou testando e usando esses códigos para jogos em HTML5, e encontrei alguns problemas ao usar os mesmos devido aos navegadores.
ex: Ao tentar utilizar o comando POST, ocorria o seguinte:
Chrome: não enviava
Opera: enviava ok
Firefox: não conectava
Embora que o problema é solucionado ao efetuarmos a LIMPEZA DO CACHE.
Acredito que deve ser devido a estar testando ainda o sistema, espero que fique bom quando estiver valendo
Bom pessoal, quem quiser se aprofundar mais a respeito da API gráfica do Facebook, pode acessar esse link, é preciso ter uma noção de inglês para entender, porque ainda não existe tradução para a página (um dos motivos pelo qual eu postei esse tutorial e os outros)
Versão do GM: GameMaker Studio
Dificuldade: Intermediário
Complemento: [TUTORIAL] Funções do Facebook, [TUTORIAL] Inclua seu jogo no Facebook
Tags: facebook, jogo online, nome usuario do facebook, informacoes do facebook
Oi pessoal,
Estarei dando continuidade aos tutoriais com relação a integração dos jogos do GMS com o Facebook.
Fiz um tutorial antes com algumas funções (link acima) e deixei essa função para depois para poder dar um exemplo melhor de como ela funciona.
Vamos primeiro a tradução do help do GMS:
facebook_graph_request(graph_path, httpMethod, ds_map_parameters, ds_map_return)
Essa função é usada para interagir com a API gráfica do Facebook
Com essa função você pode interagir com a API gráfica do Facebook. O argumento 'graph_path' é onde você define a parte da API que você deseja acessar, que pode ser a lista de amigos do usuário, outros aplicativos ou um evento qualquer. O caminho exato pode ser definido usando os termos explicados no próprio facebook. Clique aqui para ver.
Após escolher o caminho das informações que pretende usar, você deve definir o argumento 'httpMethod', que é costumeiramente usado POST ou GET, mas também o Facebook permite usar o método DELETE.
- POST: Envia uma informação
- GET: 'Pega' uma informação
- DELETE: Apaga uma informação
O próximo argumento é um pouco mais complexo e ele requer que você crie e preencha um ds_map com as informações corretas que o GameMaker: Studio irá converter em json (linguagem que o Facebook entende) automaticamente quando enviar para a API do Facebook. A informação que você incluirá no ds_map irá depender muito do caminho que você escolheu pra usar e de uma completa lista de valores que pode ser encontrado nele. Exemplos no final.
Finalmente, nós temos um argumento para estocar qualquer informação que o facebook nos manda de volta. Essa informação vem na linguagem json e o GameMaker a converte em um ds_map. Para ele trabalhar corretamente, você deve ter criado um ds_map anteriormente, e se o ds_map já estiver sendo usado e conter outras informações, ele será limpo por essa função antes das novas informações serem adicionadas.
É muito importante que vocês leiam a documentação da API do Facebook, para conhecer os valores que são possíveis de obter e como exatamente você deve estar esperando recebê-lo
O Facebook tem uma página de testes onde você pode checar os diferentes caminho e ver exatamente as funções que eles retornam pra você. Página de testes do Facebook Graph API
Vamos agora ao exemplo que vem no próprio GameMaker Studio:
Evento MOUSE_LEFT_RELEASE
- Código:
var wallPostMap; //Cria uma variável chamada wallPostMap
wallPostMap = ds_map_create(); //Transforma a variável em um ds_map
ds_map_add(wallPostMap, "message", "Escreva sua mensagem aqui..."); //Adiciona a chave 'message' com a mensagem que você quer
ds_map_add(wallPostMap, "picture", "http://meu_site.com/minha_imagem.jpg"); //Adiciona a chave 'picture' com o link para a imagem
ds_map_add(wallPostMap, "link", "http://meu_site.com"); //Adiciona a chave 'link' com um link para onde o usuário será redirecionado ao clicar
ds_map_add(wallPostMap, "name", "Clique aqui para abrir o link"); //Adiciona a chave 'name' que é usada para substituir o link
ds_map_add(wallPostMap, "caption", "meu_site.com - caption"); //Adiciona a chave 'caption' que é o subtítulo do link
ds_map_add(wallPostMap, "description", "Minha descrição... lbalablablabalabl albala ba lab laba albalbalba lab lab al a"); //Adiciona a chave 'description' que inclui uma descrição no post
facebook_graph_request("me/feed", "POST", wallPostMap, -1); //Envia o post ao Facebook
ds_map_destroy(wallPostMap); //Destrói o ds_map
O código acima irá criar um ds_map e armazena-lo em uma variável local chamada 'wallPostMap'. Ele então preenche o ds_map com os pares de chaves e valores que são necessários para postar uma imagem e um texto no mural do usuário atual. Finalmente, ele envia a requisição ao Facebook e apaga o ds_map da memória.
Vamos entender melhor a linha
- Código:
facebook_graph_request("me/feed", "POST", wallPostMap, -1);
O primeiro argumento 'me/feed' se refere a parte da API do Facebook a ser usada, vou explicar algumas:
Nome | Acesso a | Use para publicar/acessar: |
me/achievements | Conquistas realizadas nos jogos do Facebook | Conquistas do seu jogo |
me/albums | Álbuns de fotos que o usuário criou | Novos álbuns |
me/apprequests | Pedidos de aplicativos do Facebook | Pedidos do seu aplicativo |
me/feed | Posts e links publicados pelo usuário, ou por outros em seu mural | Posts, links e atualizações |
me/friendlis | A lista de amigos do usuário | Lista de amigos |
me/notifications | Notificações de Aplicativos | Notificações |
me/scores | As potuações que o usuário recebeu nos jogos | Pontuações |
Mais informações CLIQUE AQUI
O segundo argumento 'POST' quer dizer que você está enviando uma informação, ou seja, POSTANDO uma informaçãos. Quanto ao método 'GET', vamos ver um exemplo agora:
Criem um objeto e no evento CREATE, escreva:
- Código:
var controle, //Cria duas variáveis...
dados; //controle e dados
controle = 0; //Seta controle igual a zero
dados = ds_map_create(); //Transforma dados em um ds_map
No evento STEP:
- Código:
If (facebook_status() == 'AUTHORISED' and controle == 0){ //Se o usuário autorizou seu aplicativo ao acesso dos dados, faz
controle = 1; //Controle é igual a um, para não ficar repetindo todo step a mesma função
facebook_graph_request("me", "GET", -1, dados); // Usa o graph_request para ter acesso ao local 'me' e gravar os dados no ds_map 'dados' que criamos anteriormente
}
Evento DRAW:
- Código:
draw_text(x,y,'Primeiro nome: '+ds_map_find_value(dados, 'first_name')); //Utiliza o ds_map 'dados' para pegar o primeiro nome do usuário
Outras informações que você pode pegar usando esse método:
Campo | Descrição | Tipo |
birthday | Data de nascimento | String no formato MM/DD/YYYY |
string | ||
first_name | Primeiro nome | string |
gender | Gênero | string |
last_name | Último nome | string |
name | Nome completo | string |
PROBLEMAS ENCONTRADOS EM HTML5
Estou testando e usando esses códigos para jogos em HTML5, e encontrei alguns problemas ao usar os mesmos devido aos navegadores.
ex: Ao tentar utilizar o comando POST, ocorria o seguinte:
Chrome: não enviava
Opera: enviava ok
Firefox: não conectava
Embora que o problema é solucionado ao efetuarmos a LIMPEZA DO CACHE.
Acredito que deve ser devido a estar testando ainda o sistema, espero que fique bom quando estiver valendo
Bom pessoal, quem quiser se aprofundar mais a respeito da API gráfica do Facebook, pode acessar esse link, é preciso ter uma noção de inglês para entender, porque ainda não existe tradução para a página (um dos motivos pelo qual eu postei esse tutorial e os outros)
itarodrigo- Data de inscrição : 28/08/2010
Reputação : 52
Número de Mensagens : 599
Prêmios :
x 0 x 4 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: [TUTORIAL] Função facebook_graph_request
Mais um excelente tutorial aprovado com louvor.
Muito obrigado por compartilhar.
Muito obrigado por compartilhar.
fredcobain- Games Ranking :
Data de inscrição : 14/04/2011
Reputação : 163
Número de Mensagens : 692
Prêmios :
x 0 x 3 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: [TUTORIAL] Função facebook_graph_request
exelebte tuto.
bem explicado e facil de entender.
eu sempre tive curiosidade em usar as funçoes do face, mas nem tentava pq temia acabar fazendo algo errado e travando meu perfil.
bem explicado e facil de entender.
eu sempre tive curiosidade em usar as funçoes do face, mas nem tentava pq temia acabar fazendo algo errado e travando meu perfil.
Re: [TUTORIAL] Função facebook_graph_request
Parabéns, excelente tutorial =D
xxxAKIRAxxx- Data de inscrição : 04/02/2009
Reputação : 1
Número de Mensagens : 108
Prêmios :
x 0 x 0 x 0
x 0 x 1 x 0
x 0 x 0 x 0
Re: [TUTORIAL] Função facebook_graph_request
tentei colocar um botão de curtir no meu app só que é bem complexo e por falta e exemplo "engine" eu consegui colocar só um link externo pra curtir, como fiz..
url_open('https://www.facebook.com/plugins/like.php?href=https%3A%2F%2Fwww.facebook.com%2Fpages%2FMega-Sena%2F360838920666271%3Fref%3Dhl&width&layout=standard&action=like&show_faces=true&share=true&height=80&appId=450552958328560');
alguem pode me ajudar como seria no android, vlw
url_open('https://www.facebook.com/plugins/like.php?href=https%3A%2F%2Fwww.facebook.com%2Fpages%2FMega-Sena%2F360838920666271%3Fref%3Dhl&width&layout=standard&action=like&show_faces=true&share=true&height=80&appId=450552958328560');
alguem pode me ajudar como seria no android, vlw
Gonzo- Data de inscrição : 29/05/2012
Reputação : 33
Número de Mensagens : 929
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: [TUTORIAL] Função facebook_graph_request
caraca, esse tutorial esta muito bom... mais, tem como postar essa imagem carregando-a direto do aparelho android???
tipo um sprite_add com um get_open_filename...?
Grato pelo tutorial e pela provavel resposta
tipo um sprite_add com um get_open_filename...?
Grato pelo tutorial e pela provavel resposta
Re: [TUTORIAL] Função facebook_graph_request
estou recebendo a mensagem "was not called or facebook appid is missing" estou confuso fiz td certinho..
usei esse exemplo ao clicar no mouse left pressed
usei esse exemplo ao clicar no mouse left pressed
- Código:
var wallPostMap; //Cria uma variável chamada wallPostMap
wallPostMap = ds_map_create(); //Transforma a variável em um ds_map
ds_map_add(wallPostMap, "message", "Escreva sua mensagem aqui..."); //Adiciona a chave 'message' com a mensagem que você quer
ds_map_add(wallPostMap, "picture", "http://meu_site.com/minha_imagem.jpg"); //Adiciona a chave 'picture' com o link para a imagem
ds_map_add(wallPostMap, "link", "http://meu_site.com"); //Adiciona a chave 'link' com um link para onde o usuário será redirecionado ao clicar
ds_map_add(wallPostMap, "name", "Clique aqui para abrir o link"); //Adiciona a chave 'name' que é usada para substituir o link
ds_map_add(wallPostMap, "caption", "meu_site.com - caption"); //Adiciona a chave 'caption' que é o subtítulo do link
ds_map_add(wallPostMap, "description", "Minha descrição... lbalablablabalabl albala ba lab laba albalbalba lab lab al a"); //Adiciona a chave 'description' que inclui uma descrição no post
facebook_graph_request("me/feed", "POST", wallPostMap, -1); //Envia o post ao Facebook
ds_map_destroy(wallPostMap); //Destrói o ds_map
Gonzo- Data de inscrição : 29/05/2012
Reputação : 33
Número de Mensagens : 929
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Tópicos semelhantes
» Oi Galerinha, aqui um tutorial básico de um jogo de luta que eu fiz! [TUTORIAL]
» [Tutorial] 39dll Tutorial - Part II(Final)
» [Tutorial] 39dll Tutorial - Part I
» funcao move_towards_point
» Função "and" em D&D!
» [Tutorial] 39dll Tutorial - Part II(Final)
» [Tutorial] 39dll Tutorial - Part I
» funcao move_towards_point
» Função "and" em D&D!
GMBR :: Ensine & Aprenda :: Tutoriais :: Game Maker
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos