首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Android下Firebase云消息推送通知前台不起作用,后台起作用

Firebase云消息推送通知在Android设备上可能会出现前台不起作用,后台起作用的情况。这通常是由于以下几个原因导致的:

  1. 前台服务未正确配置:在Android 8.0(API级别26)及更高版本中,后台服务的限制更加严格。为了在前台接收通知,你需要创建一个前台服务并在其中处理通知。
  2. 通知渠道未正确设置:从Android 8.0开始,所有通知都必须分配到一个通知渠道。如果没有正确设置通知渠道,通知可能不会显示。
  3. 权限问题:确保你的应用具有接收通知所需的权限。
  4. Firebase配置问题:检查你的Firebase配置文件(google-services.json)是否正确配置。

以下是一些建议来解决这个问题:

1. 创建前台服务

在你的应用中创建一个前台服务,以便在前台接收通知。以下是一个简单的前台服务示例:

代码语言:javascript
复制
public class MyFirebaseMessagingService extends FirebaseMessagingService {

    @Override
    public void onMessageReceived(RemoteMessage remoteMessage) {
        super.onMessageReceived(remoteMessage);

        // 处理通知消息
        if (remoteMessage.getNotification() != null) {
            showNotification(remoteMessage.getNotification().getTitle(), remoteMessage.getNotification().getBody());
        }
    }

    private void showNotification(String title, String message) {
        NotificationCompat.Builder builder = new NotificationCompat.Builder(this, "your_channel_id")
                .setContentTitle(title)
                .setContentText(message)
                .setSmallIcon(R.drawable.ic_notification)
                .setPriority(NotificationCompat.PRIORITY_HIGH);

        NotificationManagerCompat notificationManager = NotificationManagerCompat.from(this);
        notificationManager.notify(0, builder.build());
    }

    @Override
    public void onCreate() {
        super.onCreate();
        startForeground(1, new NotificationCompat.Builder(this, "your_channel_id")
                .setContentTitle("My App")
                .setContentText("App is running in foreground")
                .setSmallIcon(R.drawable.ic_notification)
                .build());
    }
}

2. 设置通知渠道

确保你已经为通知设置了通知渠道。以下是如何创建一个通知渠道的示例:

代码语言:javascript
复制
private void createNotificationChannel() {
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
        CharSequence name = "My App Channel";
        String description = "Channel for My App notifications";
        int importance = NotificationManager.IMPORTANCE_HIGH;
        NotificationChannel channel = new NotificationChannel("your_channel_id", name, importance);
        channel.setDescription(description);

        NotificationManager notificationManager = getSystemService(NotificationManager.class);
        notificationManager.createNotificationChannel(channel);
    }
}

onCreate()方法中调用createNotificationChannel()方法:

代码语言:javascript
复制
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    createNotificationChannel();
}

3. 检查权限

确保你的应用具有接收通知所需的权限。在AndroidManifest.xml文件中添加以下权限:

代码语言:javascript
复制
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-pertype="android.permission.VIBRATE" />

4. 检查Firebase配置

确保你的Firebase配置文件(google-services.json)正确配置。将此文件放在app目录下,并确保它包含了正确的API密钥和其他配置信息。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

FCM---Android系统级推送---你还在用第三方推送?

Messaging FCM是谷歌推出的最新的Android系统级别的消息推送服务(用来替换GCM)。...如果您希望在后台进行接收应用通知之外的任何消息处理,则必须添加此服务。要在前台应用中接收通知、接收数据负载以及发送上游消息等,您必须扩展此服务。...hl=zh-cn#send-downstream demo http://www.jianshu.com/p/5d1982dd588b 注意 当firebase推送的时候,是分当前应用在前后台两种情况的...当应用在前台的时候,消息到来的时候会响应onMessageReceived函数,你就可以在里面想怎么处理就怎么处理了。...处理方式:在后台的情况下你需要在应用的主Activity的onCreate方法中调用getIntent.getExtra()方法才能拿到推送到的参数 server 端建置 Google

12.9K30

React Native推送通知:完整的操作指南

