news 2026/6/10 3:38:41

移动端推送实现:极光推送、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/6/9 23:12:59

移动端性能优化:Android/iOS 启动速度与流畅度优化

移动端性能优化代码示例Android 启动速度优化通过异步加载和延迟初始化减少主线程负担:public class MyApplication extends Application {Overridepublic void onCreate() {super.onCreate();new Thread(() -> {// 后台初始化第三方库initThirdPartyLibs();}).s…

作者头像 李华
网站建设 2026/6/9 0:56:19

ResNet18模型体验报告:3天实测,10元全面评测

ResNet18模型体验报告:3天实测,10元全面评测 1. 为什么选择ResNet18? 作为计算机视觉领域的经典模型,ResNet18凭借其轻量级结构和残差连接设计,在性能和效率之间取得了完美平衡。对于技术博主或开发者来说&#xff0…

作者头像 李华
网站建设 2026/6/9 1:36:00

AI万能分类器效果调优:云端GPU交互式调试

AI万能分类器效果调优:云端GPU交互式调试 引言 作为一名算法工程师,你是否经常遇到这样的困扰:调整分类器参数后需要等待漫长的训练周期才能看到效果,本地调试效率低下?传统的开发流程中,我们往往需要反复…

作者头像 李华
网站建设 2026/6/8 22:11:48

ResNet18二分类实战:1块钱体验医疗影像识别

ResNet18二分类实战:1块钱体验医疗影像识别 引言 作为一名医学研究生,你是否遇到过这样的困境:实验室的GPU资源需要排队两周才能使用,而个人笔记本又无法胜任深度学习任务?本文将带你用1块钱的成本,快速上…

作者头像 李华
网站建设 2026/6/10 0:50:55

跨平台AI分类方案:任何设备都能用的云端服务

跨平台AI分类方案:任何设备都能用的云端服务 引言 作为一名自由职业者,你是否经常遇到这样的困扰:在咖啡馆用笔记本处理图片分类,回家想用平板继续工作却发现环境配置复杂;出差时手机里存了大量待分类素材&#xff0…

作者头像 李华
网站建设 2026/6/7 11:50:32

AI分类器商业应用案例:小成本撬动大效率

AI分类器商业应用案例:小成本撬动大效率 引言 在创业初期,很多公司都会面临一个两难选择:要么投入大量资金搭建IT基础设施,要么放弃数据驱动的商业决策。今天我要分享的,是如何用云端AI分类器这个"杠杆"&a…

作者头像 李华