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

无法获得cordova上推送通知的完整信息(cordova-plugin-firebasex)

问题概述

在使用 cordova-plugin-firebasex 插件进行 Cordova 应用开发时,可能会遇到无法获取推送通知的完整信息的问题。这个问题通常涉及到 Cordova 插件的配置、Firebase 配置以及应用代码的正确实现。

基础概念

  1. Cordova: 一个开源的移动应用开发框架,允许开发者使用标准的 Web 技术(HTML、CSS 和 JavaScript)来构建跨平台的移动应用。
  2. Firebase Cloud Messaging (FCM): Google 提供的云消息传递服务,用于向移动设备和 Web 应用发送通知。
  3. cordova-plugin-firebasex: 一个 Cordova 插件,用于将 Firebase 功能集成到 Cordova 应用中,包括 FCM。

相关优势

  • 跨平台支持: 使用 Cordova 和 cordova-plugin-firebasex 可以轻松构建跨 Android 和 iOS 平台的应用。
  • 实时通信: FCM 提供实时消息传递功能,适用于需要即时通知的应用场景。
  • 易于集成: 插件提供了简单的 API,便于开发者快速集成 Firebase 功能。

类型与应用场景

  • 类型: 主要涉及推送通知的接收和处理。
  • 应用场景: 社交应用、新闻应用、电商应用等需要实时通知用户的应用。

问题原因及解决方法

1. 插件配置问题

原因: 插件未正确安装或配置。

解决方法:

代码语言:txt
复制
cordova plugin add cordova-plugin-firebasex

确保在 config.xml 中正确配置 Firebase 项目信息:

代码语言:txt
复制
<preference name="FirebaseProjectId" value="your-project-id" />
<preference name="FirebaseApiKey" value="your-api-key" />

2. Firebase 配置问题

原因: Firebase 项目配置不正确或缺少必要的权限。

解决方法:

  • 确保在 Firebase 控制台中正确配置了项目,并启用了 FCM。
  • 检查 google-services.json(Android)和 GoogleService-Info.plist(iOS)文件是否正确添加到项目中。

3. 应用代码问题

原因: 应用代码中处理通知的逻辑有误。

解决方法: 确保在应用中正确初始化 Firebase 和 FCM:

代码语言:txt
复制
document.addEventListener('deviceready', function() {
    firebase.initializeApp({
        apiKey: "your-api-key",
        projectId: "your-project-id",
        appId: "your-app-id"
    });

    var messaging = firebase.messaging();
    messaging.onMessage(function(payload) {
        console.log("Message received. ", payload);
        // 处理通知逻辑
    });
}, false);

4. 权限问题

原因: 应用缺少必要的权限声明。

解决方法: 在 AndroidManifest.xml 中添加必要的权限:

代码语言:txt
复制
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />

Info.plist 中添加必要的权限:

代码语言:txt
复制
<key>NSPhotoLibraryUsageDescription</key>
<string>This app requires access to the photo library.</string>
<key>NSCameraUsageDescription</key>
<string>This app requires access to the camera.</string>

参考链接

通过以上步骤,您应该能够解决无法获取 Cordova 上推送通知完整信息的问题。如果问题仍然存在,请检查控制台日志以获取更多详细信息,并根据具体情况进行调试。

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

相关·内容

Phonegap 之 iOS银联在线支付(js调用ios端银联支付控件)

Phonegap项目,做支付时候,当把网站打包到ios或android端成app后,在app通过wap调用银联在线存在一个问题: 就是当从银联支付成功后,再从服务器返回到app客户端就很难实现。...支付成功后,银联会把支付结果一边通知到我们网站你服务器,另一方面也会把给一个通知到ios或android客户端,这样就完美了!   ...:  1、客户端请求银联支付,网站服务端构建银联支付请求;并从银联获得银联生成系统流水号 ?...2、通过Phonegap脚本插件,调用OC代码,OC调用银联支付接口,弹出银联支付控件,输入你银联卡号和手机验证码等信息,完成支付 ? ? ? ?...3、支付成功后,点击“返回商户”, 银联一边会回传一个信息到网站服务端,一边也会通知ios端app代理控制器支付结果。   然后ios端这边可以根据银联返回支付信息,做自己业务逻辑处理。 ?

