0

django-push-notifications通过 FCM 从我的服务器 (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")

我可以使用以下方式在移动应用程序(ionic 1.3.3、angularjs 1.5.3)中接收数据cordova-plugin-fcm

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>

是不是应用配置有问题?以我从服务器发送通知的方式?还是只是我正在使用的插件在通知栏中没有显示任何内容?

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

4

1 回答 1

1

可能是两个原因

  1. 收到时您的应用程序在后台吗?检查https://firebase.google.com/docs/cloud-messaging/android/receive

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

于 2017-04-06T19:17:35.397 回答