我想使用FCM为我开发的Web应用程序发送通知。在尝试更复杂的操作之前,我尝试检查一个简单的消息显示,但那还是行不通! js代码:
var firebaseConfig = {
apiKey: "xxxxxxx",
authDomain: "xxxxxxx",
databaseURL: "xxxxxxx",
projectId: "xxxxxxx",
storageBucket: "xxxxxxx",
messagingSenderId: "xxxxxxx",
appId: "xxxxxxx",
measurementId: "xxxxxxx"
};
// Initialize Firebase
firebase.initializeApp(firebaseConfig);
const messaging = firebase.messaging();
messaging.requestPermission()
.then(function(){
console.log("have permission");
return messaging.getToken()
})
.then(function(token){
console.log(token);
});
messaging.onMessage(function(payload){
console.log(payload.data);
});
(我也有一个sw,但现在无关紧要,首先我只想记录触发onMessage的指示)。当打开我的应用程序主页时,令牌将按预期记录。
然后我使用此python代码(使用pyfcm)向客户端发送通知:
push_service = FCMNotification(api_key="xxxxxxxx")
registration_id = "the-token-from-js"
message_title = "first notification!"
message_body = "checking if it works..."
result = push_service.notify_single_device(registration_id=registration_id, message_title=message_title, message_body=message_body)
print result
我得到的结果似乎还可以:
{
'multicast_ids': [2950316433274416529],
'canonical_ids': 0,
'success': 1,
'topic_message_id': None,
'results': [{
u 'message_id': u '0:1586526837343659%2fd9afcdf9fd7ecd'
}],
'failure': 0
}
我知道出了点问题,但我不明白是什么。我猜onMessage没有触发,但我不知道为什么(我看了很多教程,应该没问题)
帮助任何人???谢谢!