我正在尝试使用Firebase云消息传递和Django后端向我的android和ios应用发送推送通知。根据此文档-https://firebase.google.com/docs/cloud-messaging/send-message 我在messages.send()之后得到以下输出 项目/ avaasa-dev / messages / 0:1555400295710341%fa6bca8ffa6bca8f 据我了解,这意味着消息已成功发送。但是我没有在设备上收到通知。
我还尝试了django-push-notifications库而不是firebase-admin,成功接收到通知。但是,在这种情况下,我的Android团队在使用OnMessageReceived函数处理通知时遇到了麻烦,因此我尝试再次使用firebase-admin。
我编写了以下方法,每当需要发送通知时便要调用该方法-
import firebase_admin
from firebase_admin import credentials
cred = credentials.Certificate("avaasa-dev-firebase-adminsdk.json")
fcm = firebase_admin.initialize_app(cred, name='avaasa_firebase')
def PushNotification(user_ids=[],
title='Avaasa Notification', message='This is the default Notification'):
from firebase_admin import messaging
devices = sometable_in_db.objects.filter(user_id__in=user_ids)
print(devices)
for device in devices:
notification = messaging.Notification(title=title, body=message)
msg = messaging.Message(token=device.registration_id,
notification = notification,
data={'title': title, 'body': message})
msg_ = messaging.send(msg, app=fcm)
print(msg_)
我看到以下消息返回了- 项目/ avaasa-dev / messages / 0:1555400295710341%fa6bca8ffa6bca8f 但是在设备上未收到任何通知。 我使用的令牌是正确的,我使用前面提到的django-push-notifications对其进行了验证。