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

如何在android设备上实现FCM推送通知,即使在游戏被杀的情况下也能工作

在Android设备上实现FCM(Firebase Cloud Messaging)推送通知,即使在游戏被杀的情况下也能工作,可以通过以下步骤实现:

  1. 配置Firebase项目:首先,在Firebase控制台中创建一个新的项目,并将其与你的Android应用关联。确保在项目设置中启用FCM功能。
  2. 集成FCM SDK:在你的Android应用中,添加Firebase Messaging SDK的依赖项。可以通过在项目的build.gradle文件中添加以下代码来完成:
代码语言:txt
复制
implementation 'com.google.firebase:firebase-messaging:22.0.0'
  1. 配置Android清单文件:在你的应用的AndroidManifest.xml文件中,添加以下代码来配置FCM服务和接收器:
代码语言:txt
复制
<service
    android:name=".MyFirebaseMessagingService"
    android:exported="false">
    <intent-filter>
        <action android:name="com.google.firebase.MESSAGING_EVENT" />
    </intent-filter>
</service>
  1. 创建Firebase消息服务类:创建一个继承自FirebaseMessagingService的类,用于处理接收到的消息。在该类中,你可以重写onMessageReceived方法来处理接收到的消息,并在需要时显示通知。
代码语言:txt
复制
public class MyFirebaseMessagingService extends FirebaseMessagingService {
    @Override
    public void onMessageReceived(RemoteMessage remoteMessage) {
        // 处理接收到的消息,并显示通知
    }
}
  1. 处理接收到的消息:在onMessageReceived方法中,你可以处理接收到的消息,并显示通知。你可以使用NotificationCompat.Builder类来创建和显示通知。
代码语言:txt
复制
public class MyFirebaseMessagingService extends FirebaseMessagingService {
    @Override
    public void onMessageReceived(RemoteMessage remoteMessage) {
        // 处理接收到的消息,并显示通知
        if (remoteMessage.getNotification() != null) {
            String title = remoteMessage.getNotification().getTitle();
            String body = remoteMessage.getNotification().getBody();

            NotificationCompat.Builder builder = new NotificationCompat.Builder(this, "channel_id")
                    .setSmallIcon(R.drawable.notification_icon)
                    .setContentTitle(title)
                    .setContentText(body)
                    .setPriority(NotificationCompat.PRIORITY_DEFAULT);

            NotificationManagerCompat notificationManager = NotificationManagerCompat.from(this);
            notificationManager.notify(0, builder.build());
        }
    }
}
  1. 设置通知渠道:为了在Android 8.0及更高版本上显示通知,你需要创建并设置通知渠道。可以在应用的启动代码中添加以下代码:
代码语言:txt
复制
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
    NotificationChannel channel = new NotificationChannel("channel_id", "Channel Name", NotificationManager.IMPORTANCE_DEFAULT);
    NotificationManager notificationManager = getSystemService(NotificationManager.class);
    notificationManager.createNotificationChannel(channel);
}
  1. 注册设备令牌:在你的应用中,你需要获取设备的FCM令牌,并将其注册到你的后端服务器上,以便向特定设备发送推送通知。可以在MainActivity或Application类中添加以下代码来获取并注册设备令牌:
代码语言:txt
复制
FirebaseMessaging.getInstance().getToken()
    .addOnCompleteListener(task -> {
        if (!task.isSuccessful()) {
            Log.w("FCM Token", "Fetching FCM registration token failed", task.getException());
            return;
        }

        // 获取设备令牌
        String token = task.getResult();

        // 将设备令牌发送到后端服务器进行注册
        // ...
    });

以上步骤可以帮助你在Android设备上实现FCM推送通知,即使在游戏被杀的情况下也能正常工作。请注意,这只是一个基本的实现示例,你可以根据自己的需求进行定制和扩展。

关于FCM的更多信息和详细配置,请参考腾讯云相关文档和产品介绍:

  • FCM官方文档:https://firebase.google.com/docs/cloud-messaging
  • 腾讯云移动推送:https://cloud.tencent.com/product/umeng_push
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

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

React Native 中推送通知架构 我们深入了解如何在 React Native 应用中实现推送通知技术细节之前,理解React Native推送通知工作原理可能会有所帮助。...原生平台特定通知服务(FCM/APNs) Android和iOS平台都提供了用于接收推送通知原生平台特定API 适用于安卓设备Firebase云消息传递(FCM) 苹果推送通知服务(APNs)适用于...React Native Firebase 库提供了一种通过 FCM iOS发送推送通知方法。...如果你访问Expo文档,你会找到关于如何在许多语言中实现服务器推送通知信息。 在这个教程中,我将使用一个Node.js服务器。...请注意,在这里,我没有设置 FCM 就收到了我 Android 设备通知,因为我使用 Expo 应用进行开发。