在这篇文章中,我们将看到如何在React Native应用中创建和发送推送通知。 什么是推送通知? 推送通知是从应用程序发送到已安装该应用的用户的消息或警报。...主要有两种类型的通知: 前台通知:当应用程序正在打开并运行时发送给用户的通知 后台通知:无论应用程序是否当前打开,都会发送 推送通知在移动应用开发世界中非常流行,原因有很多。...原生平台特定的通知服务(FCM/APNs) Android和iOS平台都提供了用于接收推送通知的原生平台特定API 适用于安卓设备的Firebase云消息传递(FCM) 苹果推送通知服务(APNs)适用于...可以从Node.js服务器通过 firebase-admin 和 node-apn 向注册的移动设备发送远程通知 Expo推送通知和其他云服务 FCM 和 APNs 都是特定平台的原生推送通知服务。...后台通知 感谢 Notifee,我们甚至可以创建后台通知,即使应用程序关闭,也可以发送。这适用于我们想要发送一个无声通知的情况,无论应用程序是否打开,例如文本消息或已完成的下载,都需要发送。

1.4K10
  • Android应用保活全攻略:30个实用技巧助你突破后台限制

    在Android系统中,保活(保持应用进程一直存活)就是为了让应用在后台持续运行,来实现某些特定的功能,如实时消息推送、定位服务等。...加入白名单的应用不会受到系统的限制,可以在后台持续运行。 6. 第三方推送服务 使用第三方推送服务,如极光推送、小米推送等。这些推送服务通常使用保活技巧,可以保证消息的实时推送。 7....为了保证应用在这些模式下正常运行,你需要适配这些特性,如使用高优先级的Firebase Cloud Messaging(FCM)消息来唤醒应用。 17....使用Firebase Cloud Messaging(FCM) 对于需要实时消息推送的应用,可以使用Firebase Cloud Messaging(FCM)服务。...FCM是一种跨平台的消息推送服务,可以实现高效且可靠的消息传递。通过使用FCM,你可以确保应用在后台时接收到实时消息,而无需采取过多的保活手段。 18.

    1.8K21

    APP消息推送方案调研

    介绍消息类型推送服务支持通知栏消息和透传消息通知栏消息通知栏消息由系统通道直接下发,消息将在终端的通知中心下拉列表呈现,不需要应用进程驻留后台,用户点击通知栏消息后会触发相应的动作,如打开应用、打开网页等...透传消息的到达率受Android系统和应用是否驻留在后台影响,推送服务不保证透传消息的高到达率。透传消息的常用场景:好友邀请、VoIP呼叫、语音播报等。...,是Google为android手机开发的类似于iOS的APNS后台消息推送机制。...使用GCM推送服务的whatsapp即使后台程序和服务都关闭掉,也依然可以在第一时间接收到新消息的推送(实测在国内whatsapp也的确可以在后台关闭的情况下正常通过GCM接受实时消息)。...Android平台在不使用GCM的情况下就需要将自己的服务器或是第三方推送服务提供商的服务器与设备建立一条长连接,通过长连接进行推送。

    40510

    全面盘点当前Android后台保活方案的真实运行效果(截止2019年前)1、引言2、先总结一下,Android端APP为何要搞保活黑科技?3、相关文章4、常见的Android端保活黑科技方案盘点5、汇

    1、引言 对于IM应用和消息推送服务的开发者来说,在Android机型上的后台保活是个相当头疼的问题。 老板一句:“为什么微信、QQ能收到消息,而你写的APP却不行?”...回到正题,Android程序员都知道,随着Android系统的不断完善和升级,Andriod应用的后台保活是一次比一次难(详见《Android P正式版即将到来:后台应用保活、消息推送的真正噩梦》),但日子还得过...* 本节内容摘录自即时通讯网整理的《Android P正式版即将到来:后台应用保活、消息推送的真正噩梦》一文。...以消息推送为例,当APP处于后台或关闭时,消息推送对于某些应用来说非常有用,比如: 1)IM即时通讯聊天应用:聊天消息通知、音视频聊天呼叫等,典型代表有:微信、QQ、易信、米聊、钉钉、Whatsup、Line...关于Android P在保活方面的问题,请详细阅读《Android P正式版即将到来:后台应用保活、消息推送的真正噩梦》。

    1.8K20

    全面盘点当前Android后台保活方案的真实运行效果(截止2019年前)

    1、引言 对于IM应用和消息推送服务的开发者来说,在Android机型上的后台保活是个相当头疼的问题。 老板一句:“为什么微信、QQ能收到消息,而你写的APP却不行?”...* 本节内容摘录自即时通讯网整理的《Android P正式版即将到来:后台应用保活、消息推送的真正噩梦》一文。...以消息推送为例,当APP处于后台或关闭时,消息推送对于某些应用来说非常有用,比如: 1)IM即时通讯聊天应用:聊天消息通知、音视频聊天呼叫等,典型代表有:微信、QQ、易信、米聊、钉钉、Whatsup、Line...结论:此方案不起作用; 6)小米8(8.1):一键清理可以杀掉服务。锁屏后保活超过20分钟。 ▲ 结论:成功对华为手机保活。小米8下也成功突破20分钟。...关于Android P在保活方面的问题,请详细阅读《Android P正式版即将到来:后台应用保活、消息推送的真正噩梦》。

    4.4K20

    Android Firebase 服务简介

    早在2014年,谷歌收购了Firebase,这主要是一种面向应用程序开发人员的数据库。Firebase基本上向广大的应用程序开发人员提供不同的服务,比如存储、消息传递、通知和身份验证等服务。...二、开发 云消息传递(Firebase Cloud Messaging) 可以通过后台服务向用户推送消息,对于即时通讯等用例,一条消息可以将最大 4KB 的负载传送至客户端应用。...测试实验室(Firebase Test Lab for Android) Firebase Test Lab for Android 提供了基于云的基础结构,用于测试 Android 应用。...app的奔溃信息,并上传到Firebase后台。...三、增长 通知(Firebase Notifications) 细分受众,轻松管理推送信息 索引(Firebase App Indexing) Firebase App Indexing(其前身为 Google

    22.8K90

    与 FireBase 亲密接触

    其旨在为移动和Web应用提供后端云服务,包括云端数据/文件存储、账户管理、消息推送、社交媒体整合等。国内比较出名的厂商有友盟、BMob等,国外就 Firebase 名气比较大。...1 Firebase 介绍 FireBase功能众多,我们先来看一下官网给出的总结图 ? 具体各个功能说明: Analytics:Firebase的核心功能,这是一项免费且无限制的分析解决方案。...Firebase Cloud Messaging(FCM):是一个跨平台Android、iOS 和网站的解决方案,供我们免费可靠地发送和接收消息和通知。...Test Lab:Firebase Test Lab for Android 提供了基于云的基础结构,用于测试 Android 应用。...Notifications:轻松管理通知活动。安排和发送消息,以便在最适当的时间吸引合适的用户。

    16K00

    满足 Google Play 目标 API 等级 (targetSdkLevel) 的要求

    Google Play 服务 SDK; ·· Firebase Cloud Messaging documentation 在使用 Firebase Cloud Messaging 时,消息投递受限于后台执行限制...若消息接收需要必要后台工作,如后台数据同步,您的应用须要通过 Firebase Job Dispatcher 或者 JobIntentService 调度任务。...通知渠道 - 您应该为每个渠道分别定义通知中断设特性: ·· 您必须将通知分配到某一渠道 (channel),以便通知显示; ·· 该版本 Android 平台支持 NotificationCompat.Builder...万不得已情况下,可以声明最大屏幕宽高比。...Cloud Messaging 消息的用例; ·· 测试任何需要使用闹钟或者任务用例; ·· 消除所有后台服务依赖; - 设置您的应用进入待机模式: ·· 测试任何触发 Firebase

    8.7K30

    Android P 电量管理

    活跃 (Active) 活跃应用指用户正在使用的应用,例如: 应用启动了一个Activity; 应用正在运行前台服务; 另一个前台应用已关联至该应用 (通过同步适配器与前台应用的内容提供器相关联); 用户点击了应用的推送...如果应用的推送不具备可操作性,用户将无法借助与推送的交互将应用切换至活跃群组。在这种情况下,开发者可考虑重新设计推送功能,允许用户响应。...其实,高优先级 FCM 消息的唯一用途就是向用户发送推送,因此这种情况绝对不应该出现。...后台限制 当系统监测到应用消耗过多资源时,系统会通知并询问用户是否需要限制该应用的后台活动。...(请查阅《后台服务限制》了解如何判断应用是否为前台运行。) 详细限制列表,请查阅《附件:电量管理限制》。 省电助手优化 Android P 进一步提升了省电模式的性能。

    2.1K30

    Android P正式版即将到来:后台应用保活、消息推送的真正噩梦

    以消息推送为例,当APP处于后台或关闭时,消息推送对于某些应用来说非常有用,比如: 1)IM即时通讯聊天应用:聊天消息通知、音视频聊天呼叫等,典型代表有:微信、QQ、易信、米聊、钉钉、Whatsup、...8、Andriod P电量管理特性2:后台限制 当系统监测到应用消耗过多资源时,系统会通知并询问用户是否需要限制该应用的后台活动。...(请查阅《后台服务限制》了解如何判断应用是否为前台运行。) 详细限制列表,请查阅《附件:电量管理限制》。...11、本文小结 对于开发者来说,Android平台向来以“乱”著称,后台保活和消息推送从各种黑科技,到厂商纷纷自建通道,再到统一推送联盟。...消息推送:GCM、XMPP、MQTT三种方案的优劣》 《移动端实时消息推送技术浅析》 《扫盲贴:浅谈iOS和Android后台实时消息推送的原理和区别》 《绝对干货:基于Netty实现海量接入的推送服务技术要点

    3.9K30

    使用 FCM 通知您的用户

    本文将解释何时以及如何生成这些远程通知,以便为用户提供及时更新并尽量省电。 用 FCM 实现远程通知 我们推荐使用 Firebase 云消息 (FCM) 发送远程通知到 Android 设备。...如果您仍使用已被弃用的 Google 云消息 (GCM) 或 C2DM 库,是时候升级到 FCM 了! 有两种类型的 FCM 消息可选: 通知消息,简化了通知处理且默认高优先级。...数据消息,适用于在客户端应用内处理 FCM 消息。 您可以把数据信息的优先级设为高或普通。如需进一步了解 FCM 消息和消息处理,可参阅 Firebase 博客上的这篇文章。...如果处理不当,通知可能根本不会被用户看到,参阅下节 "避免后台服务"。...如果应用处于受限状态,FCM 消息则根本不会被传递至应用。这对高优先级和普通优先级 FCM 消息均适用,且无论应用处于前台还是后台。 应用待机分组根据应用所在的分组实施不同程度的限制。

    3.5K30

    面试软件测试APP岗位,这些题目你不可不知!

    一、测试准备 了解推送通知类型: 文本通知 声音通知 图像通知 其他多媒体通知 准备测试环境: 测试设备:iOS或Android手机等 测试账号 安装测试版本的应用程序,以便使用开发者工具模拟推送通知...使用开发者工具或第三方工具: Xcode(iOS)、Android Studio(Android)等开发者工具可以模拟推送通知 第三方工具如Postman、Pusher、Firebase Cloud...,消息及其推送跳转的正确性 检查应用在不同状态(开发、未打开、启动且在后台运行)下Push显示和跳转的正确性 显示和跳转测试: 检查Push消息是否有红点展示,推送消息阅读前后数字的变化是否正确 验证Push...: 在推送消息的大规模使用情况下,测试应用程序的性能和稳定性,以确保它能够处理大量推送通知 四、测试过程中遇到 app 出现 crash 或者 ANR,你会怎么处理?...三、热启动 定义:当应用已经被打开,但是被按下返回键、Home键等按键时回到桌面或其他程序,再重新打开该应用时,这种启动方式叫做热启动。此时程序仍然驻留在内存中,只是被系统从后台带到前台。

    7710

    2018年Android保活方案效果统计

    (黑科技,7.0下杀不掉) 3、监听锁屏广播:使Activity始终保持前台 4、使用自定义锁屏界面:覆盖了系统锁屏界面。...结论:此方案没有起作用 结论:除了华为此方案无效以及未更改底层的厂商不起作用外(START_STICKY字段就可以保持Service不被杀)。...结论:此方案不起作用 6、小米8(8.1):一键清理可以杀掉服务。锁屏后保活超过20分钟 结论:成功对华为手机保活。...4、原生7.0:任务管理器中关闭APP后服务被干掉,过2s会重新复活 5、小米8(8.1):一键清理可以杀掉服务,锁屏下后台保活时间超过38分钟 6、荣耀10(8.0):一键清理杀掉服务,锁屏下后台保活时间超过...23分钟 结论:高版本情况下可以使用弹出通知栏、双进程、无声音乐提高后台服务的保活概率 实现具体过程 一、双进程实现方案 使用AIDL绑定方式新建2个Service优先级(防止服务同时被系统杀死)不一样的守护进程互相拉起对方

    2.3K50

    【移动开发】市面上主流「移动推送服务」的体验比较

    推送服务基本上是每个 App 的刚需,自己也用过许多家推送服务,最近腾讯云上线了一个类似于 firebase 的移动开发平台,上面集成了很多的移动服务,包括推送(底层支持即为信鸽)、Crash 上报、第三方登录等...推送功能 这几家的推送服务的基本功能是相似的,下面主要说下腾讯移动开发平台推送的主要功能: 支持通过控制台和后台 API 来给终端推送通知消息和透传消息; 支持通过账户和标签来进行推送; 支持华为、小米和魅族厂商通道...,在这些厂商下的手机推送更加可靠; 支持添加通知样式,添加样式后,只需要通过样式 ID 即可使用对应的样式来进行推送。...支持本地推送消息:本地通知消息同样会触发回调。...各种回调相对清晰全面:用户通过注册 Receiver 来获取推送服务以及通知的状态,通知包括了:注册以及反注册回调、透传消息和通知消息到达、通知消息点击和删除以及标签绑定和解绑。

    8.6K70

    跟上脚步,进入后台执行新时代

    系统如何判定应用处于后台? 在理解后台执行这个概念之前,我们先来看看 Android 系统是如何定义前台应用的。...比如,当别的前台应用或者系统绑定了该应用的以下服务时,那么该应用处于前台: 输入法 壁纸服务 通知监听器 语音或文本服务 正在车内播放音乐的流媒体应用 (只适用于 Android Auto 车载娱乐系统...将任务编入队列后,WorkManager 会在约束条件满足的情况下,即当应用可以访问所需资源时,才会执行这两个任务。...如果任务由外部事件触发且运行时间较长,例如同步新数据,请先使用 Firebase Cloud Messaging 通知您的应用,然后再调用 WorkManager 创建同步数据的工作请求。...您可以阅读《使用 FCM 消息向用户发送通知》,获取更多详情。

    2.6K30

    做什么样的软件系列之Firebase

    做什么样的软件系列之Firebase 为什么要写这一篇? 做为一个iOS开发者我没有精力自己实现一套,登陆系统后台,广告系统后台,自己尝试写过身份认证系统,但是忘记密码之类的写的又丑又简陋。...对于很多android、ios和web的个人移动开发者来说,开发一个具有网络功能的应用不是一件容易的事,不仅需要购买或者租赁服务器,还必须掌握一门诸如Java、php等这类的服务器开发语言,每开发一款移动应用程序...、推送、支付、实时通信等。...firebase其实就是这样一个引路人,通过firebase的功能我们能熟悉一个前端或一个后端开发的工作。用户认证模块,数据存储模块,通知推送模块,广告模块,数据统计模块 崩溃收集模块,云控模块。...都是很好的问题 云服务 我们都在讲云服务,云计算。但是什么样的是云服务?我觉得firebase就是一项很好的服务范例。我们可以学习他的后台,ui等等。

    4.4K40

    了解iOS消息推送一文就够:史上最全iOS Push技术详解

    后台实时消息推送的原理和区别》 3、iOS的Push种类 3.1 在线push 在线push:当用户在线(APP在前台)时,收到的状态栏的消息提醒,称为在线push。...它与其他推送的区别在于允许应用收到通知后在后台(background)状态下运行一段代码,可用于从服务器获取内容更新。...2)App运行在后台及前台 上面的2种情况的处理基本一致, 不同点只有当运行再后台的时候,会有弹窗提示用户另外一个App有通知,对于本地通知单的处理都是通过AppDelegate的方法:- (void)...差别就是,如果app在前台是收到离线(远程)push,那么就会调用: ? 相对的,如果在后台或者杀进程情况下,点击收到的离线push,那么就会调用,如果没有实现: ? 则会调用: ?...消息推送:GCM、XMPP、MQTT三种方案的优劣》 《移动端实时消息推送技术浅析》 《扫盲贴:浅谈iOS和Android后台实时消息推送的原理和区别》 《绝对干货:基于Netty实现海量接入的推送服务技术要点

    23.6K30
    领券