Crie sua conta como no video, você nem precisa seguir aquele video, criar uma conta no firebase é muito simples...
Crie seu projeto (nome do jogo).
Depois de criar vai abrir o console do seu projeto como nessa imagem.

Chave do servidor : É usada no seu servidor para enviar as notificações, eu uso servidor java.
Esse é o codigo que uso para enviar as notificações
Código: Selecionar todos
System.out.println("FIREBASE send notification");
HttpClient httpClient = HttpClientBuilder.create().build(); //Use this instead
try {
HttpPost request = new HttpPost("https://fcm.googleapis.com/fcm/send");
StringEntity params =new StringEntity(" { \"data\": {\"ntf_message\": \""+texto+"\", \"ntf_title\": \""+titulo+"\", \"tipo\": \""+tipo+"\" }, \"registration_ids\": [ \""+id_registration+"\" ] }");
request.addHeader("Authorization","key=AQUI VOCÊ COLOCA A CHAVE DO SERVIDOR");
request.addHeader("Content-Type", "application/json");
request.setEntity(params);
HttpResponse response = httpClient.execute(request);
System.out.println("verificar se deu certo:"+response.getStatusLine());
System.out.println("outro log:"+org.apache.http.util.EntityUtils.toString(response.getEntity()));
}catch (Exception ex) {
// handle exception here
Logger.getLogger(Usuario.class.getName()).log(Level.SEVERE, null, ex);
}
Agora aquele ID do remetente você coloca no game maker,

Quando você marcar enable push notifications, o proprio game maker vai mostrar um pop-up dizendo que você deve baixar a extensão da google play services, baixe ela.
Se você quiser fazer um teste, só pra ver como é uma notificação, depois de tudo isso você coloca esse codigo.
Código: Selecionar todos
var fireTime = date_inc_minute(date_current_datetime(), 1);
var data = "daily_reward";
push_local_notification(fireTime, "Ahoy!", "Catch The Haggis Has A Present", data);
Esse é o codigo que a yoyogames deixa no help (apertando f1) do game maker, só que eu alterei em vez de 1 dia, em 1 minuto ele vai disparar a notificação, lembre-se que depois q esse codigo executar você deve deixar o aplicativo em segundo plano, depois de 1 minuto você vai ver a notificação.
Agora, vamos enviar do nosso servidor a notificação, cada usuario tem uma identificação que serve pro servidor do firebase saber qual celular vai receber a notificação.
Pra pegar essa identificação basta criar um objeto qualquer e criar um evento de
PUSH NOTIFICATION nele e colocar :
Código: Selecionar todos
var type = ds_map_find_value(async_load, "type");
var status = ds_map_find_value(async_load, "status");
if status == 0
{
//error of some kind
var error = ds_map_find_value(async_load, "error");
show_debug_message("error=" + string(error));
}
else
{
if type == "register"
{
global.reg_id = ds_map_find_value(async_load, "reg_id");
}
else
{
var data = ds_map_find_value(async_load, "data");
if data == "daily_reward"
{
global.Gold += 1000;
}
}
}
Esse codigo acima tirei do help do game maker,
"
global.reg_id = ds_map_find_value(async_load, "reg_id");"
Nessa parte quando o aplicativo abrir no celular, ela será executado, e esse codigo que o FCM gerar o game maker vai colocar na variavel
global.reg_id, você pode colocar o nome da variavel que quiser, eu recomendo que ela seja GLOBAL pra facilitar o acesso a ela.
depois que você pegou esse valor, basta envia-lo ao servidor, se você voltar la no topo deste tutorial vai ver que tem essa linha no meu servidor java.
Código: Selecionar todos
StringEntity params =new StringEntity(" { \"data\": {\"ntf_message\": \""+texto+"\", \"ntf_title\": \""+titulo+"\", \"tipo\": \""+tipo+"\" }, \"registration_ids\": [ \""+id_registration+"\" ] }");
Esse é um JSON, é assim que ele é criado em java (existe outros modos de cria-lo).
Ali em
id_registration você vai colocar o codigo que veio do
global.reg_id.
Quando essa linha for executada no servidor e tudo estiver devidamente configurado, a notificação irá para o celular da pessoa.
Caso de algum erro, pode ser que eu esteja esquecendo alguma parte, dai você me diz.