68110

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

题外话:实际,对于后台消息推送能力,Android原版系统早就内置了系统级推送服务(跟iOSAPNs服务是一个东西),它就是GCM服务(现在升级为FCM了),但众所周之原因,谷哥服务国内都是用不了...(进程防杀篇)》 《应用保活终极总结(三):Android6.0及以上保活实践(被杀复活篇)》 《Android进程保活详解:一篇文章解决你所有疑问》 《Android端消息推送总结:实现原理...,国内主流Android手机厂商阉割了谷歌原版GCM(FCM)推送通道之后(悲剧!)...版本问题,即使同一个厂商手机同一套SDK存在新旧ROOM兼容性问题; 4)这一堆SDK,各种jar包让你APP莫名变大了不少; 5)服务端要对接各种厂商推送后台,各家技术水平、SDK...随着时间推进,分久必合局面终将出现,Android平台必将越来越规范,Android P这样版本只是这前进过程中阵痛,希望广大Android开发者Android技术进步福利下越来越轻松,再也不用

3.8K30

Android消息推送:第三方消息推送平台详细解析

当今市场上Android手机系统份额最高是MIUI系统,即小米(具体排名请看http://www.umindex.com/) 因为:免费、到达率高且Android系统市场份额第一MIUI系统被杀死...如果用户群体精准(使用小米手机或华为手机居多),可以考虑只集成对应手机厂商推送; 注意:单一手机厂商工作,比如小米推送非小米手机上当然工作,只不过不是系统级别的服务了,容易被杀死。...因为透传消息整个消息传递过程中比通知栏消息多了一步-传递到App,因此透传消息就增加一些被系统限制概率,给系统杀死概率就高一些,所以说,通知栏消息比透传消息应该提供更好送达率。...我们来看下小米推送官方文档描述: 一些 Android 系统( MIUI)中,受到系统自启动管理设置限制,应用不能在后台自启动 在这类系统中,如果在发送消息时候对应应用没有被启动,透传类消息将不能顺利送达...接下来,我会继续介绍具体如何在Android应用中集成相应第三方推送功能(小米推送、极光推送、个推等等),有兴趣可以继续关注Carson_Ho安卓开发笔记 ----

9.6K60

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

是谷歌推出最新Android系统级别的消息推送服务(用来替换GCM)。...GCM(Google Cloud Message for Android)是Google发布Android服务器推送(push)技术。...之前C2DM(Android Cloud to Device Messaging)已与2012年6月26日被正式弃用。 注:国内可接收FCM推送,但必须安装谷歌服务。具体操作请参考官方文档。...这些服务器从一个应用服务器获取消息,并将其发送至设备运行客户端应用。Google 为 HTTP 和 XMPP 提供连接服务器。 2、一台应用服务器,您必须在您环境中实现它。...处理方式:在后台情况下你需要在应用主ActivityonCreate方法中调用getIntent.getExtra()方法才能拿到推送参数 server 端建置 Google

12.6K30

消息通知(Notification)用户触达系统设计

近年来,通知功能已经成为许多应用程序中突出特性。构建一个每天发送数百万通知可扩展系统绝非易事。这正是为什么我觉得有必要记录我在这方面踩坑之路。叫用户触达系统。...然而,若系统负载过高,轻微延迟可接受 支持设备:移动设备(iOS 和 Android)以及笔记本电脑/台式机 通知可以由客户端应用程序事件触发,可以服务器端进行计划 用户可以选择不再接收将来通知...然后,系统应该以以下组件结构化: 不同通知类型配置 收集联系信息流 通知发送和接收流 4 不同通知类型高级设计与AWS 每种通知类型高级层面上工作原理。...4.4 Android推送通知 使用SNS + FCMAndroid推送通知 Android有类似通知流。...与使用APNS不同,使用Firebase Cloud Messaging(FCM)向Android设备发送推送通知

48510

集成推送那点事-友盟Mob-FlutterFCM

二、Android 原生集成 - 友盟 v6.0.5 当初采用友盟原因如下: 支持厂商推送 方便运营小伙伴直接友盟查看所有数据 1.1 添加友盟依赖 前期友盟平台创建当前应用之类就不谈了,注意推送...gradle 也就是 app 下 gradle 添加对此依赖: // 友盟推送 apply from: 'UMeng_Push.gradle' 1.2 初始化友盟推送并设置通知栏点击动作 Application...} 很多时候我们都希望,即使用户当前未使用 App,或者说当前 App 处于被杀状态,后台推送消息依然想被前台接收。...3.2 FCM 集成 进入首页后,点击 Android 图标,开始 Android 接入/集成相关工作: ? 一共有如下四步: 第一步填写对应包名以及 SHA-1,反之我是都填了。 ?...当然 Google 为我们提供了一键式配置,但是尴尬是,我尝试失败了,不过算是一种方式,具体文章内容如下: 将 Firebase 添加到您 Android 项目 这里为了偷个懒,直接一张图展示了

11.2K41

Android P 电量管理

Android P 现有平台功能基础加入多项新特性以提升设备电量管理能力,确保系统对应用进行最合适资源分配。 电量管理特性主要体现在以下四个方面: 1....系统或会通过利用机器学习预加载应用,从而预测各个应用使用概率,然后将它们编配至相应群组中。若设备中没有安装此类系统应用,默认情况下,系统会根据应用近期使用情况进行等级划分。...如果应用推送不具备可操作性,用户将无法借助与推送交互将应用切换至活跃群组。在这种情况下,开发者可考虑重新设计推送功能,允许用户响应。...测试和错误排查 新电量管理特性会影响 Android P 运行所有应用,不论应用是否以 Android P 为目标平台开发。...而开发者则需要保证自己应用在设备能够继续流畅运行,这一点至关重要。 请确保多种电量优化功能情况下对应用主要用例进行测试。

2.1K30

Android 手记 | Android MobPush 接入小结

地铁我想了很多: 拉活,通过产品各种特性(活动)吸引用户点击使用,进一步验证产品思路、方向; 促进用户粘性,好比今天收到通知,鸡老大直播 ing,马不停蹄点击进去开始膜拜; 重大事件通知与防范,科技力量...Android 开放性使其自身逐步发展壮大,同时开放性衍生了国内各种厂商定制化。各种 系统 层出不穷,百花齐放场景Android 开发小伙伴带来了很多兼容性问题。...那么对于我们原生 Android 开发而言,如何处理,达到最好推送效果?我想那可能是依次对主流厂商进行兼容适配,但是同时带来了成倍接入工作。 较好一点是,有困难,便有专业解决困难提供商。...对于小公司而言,一键接入成型并且经过市场检验三方推送服务便是上策。而国内众多推送服务商,我们又该选择哪儿个?...而如果 Mob 通道被关闭,也就是 App 被杀死,这块我猜测可能是心跳包检测?说实话还真没去了解过。关闭时通过设备对应不同厂商通道进行消息下发。

2.1K30

融云技术分享:融云安卓端IM产品网络链路保活技术实践

▲ 重连机制原理 7、推送链路保活机制 推送链路作为消息到达补充手段,要求尽可能延长在后台存活时间。即使被杀后,仍然被再次唤醒。...iOS 手机有 APNS 来达到以上效果(详见《了解iOS消息推送一文就够:史上最全iOS Push技术详解》),但安卓官方推送系统 FCM 国内基本不可用。...那国内安卓系统如何保障推送到达呢?...然而可见进程退到后台后, oom_adj 值会立即升高,系统定时清理时被杀; 2)另外一种机制是安卓原生权限管理机制( AppOps ),各大厂家在此基础又进行了深度定制化,比如小米安全中心,...基于以上两种机制,推送链路保活可分为两大类。 第一类:进程保活: 它思路是根据 LMK 机制提高进程优先级,降低被杀几率。

