news 2026/4/16 22:34:57

移动端推送实现:极光推送、Firebase Cloud Messaging 实战

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
移动端推送实现:极光推送、Firebase Cloud Messaging 实战

极光推送实现代码

Android 端集成build.gradle中添加依赖:

implementation 'cn.jiguang.sdk:jpush:4.6.0' implementation 'cn.jiguang.sdk:jcore:2.7.0'


初始化代码(在 Application 类中):

JPushInterface.setDebugMode(true); JPushInterface.init(this);

注册设备监听:

JPushInterface.getRegistrationID(this); // 获取 RegistrationID

iOS 端集成Podfile 添加:

pod 'JPush'

AppDelegate 初始化:

[JPUSHService setupWithOption:launchOptions appKey:@"your_app_key" channel:@"AppStore" apsForProduction:NO];

Firebase Cloud Messaging 实现代码

Android 端集成build.gradle添加依赖:

implementation 'com.google.firebase:firebase-messaging:23.0.0'

初始化 Firebase:

FirebaseMessaging.getInstance().getToken() .addOnCompleteListener(task -> { if (task.isSuccessful()) { String token = task.getResult(); // 上传 token 到服务器 } });

消息处理 Service:

public class MyFirebaseService extends FirebaseMessagingService { @Override public void onNewToken(String token) { // 处理新 token } @Override public void onMessageReceived(RemoteMessage message) { // 处理收到的消息 } }

iOS 端集成Podfile 添加:

pod 'Firebase/Messaging'

AppDelegate 配置:

FirebaseApp.configure() Messaging.messaging().token { token, error in if let error = error { print("Error fetching FCM token: \(error)") } else if let token = token { print("FCM token: \(token)") } }

通用功能实现

标签设置(极光)

JPushInterface.setAlias(context, sequence, alias); JPushInterface.setTags(context, sequence, tags);

主题订阅(FCM)

FirebaseMessaging.getInstance().subscribeToTopic("weather");

静默通知处理iOS 需要在 payload 中添加:

{ "aps": { "content-available": 1 } }

Android 需在 Service 中处理:

if (message.getData().containsKey("silent")) { // 静默逻辑 }
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/17 0:26:24

Linux磁盘IO优化实战:从调度器到文件系统

前言 服务器CPU不高、内存够用,但就是慢。top一看,%wa(IO wait)长期在50%以上,说明CPU在等磁盘IO。 磁盘IO慢的原因很多:调度器不合适、文件系统配置不当、硬件瓶颈、或者应用IO模式有问题。这篇文章从系统…

作者头像 李华
网站建设 2026/4/12 3:19:08

iOS 开发入门:SwiftUI 快速搭建原生应用

SwiftUI 快速搭建原生应用示例以下是一个基于 SwiftUI 的 iOS 应用基础模板,包含常见的 UI 组件和交互逻辑:基础视图结构import SwiftUIstruct ContentView: View {State private var textInput: String ""State private var toggleState: Bo…

作者头像 李华
网站建设 2026/4/17 2:14:57

AI分类器故障排除:云端服务7×24小时支持

AI分类器故障排除:云端服务724小时支持 1. 为什么需要AI分类器故障排除服务 AI分类器在运行过程中可能会遇到各种问题,比如模型加载失败、分类准确率下降、服务响应超时等。这些问题如果不及时解决,可能会影响整个项目的进度。 想象一下AI…

作者头像 李华
网站建设 2026/4/16 19:23:38

ResNet18图像分类省钱攻略:云端GPU按需付费省90%成本

ResNet18图像分类省钱攻略:云端GPU按需付费省90%成本 1. 为什么个人开发者需要云端GPU? 作为个人开发者或学生研究者,当你需要跑图像分类模型时,通常会面临两个头疼的问题:买显卡太贵,包月服务器又浪费。…

作者头像 李华
网站建设 2026/4/12 20:55:25

环保人士专属:低碳AI分类计算方案

环保人士专属:低碳AI分类计算方案 引言:当环保遇上AI 作为一名关注环保的技术爱好者,我一直在寻找既能满足计算需求又符合低碳理念的AI解决方案。直到发现这套低碳AI分类计算方案,它完美解决了绿色组织在碳足迹计算中的痛点。 …

作者头像 李华
网站建设 2026/4/13 9:14:29

基于MiDaS的深度感知:部署与优化全解

基于MiDaS的深度感知:部署与优化全解 1. 引言:单目深度估计的技术价值与应用场景 在计算机视觉领域,从单张2D图像中恢复3D空间结构一直是极具挑战性的任务。传统方法依赖多视角几何或激光雷达等硬件设备,成本高且部署复杂。近年…

作者头像 李华