我通过FCM使用django-push-notifications
从我的服务器(Django)发送通知:
from push_notifications.models import GCMDevice
agents_user_ids = [agent.user.id for agent in task.agents.all()]
devices = GCMDevice.objects.filter(user_id__in=agents_user_ids)
devices.send_message("You have a new task", title="New Task")
我可以使用cordova-plugin-fcm
在移动应用(离子1.3.3,angularjs 1.5.3)中接收数据:
FCMPlugin.onNotification((data) => {
alert(JSON.stringify(data));
}, function(msg){
console.log("FCM Notification callback registered.");
}, function(err){
console.log("FCM Notification callback registration error: " + err);
});
问题是条形图中没有显示通知,没有振动,没有声音......我已经使用额外参数修改了devices.send_message
选项,但没有任何反应。
在FCM文档之后,我通过添加:
修改了清单<application>
...
<service android:name="com.gae.scaffolder.plugin.MyFirebaseMessagingService">
<intent-filter>
<action android:name="com.google.firebase.MESSAGING_EVENT" />
</intent-filter>
</service>
<service android:name="com.gae.scaffolder.plugin.MyFirebaseInstanceIDService">
<intent-filter>
<action android:name="com.google.firebase.INSTANCE_ID_EVENT" />
</intent-filter>
</service>
<meta-data android:name="com.google.firebase.messaging.default_notification_icon" android:resource="@drawable/ic_stat_ic_notification" />
<meta-data android:name="com.google.firebase.messaging.default_notification_color" android:resource="@color/colorAccent" />
</application>
应用配置存在问题吗?我从服务器发送通知的方式?或者只是我使用的插件不在通知栏中显示任何内容?
...我应该使用收到的数据手动创建通知吗?
答案 0 :(得分:1)
可能有两个原因
收到后,您的应用是否在后台?查看https://firebase.google.com/docs/cloud-messaging/android/receive
同样基于以上链接,只有在两种情况下,您的设备才会自动将您的消息显示为通知。该消息可能会传递到您的应用,然后您的应用需要将通知发送到设备。查看https://developer.android.com/training/notify-user/build-notification.html