2.9K40

h5Notification 、web Push介绍

默认是auto,跟随浏览器语言设置行为,你可以通过设置ltr和rtl值来覆盖该行为(虽然大多数浏览器似乎忽略这些设置) lang: 通知语言,使用代表一个BCP 47语言标签 DOMString...这是目前谷歌和苹果在 Chrome 和 Safari 都力推一种全新推送服务,Firefox最近加入了这个阵营。...事实这是把http协议不对称性从客户端转移到了服务端 WebSocket是HTML5中提出一个新标准(可视之为协议),客户端发送请求时在请求头加入额外字段,以标识这是一个基于WebSocket...FCM是一种可靠消息传递平台,它最大优点是同一套Push机制可以IOS/Android/Web三端使用: ?...Service Worker让我们Web端能有像原生APP一样Push通知,使得Web端越来越像原生APP端,随着HTML5其它新功能WebAssembly提高运行速度,WebWorker多线程支持

4.2K20

vivo手机上系统级消息推送平台架构设计实践

别跟我说为什么不用Android官方FCM服务(国内这链接你打开算我输,至于为什么,你懂。。。),别我跟提那个统一推送联盟(4、5年过去了,看样子还要继续等下去)。...从技术角度上来看,推送平台就是一个通过TCP长连接,将消息发送给用户平台。所以推送平台本质其实就是借助网络通道,将消息发送到用户设备。大家日常都收到过快递通知吧!...8、利用长连接能力给更多业务赋作为公司较大规模长连接服务平台,团队积累了非常丰富长连接经验。我们一直思考,如何让长连接能力为更多业务赋。...10、如何实现消息时效性监控与质量度量?传统消息时效性测量方法如上图左所示:发送端和接收端两个设备发送时候取时间t1、接收到消息时候取时间t2,这两个时间相减得到消息耗时。...[8] 正确理解IM长连接心跳及重连机制,并动手实现[9] 史上最强Android保活思路:深入剖析腾讯TIM进程永生技术[10] Android进程永生技术终极揭秘:进程被杀底层原理、APP对抗被杀技巧

