ios手机app消息推送
h5+app项目,推送平台 " 个推 "
首先在manifest.json配置文件中点击模块权限配置,勾选push消息推送配置如图1-1

第二部在manifest.json配置文件SDK配置中勾选推送为个推,如图,
可以点击推送配置指南查看官方指南
在开发者中心申请的appid、appkey等填写在对应位置,然后打包成app
开发者中心网站 https://dev.getui.com/dos5.0/#/config/351843721188751/appConfig

判断ios系统推送功能是否开启,并提醒前往设置开启推送功能,原文 https://ask.dcloud.net.cn/article/35727
// 判断iOS系统推送功能是否开启,并提醒去设置页打开设置推送
function isOpenPush() {
var UIApplication = plus.ios.import("UIApplication");
var app = UIApplication.sharedApplication();
var enabledTypes = 0;
if (app.currentUserNotificationSettings) {
var settings = app.currentUserNotificationSettings();
enabledTypes = settings.plusGetAttribute("types");
console.log("enabledTypes1:" + enabledTypes);
if (enabledTypes == 0) {
plus.nativeUI.confirm("推送设置未开启,是否去开启?", function (e) {
if (e.index == 0) {
var NSURL2 = plus.ios.import("NSURL");
var setting2 = NSURL2.URLWithString("app-settings:");
var application2 = UIApplication.sharedApplication();
application2.openURL(setting2);
plus.ios.deleteObject(setting2);
plus.ios.deleteObject(NSURL2);
plus.ios.deleteObject(application2);
}
}, {
"buttons": ["是", "否"],
"verticalAlign": "center"
});
}
plus.ios.deleteObject(settings);
} else {
enabledTypes = app.enabledRemoteNotificationTypes();
if (enabledTypes == 0) {
console.log("推送未开启!");
} else {
console.log("已经开启推送功能!")
}
console.log("enabledTypes2:" + enabledTypes);
}
plus.ios.deleteObject(app);
}
添加推送消息事件监听器 原文档地址 http://www.html5plus.org/doc/zh_cn/push.html

