已收到通知但通知栏中未显示任何图标

时间:2017-04-06 16:25:20

标签: android angularjs django django-push-notifications cordova-plugin-fcm

我通过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>

应用配置存在问题吗?我从服务器发送通知的方式?或者只是我使用的插件不在通知栏中显示任何内容?

...我应该使用收到的数据手动创建通知吗?

1 个答案:

答案 0 :(得分:1)

可能有两个原因

  1. 收到后,您的应用是否在后台?查看https://firebase.google.com/docs/cloud-messaging/android/receive

  2. 同样基于以上链接,只有在两种情况下,您的设备才会自动将您的消息显示为通知。该消息可能会传递到您的应用,然后您的应用需要将通知发送到设备。查看https://developer.android.com/training/notify-user/build-notification.html