Для отправки push уведомлений используя FCM, необходим app server, я совсем новичок в программировании и всё что я умею, это немного писать на Java и не понимаю концепцию серверов.
Что это за сервер такой, где его надо прописывать, в приложении или это что то, что должно общаться с приложением из вне?
Информации то в интернете много, по тому, что надо прописывать в сервере, но все эти примеры предполагают, что я имею общее представление о том что такое сервер и что он у меня есть.
Так же из того что я читал, следует, что этот сервер нужно писать не на java, а например на php, если это так, то как же я это смогу соединить в моем приложении?
Сам удивляюсь какой глупый вопрос получился, но я даже не его могу сформулировать нормально, так как не понимаю, что же такое этот сервер.
В общем буду признателен, за любую информацию по поводу того, что же такое app server используемый при работе с FCM на android.
Ответ
Вы правильно поняли что App server нужен для того что бы общаться с приложением из вне. Когда в своем приложении получаете token - вы отправляете его на сервер. Таким образом сервер может по этому токену слать вам push-notifications
Вот пример на Node js
var gcm = require('node-gcm');
var API_KEY = "yourApiKey";
var sender = new gcm.Sender(API_KEY);
//объект сообщения
var message = new gcm.Message({
collapseKey: 'data',
priority: 'high',
contentAvailable: true,
delayWhileIdle: false,
timeToLive: 1000
data: {
message: 'Message from gcm server',
action: 'Update data on server'
},
notification: {
tag : 'hasData',
title: "Title text",
icon: "ic_launcher",
color: "#22C064",
sound: "notification_sound",
body: "This is a GCM notification that will be displayed ASAP.",
click_action: "OPEN_APP" // make intent-filter in Manifest.xml for this action
}
});
//Список токенов которым будут отправлены сообщения
var registrationTokens = [];
registrationTokens.push('owQMHz9-Ep6FtiB-pp9uFcZTKcdvUhrsG3XdL7IWgZSt8cWfASzPPxEW1cBdLn1OUukqfsk9rlTexO3MQ0EeSdLXaAFXQn7vYzrKG1LTnv8LOxkBQqEd0VnxLd4');
//отправить на конкретные девайсы
sender.send(message, { registrationTokens: registrationTokens }, function (err, response) {
if(err){
console.error(err);
} else{
console.log(response);
}
});
//отправить на все устройства которые подписаны на этот топик
sender.send(message, {to : "/topics/global" }, function (err, response) {
if(err){
console.error(err);
} else{
console.log(response);
}
});
Комментариев нет:
Отправить комментарий