支持事件类型:"click"-从系统消息中心点击消息启动应用事件;"receive"-应用从推送服务器接收到推送消息事
//"所有plus api都应该在此事件发生后调用,否则会出现plus is undefined"
document.addEventListener('plusready', function(){
// 扩展API加载完毕,现在可以正常调用扩展API
plus.runtime.setBadgeNumber(0);//用户没有点击推送栏的消息进来,直接点击app进入,清除用户消息未读数量
// 添加监听从系统消息中心点击某条消息启动应用事件,该click事件只有应用离线或者后台运行时才会触发,点击相应的推送消息执行里面的逻辑处理
plus.push.addEventListener( "click", function ( msg ) {
// 分析msg.payload处理业务逻辑
plus.runtime.setBadgeNumber(0); //清空badge用户消息未读数量
if (navigator.userAgent.match(/(iPhone|iPod|iPad);?/i)) { //判断当前手机的机型为苹果等
if(msg.payload.open || msg.payload.url){
console.log("应用离线(或应用后台运行:触发“click”事件)",msg.payload.open) //open app协议
console.log("应用离线(或应用后台运行:触发“click”事件)",msg.payload.url) //url打开网址
if(msg.payload.url){
mui.init({ //用户每次点击左侧返回按钮处理页面返回
beforeback: function(){
let viewObj = plus.webview.getWebviewById('jmbz_app'); //查找指定标识的WebviewObject窗口
viewObj.canBack((event) => { //查询Webview窗口是否可后退
var canBack = event.canBack; //event.canBack是否可返回
if(canBack) { //可返回
viewObj.back(); //返回上一级
} else {
plus.webview.close('jmbz_app') //关闭Webview窗口
}
})
return false
}
});
mui.openWindow({ //打开带原生导航栏的新页面
url: msg.payload.url, //打开的地址
id: 'jmbz_app', //打开的id,自定义
styles: { // 窗口参数 参考5+规范中的WebviewStyle,也就是说WebviewStyle下的参数都可以在此设置
titleNView: { // 窗口的标题栏控件
autoBackButton: true, //标题栏控件是否显示左侧返回按钮
// titleText:"标题栏", // 标题栏文字,当不设置此属性时,默认加载当前页面的标题,并自动更新页面的标题
titleColor:"#000000", // 字体颜色,颜色值格式为"#RRGGBB",默认值为"#000000"
titleSize:"17px", // 字体大小,默认17px
backgroundColor:"#F7F7F7", // 控件背景颜色,颜色值格式为"#RRGGBB",默认值为"#F7F7F7"
progress:{ // 标题栏控件的进度条样式
color:"#00FF00", // 进度条颜色,默认值为"#00FF00"
height:"2px" // 进度条高度,默认值为"2px"
},
splitLine:{ // 标题栏控件的底部分割线,类似borderBottom
color:"#CCCCCC", // 分割线颜色,默认值为"#CCCCCC"
height:"1px" // 分割线高度,默认值为"2px"
}
}
}
});
}else{
window.location.href = msg.payload.open //打开应用app或者网址
window.setTimeout(function () {
window.location.href = msg.payload.download; //下载app地址
}, 2000)
}
}
}
}, false );
});
ios手机app消息推送的更多相关文章
- 基于APNs最新HTTP/2接口实现iOS的高性能消息推送(服务端篇)
1.前言 本文要分享的消息推送指的是当iOS端APP被关闭或者处于后台时,还能收到消息/信息/指令的能力. 这种在APP处于后台或关闭情况下的消息推送能力,通常在以下场景下非常有用: 1)IM即时通讯 ...
- 浅谈APP消息推送
作为移动端APP产品运营最重要的运营手段,消息推送(push)被越来越多的APP厂商所重视,在信息泛滥的移动互联网时代,手机APP应用安装得越来越多,小小的手机屏幕每天收到的消息推送也越来越多,站在用 ...
- 淘宝APP消息推送模型
为什么到了2020年,"统一推送联盟"依旧无法起显著作用? - 知乎 https://www.zhihu.com/question/370632447 https://mp.wei ...
- (转)在SAE使用Apple Push Notification Service服务开发iOS应用, 实现消息推送
在SAE使用Apple Push Notification Service服务开发iOS应用, 实现消息推送 From: http://saeapns.sinaapp.com/doc.html 1,在 ...
- APP消息推送是否进入消息中心和click、receive事件分析
前端时间研究APP消息推送的机制,由于机型.版本的碎片化,消息推送的机制不太好理解,所以总结下,放在博文里以备后续查阅. 安卓Android系统的消息推送: 安卓 推送方式 应用状态 类型 消 ...
- IOS开发之实现App消息推送
转自:http://blog.csdn.net/shenjie12345678/article/details/41120637 第一部分 首先第一步当然是介绍一下苹果的推送机制(APNS)咯(ps: ...
- IOS开发之实现App消息推送(最新)
好久没有写过博客啦,今天就由本菜鸟给大家做一个简单的IOSApp消息推送教程吧!一切从0开始,包括XCode6, IOS8, 以及苹果开发者中心最新如何注册应用,申请证书以及下载配置概要文件,相信很多 ...
- IOS8开发之实现App消息推送
第一部分 Apple Push Notification Service 首先第一步当然是介绍一下苹果的推送机制(APNS)咯(ps:其实每一篇教程都有),先来看一张苹果官方对其推送做出解释的概要图. ...
- iOS/Android网络消息推送的实现两种方法
移动时代,用户为王,而每个APP拥有的活跃用户量(Active Users),决定了其价值. 消息推送成为了不可或缺的活跃唤起工具. 目前消息推送有如下两种途径: 1.iOS传统方式: 通过Apple ...
随机推荐
- ubuntu之路——day17.1 卷积操作的意义、边缘检测的示例、filter与padding的关系、卷积步长
感谢吴恩达老师的公开课,以下图片均来自于吴恩达老师的公开课课件 为什么要进行卷积操作? 我们通过前几天的实验已经做了64*64大小的猫图片的识别. 在普通的神经网络上我们在输入层上输入的数据X的维数为 ...
- [C++] 对象指针使用方法
对象指针:指向类对象的指针 类指针指向类变量(对象)的地址 对象指针定义格式: 类类型 *变量名: 举例: #include <iostream> using namespace std; ...
- 使用lombok的@Builder的注解的一个坑
一开发说项目报错 java.lang.Long,java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lan ...
- Mqtt paho 回调函数触发机制跟踪
Python Mqtt paho 回调函数触发机制跟踪,我使用的是 buildroot 里面的 mqtt paho , 代码在 ''' buildroot-2017.02.8/output/build ...
- Spring cloud微服务安全实战-7-8ELK+SpringBoot环境搭建
采集不可聚合的离散的.日志信息的e ELK是三个系统的简称 LogStash:用来做日志的收集.过滤.格式转换 Kibana:和普罗米修斯的grafana一个意思.主要用来展示数据. 用docker来 ...
- Coder 健康 知识
- mysql8忘记秘密-重置密码步骤
mysql8修改密码的方式有些许不同 1.配置无密码登录 修改/etc/my.cnf文件,在mysqld模块下添加 skip-grant-tables 2.重启mysql 3.mysql -uroot ...
- [LeetCode] 188. Best Time to Buy and Sell Stock IV 买卖股票的最佳时间 IV
Say you have an array for which the ith element is the price of a given stock on day i. Design an al ...
- [LeetCode] 312. Burst Balloons 爆气球
Given n balloons, indexed from 0 to n-1. Each balloon is painted with a number on it represented by ...
- VueJS中学习使用Vuex详解
转载自:https://segmentfault.com/a/1190000015782272,做了部分修改(这里建议不要用所谓的getters,一来多次一举,二来模块化时会产生很不协调的用法) 在S ...