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消息推送的更多相关文章

  1. 基于APNs最新HTTP/2接口实现iOS的高性能消息推送(服务端篇)

    1.前言 本文要分享的消息推送指的是当iOS端APP被关闭或者处于后台时,还能收到消息/信息/指令的能力. 这种在APP处于后台或关闭情况下的消息推送能力,通常在以下场景下非常有用: 1)IM即时通讯 ...

  2. 浅谈APP消息推送

    作为移动端APP产品运营最重要的运营手段,消息推送(push)被越来越多的APP厂商所重视,在信息泛滥的移动互联网时代,手机APP应用安装得越来越多,小小的手机屏幕每天收到的消息推送也越来越多,站在用 ...

  3. 淘宝APP消息推送模型

    为什么到了2020年,"统一推送联盟"依旧无法起显著作用? - 知乎 https://www.zhihu.com/question/370632447 https://mp.wei ...

  4. (转)在SAE使用Apple Push Notification Service服务开发iOS应用, 实现消息推送

    在SAE使用Apple Push Notification Service服务开发iOS应用, 实现消息推送 From: http://saeapns.sinaapp.com/doc.html 1,在 ...

  5. APP消息推送是否进入消息中心和click、receive事件分析

    前端时间研究APP消息推送的机制,由于机型.版本的碎片化,消息推送的机制不太好理解,所以总结下,放在博文里以备后续查阅. 安卓Android系统的消息推送:     安卓 推送方式 应用状态 类型 消 ...

  6. IOS开发之实现App消息推送

    转自:http://blog.csdn.net/shenjie12345678/article/details/41120637 第一部分 首先第一步当然是介绍一下苹果的推送机制(APNS)咯(ps: ...

  7. IOS开发之实现App消息推送(最新)

    好久没有写过博客啦,今天就由本菜鸟给大家做一个简单的IOSApp消息推送教程吧!一切从0开始,包括XCode6, IOS8, 以及苹果开发者中心最新如何注册应用,申请证书以及下载配置概要文件,相信很多 ...

  8. IOS8开发之实现App消息推送

    第一部分 Apple Push Notification Service 首先第一步当然是介绍一下苹果的推送机制(APNS)咯(ps:其实每一篇教程都有),先来看一张苹果官方对其推送做出解释的概要图. ...

  9. iOS/Android网络消息推送的实现两种方法

    移动时代,用户为王,而每个APP拥有的活跃用户量(Active Users),决定了其价值. 消息推送成为了不可或缺的活跃唤起工具. 目前消息推送有如下两种途径: 1.iOS传统方式: 通过Apple ...

随机推荐

  1. ubuntu之路——day15.1 只用python的numpy在底层检验参数初始化对模型的影响

    首先感谢这位博主整理的Andrew Ng的deeplearning.ai的相关作业:https://blog.csdn.net/u013733326/article/details/79827273 ...

  2. 【转】Android系统中Fastboot和Recovery所扮演的角色。

    Android 刷机过程中 Fastboot 和 Recovery 的作用是什么? 自己在知乎的一篇回答,,现在翻出来放到博客,希望可以解答更多人的疑惑,抑或有什么理解上的错误,也望网友指出~ 今天恰 ...

  3. C#中 ??、 ?、 ?: 、?.、?[ ] 问号

    1. 可空类型修饰符(?) 引用类型可以使用空引用表示一个不存在的值,而值类型通常不能表示为空.例如:string str=null; 是正确的,int i=null; 编译器就会报错.为了使值类型也 ...

  4. PHP 相关性系数计算

    相关系数公式 参考:https://baike.baidu.com/item/相关系数 PHP 实现代码 public static function calc($list) { $cv = []; ...

  5. 10分钟完成一个最最简单的BLE蓝牙接收数据的DEMO

    这两天在研究蓝牙,网上有关蓝牙的内容非常有限,Github上的蓝牙框架也很少很复杂,为此我特地写了一个最最简单的DEMO,实现BLE蓝牙接收数据的问题, 不需要什么特定的UUID, 不需要什么断开重连 ...

  6. Linux系统权限设置 - 运用指南

    下面对linux系统下的有关权限操作命令进行了梳理总结,并配合简单实例进行说明.linux中除了常见的读(r).写(w).执行(x)权限以外,还有其他的一些特殊或隐藏权限,熟练掌握这些权限知识的使用, ...

  7. 【转】Axure RP9.0.0.3661Team Edition激活码

    被授权人:Axure 授权密码:ydiJnG8quHEhHLu/MWonjkeul5LYB1+tX9fyPVnpdmU0cb/NJzVs45uD7z5Iswmi 转载于:http://menvscod ...

  8. layui父页面获取子页面数据

    var doc = layero.find('iframe')[0].contentDocument; var test= $(doc).find("input[name='test']&q ...

  9. ceph架构简介

    ceph架构简介 在测试OpenStack的后端存储时,看到了ceph作为后端存储时的各种优势 ,于是查询资料,总结了这篇ceph架构的博客,介绍了ceph的架构和ceph的核心组件.ceph整体十分 ...

  10. [案例一] Spring中的事件驱动模型(机制)

    事件驱动模型是观察者模式的另一种形态,观察者相当于监听器,被观察者相当于事件源 事件源产生事件,监听器监听事件 以用户注册时候,要发送邮件和发送短信举例说明 定义一个事件 /** * spring会自 ...