为项目开发做前期准备,试着app推送消息测试,一个demo。试过百度推送,没有成功。又试了极光推送,终于在多次实验后成功了。后来发现,成功与否关键是没有搞明白混合应用推送的原理。

推送的过程/原理

用户打开app时推送插件向服务器报备设备,服务端判断是否有需要推送的消息,有则推到设备,没有则记录设备。

当发出新的推送时,服务端会向已报备的设备推送消息。当然这个过程中已报备的设备可能有关闭app和关闭网络的,这样就收不到推送了。下次连接网络的时候才会被服务器再次推送。

之前之所以不成功,关键的就是“连网”这件事。我的demo是个纯单机demo,也就是说,app里没有需要请求服务端的数据。

单机=推送失败

软件

phonegap相关各种
极光推送

教程

https://github.com/jpush/jpush-phonegap-plugin
这是官方推出的phonegap插件地址,也包含使用的教程我就不单贴了

坑1 单机app推送不成功

正如前面提到的,因为首先app里没有包含必须联网的内容,可能是导致失败的原因。

也有网友说单机的app因为是Debug版本这也可能是没有推送成功的原因。有空可以试试。

至少在app里面加了需要联网的东西后推送成功了,并且是debug版本。

坑2 提示未加统计

推送插件还提供了统计功能,统计推送成功数量、打开消息数量等。我好像没发现极光推送为phonegap版本准备这方面的代码,在无头绪的时候又在神奇的网友那找到了解决方法——发布的版本不会提示==!

囧一个先,作为一个开发者没有猜到没加统计提示是debug信息,也是很窘的啦

就是说,release后就不会有推送插件的提示消息了

题外话

以上是Demo阶段的结果
在项目中正式开发后才是真正考验的时候,遇到坑后再更新吧

phonegap app推送新手教程与坑相关推荐

  1. 苹果消息推送服务教程:第二部分(共2部分)

    这篇文章还可以在这里找到 英语 Create a simple chat app with Apple Push Notification Services! 这个教程的原作者是Matthijs Ho ...

  2. 苹果消息推送服务教程:第一二部分(共2部分)

    苹果消息推送服务教程:第一部分(共2部分) 转自 http://www.raywenderlich.com/zh-hans/24732/苹果消息推送服务教程:第一部分(共2部分) 这是iOS教程团队的 ...

  3. 苹果消息推送服务教程:第2部分(共2部分)

    苹果消息推送服务教程:第2部分(共2部分) 转自 http://www.raywenderlich.com/zh-hans/24733/苹果消息推送服务教程:第而部分(共2部分) 这个教程的原作者是M ...

  4. 苹果消息推送服务教程:第一部分(共2部分)

    这篇文章还可以在这里找到 英语 Learn how to add Push Notifications into your iPhone app! 这是iOS教程团队的Matthijs Hollema ...

  5. 苹果消息推送服务教程(三步曲)-超详细

    mtrabelsi  (原作者) 第一部分 在iOS系统中,在后台运行的程序能够进行的操作是非常有限的.这种限制是为了节省手机电池. 但是,如果你需要在用户没有使用你的程序的情况下给他们推送消息该怎么 ...

  6. php 给APP推送消息

    php 给APP推送消息有很多, 极光,信鸽,百度等. 刚开始用的时候 是 极光,因为是 thinkphp 3.2   不能用composer  ,所以出现各种坑 .一直提示找不到CLASS,果断弃坑 ...

  7. 苹果消息推送服务教程

    目前找到的网上关于iOS Push最详细的文章,很不错,而且还有php代码. http://www.raywenderlich.com/3443/apple-push-notification-ser ...

  8. 苹果消息推送服务教程(下有php服务端DEMO,已验证可用)

    转载自:http://www.raywenderlich.com/zh-hans/24732/苹果消息推送服务教程:第一部分(共2部分) 这篇文章还可以在这里找到 英语 文琳照着这个做的:http:/ ...

  9. Android开发——集成友盟推送SDK遇到的坑(一)

    前言 Android开发的小伙伴们一定会集成第三方SDK,这里记录一下我在遇到的集成友盟推送SDK遇到的坑. Project with path ':push' could not be found ...

最新文章

  1. R语言决策树、bagging、随机森林模型在训练集以及测试集的预测结果(accuray、F1、偏差Deviance)对比分析、计算训练集和测试集的预测结果的差值来分析模型的过拟合(overfit)情况
  2. spring 源码 找不到 taskprovider_Spring 源码阅读环境的搭建
  3. list保留小数位数
  4. 每日一皮:别放弃,再坚持一下就到成功的彼岸...
  5. 渲染管道(2)应用阶段“功能”
  6. 苹果充电显示不支持此配件_苹果发布新配件:支持无线充电 870元起
  7. Installation error: INSTALL_FAILED_UID_CHANGED 的解决办法
  8. #周末课堂# 【Linux + JVM + Mysql高级性能优化班】(火热报名中~~~)
  9. java easyui样式_【Java框架型项目从入门到装逼】第八节 - 用EasyUI绘制主界面
  10. 经典面试题:有序矩阵的快速查找
  11. Linux支持运行3dmax,Mesa的Panfrost Gallium3D驱动程序现在可以使用新的DRM驱动程序
  12. ISO 3166 2位国别编码
  13. Android应用内加载pdf 使用pdf.js
  14. 友善mini2440裸机开发原理+源码
  15. 服务器定时关机 修改时间,服务器每周 设置定时关机
  16. linux硬盘识别过程
  17. java 类加载器的理解及加载机制?
  18. 2018技术胖Web前端视频教程全套
  19. 字节跳动秋招提前批(计算机视觉工程师)
  20. Android下拉刷新的实现(一) - SwipeRefreshLayout篇

热门文章

  1. 【Google】【内部样式表】【外部样式表:听力地点方向题】【设置字体间距】【多类、子元素选择器】【网页设计与网站开发HTML、CSS、JavaScript】【第 8 章】CSS基础——实验题1-6
  2. R语言计算并合并各物种的OTU数量
  3. 在Excel中如何提取括号中的数字
  4. hp扫描无法选择发送到计算机,HP Officejet Pro 8600打印机无法使用扫描到计算机的功能...
  5. 好听的歌曲单片机c语言程序,单片机音乐播放C语言程序
  6. 每日一题——有效的数独
  7. img显示服务器本地图片,img显示服务器图片不显示
  8. Arduino 利用串口缓冲区监听的方式读取数据
  9. 【CSS练习】IT修真院--练习6-护工列表界面
  10. EDK II工程文档官方网址