1.4K20

基于APNs最新HTTP2接口实现iOS高性能消息推送(服务端篇)

这种APP处于后台或关闭情况下消息推送能力,通常在以下场景下非常有用: 1)IM即时通讯聊天应用:聊天消息通知、音视频聊天呼叫等,典型代表有:微信、QQ、易信、米聊、钉钉、Whatsup、Line...目前介绍APNs消息推送文章多讨论是手机端实现,而服务端消息要怎么“推”出来这样文章,要么太老,要么只是介绍如何调用第3方服务端SDK接口而已(极光推广、友盟推送、腾讯信鸽推送等)。...,原因是国内Android厂商将Android原生GCM(现在叫FCM,跟iOSAPNs是类似的技术)进行了阉割,加上各厂商省电策略、这全策略各不相同,导致为了实现IM和其它各种应用中后台消息推送...国内厂商为了跟进新版本AndroidGCM(现在叫FCM),都在搞自已消息推送通道:小米手机有小米推送、魅族手机有魅族推送、华为手机有华为推送等等,开发者放弃保活黑科技以后,只能一家一家接入各厂商推送通道...(如果英文看起来不方便,可以看看《iOS推送服务APNs详解:设计思路、技术原理及缺陷等》) IOS设备(tvOS、macOS)所有消息推送都需要经过APNs,APNs服务确实非常厉害,每天需要推送上百亿消息

5K30

使用 FCM 通知用户

通知是让应用用户保持联系和获取更新重要渠道。Android 提供通知 API 用于设备创建和发布通知,但这些通知经常由外部事件触发,并从应用服务器发送至应用。...本文将解释何时以及如何生成这些远程通知,以便为用户提供及时更新并尽量省电。 用 FCM 实现远程通知 我们推荐使用 Firebase 云消息 (FCM) 发送远程通知Android 设备。...FCM 针对 Android 电源管理特性进行了优化。运用合适消息优先级和类型,帮您及时通知用户,还能帮用户省电。...⚠️ 发布通知前应避免添加任何额外网络请求 还要记住,根据设备状态、用户操作和应用行为,一个或多个省电功能可能会限制应用后台工作。...这个建议同样适用于数据同步——我们推荐应用在 FCM 有效负载中发送尽量多数据,必要,应用打开时再加载剩余数据。如果网络良好,数据很可能在用户打开应用前就同步完成,所以用户不会看到加载进度条。

3.4K30

官方老爹之痛:为什么苹果收到推送,而安卓不行?

还记得上次我们做过试验么? 我们 iOS 设备杀掉进程后收到推送,而 Android 设备却不行。这个问题可困惑了小树很长时间,这天趁着工作清闲,又跑到小黑工位请教了。...但这貌似还没回答之前问题呢,为什么 iOS 设备 App 进程被杀掉时收到推送,而 Android 设备却不行呢? 小伙子果然穷追不舍,我这不是还没讲完嘛,别着急啊。小黑淡定地说。...我们上面说这种情况,只 App 进程还未被杀掉时适用。但当我们 App 进程被杀掉时,第三方服务厂商进程会跟着被清除。...而 iOS 设备官方推送服务只要设备开机,则是永远存在。所以我们 iOS 设备就能够做到即使 App 进程被杀收到推送。虽然这推送推送功能很有限,但是送达用户总比没送达好吧。...而 Android 设备不能在 App 进程死亡后收到推送,那是因为其没有官方推送支持。 但现在也有一些情况下能够实现 Android 设备 App 还未开启时候,可以接收到推送

94680

uni-app 如何实现消息推送功能?

