FirebaseMessasingService从服务器获取通知,但是如果使用FirebaseConsole,则不会调用我的类

时间:2018-06-27 13:38:29

标签: android firebase notifications firebase-cloud-messaging firebase-notifications

这是我的AndroidManifest内部的内容:

    <service android:name=".MyFirebaseMessagingService">
        <intent-filter>
            <action android:name="com.google.firebase.MESSAGING_EVENT" />
        </intent-filter>
    </service>
    <service android:name="io.smooch.core.service.SmoochService" />
    <service android:name=".MyFirebaseInstanceIDService">
        <intent-filter>
            <action android:name="com.google.firebase.INSTANCE_ID_EVENT" />
        </intent-filter>
    </service>

我正在使用版本:implementation 'com.google.firebase:firebase-messaging:17.0.0'

这是我的FirebaseMessagingService的样子:

public class MyFirebaseMessagingService extends FirebaseMessagingService {

public void onMessageReceived(final RemoteMessage message) {
    Log.i("", "MyFirebaseMessagingService onMessageReceived");
    final Map data = message.getData();
    FcmService.triggerSmoochNotification(data, this);
    final Map bundle = data;
    Handler handler = new Handler(Looper.getMainLooper());
    handler.post(new Runnable() {
        @Override
        public void run() {
            Log.i("", "GLOBAL intances  before GCM:" + Realm.getGlobalInstanceCount(PSApplicationClass.Config));
            try {
                String title = getString(R.string.alert_title_warning) + " " + getString(R.string.trips_remaining_free, user.getTrips_left());
                String message = getString(R.string.alert_freemium_upgrade);
                Notification.generateNotificationStandard(MyFirebaseMessagingService.this, title, message, null, null, false, false);
            } catch (Exception e) {
                Utils.appendLog("GCMIntentService onMessageReceived error: " + e.getMessage(), "E", Constants.PUSH_NOTIFICATIONS);
            }
        }
    });

}

}

基本上,我在此函数的onMessageReceived处设置了一个断点。

如果服务器将通知发送到我的应用程序,则此服务会收到该通知,我可以根据需要进行处理。 但。如果我使用FirebaseConsole-> GROW->可以发送消息->创建新消息并发送。我的应用程序将收到通知。但无需输入onMessageReceived方法即可“自动”创建。 我该如何强迫它这样做? 这是我通过控制台发送的数据: https://s3.amazonaws.com/uploads.hipchat.com/39260/829560/7Pp0KJIErZ8XVZZ/upload.png

我在做什么错了?

编辑:

就像我说的,我收到通知,但是通知是自动创建的,而不是通过我的FirebaseMessaging服务。

我确实设法更改了图标,

<meta-data
        android:name="com.google.firebase.messaging.default_notification_icon"
        android:resource="@drawable/notification_icon" />

但是我仍然需要在运行其他代码时运行它,而不仅仅是显示它。而且我不知道如何

0 个答案:

没有答案