3.1K20
  • 【Hybird】274-Hybird App 应用开发中 5 个必备知识点复习

    缺点: 开发和维护成本高,无法跨平台,需要各平台各自独立开发; Android 基于 Java 开发,iOS 基 OC 或 Swift 开发,相互之间独立,必须要有各自开发人员。...WebView Cordova WebView 可以给应用提供完整用户访问界面,使得应用混合了 Webview 和原生应用组件。...它提供了 Cordova 和原生组件相互通信接口,并绑定到了标准设备API,这使你能够通过 JavaScript 调用原生代码。...Cordova 在 iOS 实现原理: 3.1 工作流程 Cordova 发起对原生请求: cordova.exec(successCallback, failCallback, service,...Native 向 JS 发送消息 : 回溯调用结果、消息推送通知 JS 当前 Native 状态等。 4.2.

    1.4K30

    SNS项目笔记--极光推送

    博主根据自身项目的考察与网络资源,归纳了以下几种方法: 1、官方推送文档: ionic2之后版本极光推送在网络资料少之又少,经过一番折腾过后,博主选择了官方API文档。...1.1 修改包名 在注册APP做极光推送时候,需要当前包名,经过几番折腾,这里严厉指责网络一切改包名博客,不负责任在 项目名/platforms/android/ 目录下修改包名,从AndroidMainfest...2、“军神”解决方法 这里可以为大家隆重介绍下"军神"博客,我觉得极光推送相关要点都基本写清楚了这里就不再赘述。请点击“军神”博客!...注册.png 3.3.4 app.component.ts中init极光推送: ? init极光推送 3.3.5 build项目或者直接run项目,再从极光开发者页面发送通知 ?...发送通知.png 点击发送后,在模拟器即可显示: ? 显示结果.png 这样我们就完成了整个推送对接功能。

    1.3K30

    Hybrid App 应用开发中 5 个必备知识点复习

    缺点: 开发和维护成本高,无法跨平台,需要各平台各自独立开发; Android 基于 Java 开发,iOS 基 OC 或 Swift 开发,相互之间独立,必须要有各自开发人员。...WebView Cordova WebView 可以给应用提供完整用户访问界面,使得应用混合了 Webview 和原生应用组件。...它提供了 Cordova 和原生组件相互通信接口,并绑定到了标准设备API,这使你能够通过 JavaScript 调用原生代码。...Cordova 在 iOS 实现原理: [cordova] 3.1 工作流程 Cordova 发起对原生请求: cordova.exec(successCallback, failCallback...Native 向 JS 发送消息 : 回溯调用结果、消息推送通知 JS 当前 Native 状态等。 4.2.

    2.2K00

    PushPlugin-为iOSHybird App提供APNS服务

    APNS是iOS生态下面的推送机制。...其原理是APP启动时候,向苹果注册,并获得一个唯一token,然后不论app是否继续在运行,都可以通过调用苹果APNS服务,来向持有token设备推送消息,例如顶部通知。...一开始我也分不清,后来发现,APNS可以在应用关闭时候,通过iOS系统通知栏,推送消息给用户,让用户重新进入app中执行某些事情。...app启动后,就可以随时接收服务端信息了。 看上去很简单,为什么用了这么多时间? 嗯,APP端很简单,但是服务端涉及到各种证书,有点弄不清,然后官方文档又都是全英,半桶水英语看得够呛。...我也懒得翻译了,直接参考这篇文章,获得ck.pem文件。 编辑Example/server/pushAPNS.rb,配置里面的pem、pem密码和接收消息设备token。

    53700

    几个跨平台移动App开发方案框架比较

    ,且能通过js调用设备底层硬件(比如加速计、摄像头、罗盘、通讯录、文档、GPS、媒体、网络、通知(警告、声音和振动)、存储、传感器等等) Cordova 概述 Cordova 和 PhoneGap 区别...大众版不能满足协同开发 企业版有推送API接口 大众版没有 售后服务:企业版有独立售后团队 大众版入口是论坛 Dcloud 概述 普通HTML5技术与原生技术相比,有跨平台、动态、开放、直达二级内容页面等特点...最终产品是一个真正移动应用,从使用感受和用Objective-C或Java编写应用相比几乎是无法区分。 React Native所使用基础UI组件和原生应用完全一致。...你要做就是把这些基础组件使用JavaScript和React方式组合起来。能够在Javascript和React基础获得完全一致开发体验,构建世界一流原生APP。...(Learn once, write anywhere) 优点 能够在Javascript和React基础获得完全一致开发体验,构建世界一流原生APP 仅需学习一次,编写任何平台。

    7.8K20

    cordova实现消息推送(本地通知)

    本地通知基本目的是使应用程序能够通知用户,它为他们提供了一些信息例如,当应用程序没有在前台运行时,通知用户一个消息或即将到来约会。...本地通知大多是基于时间,如果触发就会在通知中心显示并呈现给用户。...在安排多个通知时,注意要使用schedule([])数组来包含所有通知。 每个本地通知都需要一个数字id,没有设置默认为0,但是调用本地通知时会取代相同id中较早那个。 下面是一些属性: ?...首先执行下面命令安装该插件: cordova plugin add https://github.com/katzer/cordova-plugin-local-notifications.git 一个通知例子.../ 一篇: windows php关于session临时文件一个坑 下一篇

    2.7K20

    几款移动跨平台App开发框架比较

    就能做应用,且能通过js调用设备底层硬件【比如加速计、摄像头、罗盘、通讯录、文档、GPS、媒体、网络、通知(警告、声音和振动)、存储、传感器。。。】...学习路线陡峭; Ionic 框架相比于原生 Cordova 有所差异,Cordova 某些官方插件可能不适用于Ionic; React Native 优点: 能够在Javascript和React基础获得完全一致开发体验...就是针对不同平台需要些多套代码; Cordova 优点: 开源免费,社区生态成熟,插件丰富; 支持离线场景应用; 开发工具选择空间大; iOS和Android基本可以共用代码,纯web思维,开发速度快...开发,cordova开源,暂时没有看到可以直接继承原生SDK 自身封装底层,闭源,无法直接使用原生SDK 闭源,免费版有限制 扩展能力 支持原生SDK云打包技术,有插件市场,也可以自己开发插件 可基于...、测试,降低一部分门槛,减少时间; 拥有插件市场,也可以自己开发插件; 前端框架:MUI Uni-app 生态完整,并且社区发展良好,使用了流行vue.js开发,编译打包APP体验十分流畅,使用uni-app

    8K20

    Flutter学习指南App, 一起来玩Flutter吧~

    Flutter是谷歌移动UI框架,可以快速在iOS、Android、Web和PC构建高质量原生用户界面。Flutter可以与现有的代码一起工作。...从事移动开发这么多年, 各种跨平台技术层出不穷.从最初基于webphonegap/cordova到后来原生组件渲染react-native/weex,再到现在flutter通过自己开发了一套原生控件渲染...Dialog(对话框)、Drag(拖拽)、Drawer(侧滑菜单)、 Form(表单)、Gesture(手势)、Image(图片)、Input(输入框)、Layout(布局)、 Notification(冒泡通知...)、Progress(进度条)、ScrollView(列表滚动)、Tab(选项卡)、Text(文字) 工具 DeviceInfo(设备信息)、EventBus(事件总线)、JPush(极光推送)、JsonSerialize...device_info (设备信息) 非常感谢 阿里巴巴入门级项目 flutter-go flutter实战 flutter插件平台

    1.7K10

    每日前端夜话(0x05):2018年JavaScript状态调查(下)

    每天晚上18:00准时推送 原文:https://2018.stateofjs.com/ 翻译:疯狂技术宅 这是一篇长篇调查报告,限于篇幅分为三次推送,今天推送最后一篇。...Cordova 随时间流行度 ? Cordova 最受喜欢方面 ? Cordova 最不受欢迎方面 ? 哪些工具与 Cordova 一起使用? ?...使用 Cordova 国家情况 平均而言,10.1%受访者使用过 Cordova ,并乐于再次使用它。...Ionic GitHub 36k stars 使用开放式Web技术构建令人惊叹原生和渐进式Web应用。应用程序可以运行在任何设备? Ionic 随时间流行度 ? Ionic 最受喜欢方面 ?...使用Web技术,比如Angular和Vue.js,FlexBox和CSS,可以在iOS和Android获得原生UI和性能。 NativeScript 随时间流行度 ?

    2.2K40

    目前主流app开发方式

    类似于现在所说轻应用。基于浏览器运行应用,基本可以说是触屏版网页应用。...优点:1.开发成本低 2.更新快 3.更新无需通知用户,不需要手动升级 4.能够跨多个平台和终端 缺点:1.临时性入口 2.无法获取系统级别的通知,提醒,动效等等 3.用户留存率低 4.设计受限制诸多...在国内,按时间顺序,有:2012年AppCan,2013年DCloud,2014年9月APICloud 1.Cordova Cordova是Apache软件基金会一个产品。...Cordova优势很明显,可以使用框架、原生接口、支持平台都很多。但是,外国人写东西,公司使用后,出现技术问题难以解决。...前端工程师负责页面布局,UI展现,及简单交互,原生模块负责性能方面和功能实现,两者结合形成一个完整应用。

    1.3K20

    基于React-Native0.55.4语音识别项目全栈方案

    ,相关Web API接口也都存在,但即使获得用户授权后也无法调起录音功能。...在支持API26(Android8.0)版本虚拟机中,功能均可实现。最终在Can I Use中对于getUserMedia( )方法支持度统计信息备注中,发现已知问题中在写明了: ?...建议以后开发中可能用到一些不常用API时完整地看一下相关信息。 结论: Android8.0支持,Android支持度不佳,不建议使用。...,除非你项目是在指定机器运行。...基本只要多复用现成组件,加上适量定制,尽可能不使用一些奇技淫巧,产品流畅度基本区分不出来是否是Hybrid开发还是Native开发,当然跟笔者项目体量不是很大也有一定关系。 四.

    3.7K30

    移动开发跨平台技术演进

    2014年HTML5标准规范制定完成,在网络舆论Web App大有取代Native App气势,但Web App有以下缺点,使得它始终是“主角心,配角命” : 性能低,操作体验不好 无法调用原生...API,很多功能无法实现, 依赖于网络,网速慢时体验很差,并且没有离线功能,优化不好的话会消耗流量 只能做为一个临时入口,用户留存率低 在Web App基础,又出现了几个进化者,这里主要介绍PWA...+Cache Api + indexedDB 等一系列web技术实现离线加载和缓存 实现了推送通知 可以直接添加到手机桌面上 使用Service Worker可以进行后台同步 总结起来,PWA主要能力就是离线...、推送、桌面访问,可以说PWA赋予Web App原生体验,但是PWA一直不温不火原因主要有以下几点: 游览器对PWA技术支持还不够全面, 不是每一款游览器都能100%支持PWA 国内一些手机厂商对...微信小程序缺点很明显,体验无法跟App相提并论,功能依托并受限于微信,无法进行拓展。可以说微信小程序就是建立了次级生态,这个生态中微信说算,其他对手发展会受到威胁。 4.

    3.3K20

    技术中台应用集成架构之移动微应用集成

    任务中心可以接收来自流程平台或其他应用系统推送过来任务、通知、流程等任务数据。业务人员访问业务门户任务中心应用后,对自己当前任务可以一目了然。...同时还提供完整组件开发、发布、管理体系,支持动态化APP编译打包。...微应用作为门户应用进行业务聚合和管理最小粒度,本质他是一种开发和管理模型,从开发技术上来讲,并不限定具体开发语言和技术,理论通过实现相应微应用运行容器,任何移动开发技术都可以进行微应用开发。...Cordova微应用:使用Cordova技术开发微应用。 3.3 微应用创建 ?...网关对外提供治理数据 rest 接口,治理平台通过此接口将治理数据发送至网关。网关收到治理数据之后, 由统一存储接口保持至持久存储之中,然后由存储通知机制,通知所有网关实例。

    2.8K21

    iOS 远程推送概念相关准备工作代码实现:(前提:确保bundleID和网站配置一样)AppDelegate中全部代码

    传统获取数据局限性:只要用户关闭了app,就无法跟app服务器沟通,无法从服务器获得最新数据内容 远程推送通知可以解决以上问题:不管用户打开还是关闭app,只要联网了,都能接收到服务器推送远程通知...和程序bundle ID请求苹果服务器(SSL安全),客户端获得Token号存储起来,客户端再将Token号和用户信息等(如QQ号等)绑定发送给公司服务器,公司服务器保存token号和账户关联信息,...远程推送原理 ---- 准备工作 开发iOS程序推送功能, iOS端需要做事 请求苹果获得deviceToken UDID : 目的是将来可以找到手机 Bundle ID : 目的是将来可以找到手机中程序...创建调试用推送证书流程跟创建普通调试证书一样, 多了一个选择BundlD ID过程 (如果之前配置是通配符Bundld ID ,则无法使用Push功能) 1.选择推送证书 ?...注意:如果客户端更换了用户信息,就需要重新请求Token,删除本地信息重新请求,并删除公司服务器端Token信息(也可不删除添加一个),保证推送到新登录账户 3.模拟服务器测试推送: Easy

    1.9K100

    React Native应用部署马甲包热更新-CodePush最新集成总结(2018年最新)

    CodePush 是微软提供一套用于热更新 React Native 和 Cordova 应用服务。...CodePush 可以进行实时推送代码更新: 直接对用户部署代码更新 管理 Alpha,Beta 和生产环境应用 支持 React Native 和 Cordova 支持JavaScript 文件与图片资源更新...如果你用模拟器进行调试CodePush,在默认情况下是无法达到调试效果,因为在开发环境下装在模拟器React Native应用每次启动时都会从NodeJS服务器获取最新bundle,所以还没等...title (String) - 要显示更新通知标题....也就是说没有想CodePush服务器推送基于当前版本有关更新。 CodePush更新和用户当前所安装APP版本不匹配。

    2.8K00

    React Native应用部署热更新-CodePush最新集成总结(新)

    CodePush 是微软提供一套用于热更新 React Native 和 Cordova 应用服务。...CodePush 可以进行实时推送代码更新: 直接对用户部署代码更新 管理 Alpha,Beta 和生产环境应用 支持 React Native 和 Cordova 支持JavaScript 文件与图片资源更新...如果你用模拟器进行调试CodePush,在默认情况下是无法达到调试效果,因为在开发环境下装在模拟器React Native应用每次启动时都会从NodeJS服务器获取最新bundle,所以还没等...title (String) - 要显示更新通知标题....也就是说没有想CodePush服务器推送基于当前版本有关更新。 CodePush更新和用户当前所安装APP版本不匹配。

    3.3K60
    领券