国内AndroidPush是一个混乱世界,因为GooglePush服务FCM 被墙(从HBuilderX2.7.10开始,支持谷歌FCM,参考: UniPush支持谷歌推送FCM配置指南),所以一些国内安卓手机厂商各自做了自己推送...三方独立公司个推,则提供了独立 push 方案。 没有UniPush以前,如果只使用三方push,会在很多国产手机上因为节电设置而无法保活push进程,导致无法推送。...而如果每个安卓手机官方Push SDK都集成开发一遍,这么多平台,工作量会非常巨大,管理维护很麻烦。 UniPush解决了这个难题,开发者只需要开发一次。...技术架构 名词解释 名词 解释 通知消息 指定通知标题和内容后,由个推SDK自动处理系统通知栏中展示通知栏消息,同时响铃或震动提醒用户(响铃和震动受手机系统设置状态影响)。.../*** 此格式透传消息由 unipush 做了特殊处理, 会自动展示通知栏 开发者可自定义其它格式, 客户端自己处理 */ // "

5.3K22

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

1、引言 对于IM应用和消息推送服务开发者来说,Android机型后台保活是个相当头疼问题。 老板一句:“为什么微信、QQ收到消息,而你写APP却不行?”...题外话:实际,对于后台消息推送能力,Android原版系统早就内置了系统级推送服务(跟iOSAPNs服务是一个东西),它就是GCM服务(现在升级为FCM了),但众所周之原因,谷哥服务国内都是用不了...(进程防杀篇)》 《应用保活终极总结(三):Android6.0及以上保活实践(被杀复活篇)》 本方案具体代码实现,主要由以下4步构成。...本方法具体代码实现主要由以下6步组成。 1)该ActivityView只要设置为1像素然后设置Window对象即可。...预计2019年Android P将会成为Android设备主流系统,到那时才是真正噩梦开始。

1.8K20

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

后台执行相关行为变更 在后台运行应用会消耗设备有限资源,内存或者电池电量,进而影响用户使用体验,比如说,后台任务可能会缩短设备续航时间,或者在用户玩游戏、看视频或拍照时造成系统卡顿。...您可以阅读《使用 FCM 消息向用户发送通知》,获取更多详情。...如果应用需要立刻执行一个由用户发起任务,即使用户退出应用或关闭屏幕 (音乐/视频重放或者导航) 不会影响任务执行,请您使用前台服务。(我们将在下一篇连载中深度剖析该使用案例,敬请期待!)...常见定时任务包括: 服药提醒 电视节目开始前,向用户发送提醒通知 触发标准闹铃后,您会有几秒钟时间完成工作,此时应用可能无法访问网络 (例如,系统处于低耗电模式,或者应用被归入某一待机群组)。...JobScheduler 属于 Android 框架一部分,它仅在 API ≥ 21 系统可用;而 WorkManager 则支持 API 14 及更高版本。

2.5K30

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

1、引言 对于IM应用和消息推送服务开发者来说,Android机型后台保活是个相当头疼问题。 老板一句:“为什么微信、QQ收到消息,而你写APP却不行?”...题外话:实际,对于后台消息推送能力,Android原版系统早就内置了系统级推送服务(跟iOSAPNs服务是一个东西),它就是GCM服务(现在升级为FCM了),但众所周之原因,谷哥服务国内都是用不了...本方法具体代码实现主要由以下6步组成。 1)该ActivityView只要设置为1像素然后设置Window对象即可。...▲ 结论:高版本情况下可以使用弹出通知栏、双进程、无声音乐提高后台服务保活概率。...应用保活终极总结(三):Android6.0及以上保活实践(被杀复活篇)》 《Android进程保活详解:一篇文章解决你所有疑问》 《Android端消息推送总结:实现原理、心跳保活、遇到问题等》

4.2K20

Android新架构组件WorkManager

WorkManager简介 其实就是”管理一些要在后台工作任务, – 即使应用没启动保证任务被执行”。 1. 为何不用JobScheduler, AlarmManger来做?...而WorkManager不是, 它在应用被杀, 甚至设备重启后仍能保证你安排给他任务得到执行。 其实Google自己说了:”WorkManager并不是为了那种应用内后台线程而设计出来....1,代码实现分为两步:Worker是干活主体,它只管轮到了它时要做工作,不管其它东西。...你不用说应用被杀了, 就是你退出了这个注册Activity, 你都收不到LiveData通知. 所以说你应用被杀, 任务又执行完了时, 是没有UI通知, 更不会强行启动你启动。...反而是有点AlarmManager来做定时任务意思. 即保证你给它任务完成, 即使应用都没有被打开, 或是设备重启后能让你任务被执行. WorkManager设计设计得比较好.

66230
领券