应用程序终止后,FCM无法在Vivo中工作

时间:2020-08-21 07:11:19

标签: android firebase push-notification firebase-cloud-messaging

当应用被杀死时,FCM可以在所有设备上正常工作,但vivo,oppo除外。 我尝试在应用程序的设置中启用自动启动,但是仍然无法正常工作。 我们会因为更长的时间而陷入这一问题。 任何帮助,将不胜感激。 在此先感谢!

 @Override
public void onMessageReceived(RemoteMessage remoteMessage) {
    AppLog.e(TAG, "Firebase From: " + remoteMessage.getFrom());

    if (remoteMessage == null) return;

    // Check if message contains a notification payload.
    if (remoteMessage.getNotification() != null) {
        AppLog.e(TAG, "Firebase Notification Body: " + remoteMessage.getNotification().getBody());
    }

    // Check if message contains a data payload.
    if (remoteMessage.getData().size() > 0) {
        AppLog.e(TAG, "Firebase Data Payload: " + remoteMessage.getData().toString());

        handleDataMessage(remoteMessage.getData());
    }
}

1 个答案:

答案 0 :(得分:2)

对于某些自定义ROM,

FCM不能在终止状态下工作。 例如Vivo,Oppo,Mi等 问题是这些ROM默认情况下会阻止应用程序的通知,除了一些带有白色标签的应用程序(例如Fb,Whatsapp)。这些应用大多数都与ROM捆绑在一起。其中一些拥有自己的推送通知服务。

要使其在这些ROM上工作,请尝试以下建议:

使用通知有效负载代替数据有效负载。您可以尝试从FCM测试页向Vivo / Oppo设备发送测试通知,并在尝试实施该功能之前检查它是否对您有用。

如果您仍想使用数据有效载荷:

  1. 检查通知有效内容是否具有高优先级。
  2. 检查是否已在设备中为您的应用启用了通知
  3. 启用来自安全设置的应用程序自动启动功能
  4. 在设置的“应用程序列表”页面中禁用应用程序的电池优化。
相关问题