感谢论坛版主 马浩川 的分享。

模块介绍: 
阿里移动推送(Alibaba Cloud Mobile Push)是基于大数据的移动智能推送服务,帮助App快速集成移动推送的功能,在实现高效、精确、实时的移动推送的同时,极大地降低了开发成本。让开发者最有效地与用户保持连接,从而提高用户活跃度、提高应用的留存率。

EMAS操作图示:
创建 , 在这里获取配置项的值

配置ios推送证书:

开发环境下需要填写单个设备id

消息通知: 需要打开消息监听addMessageListener

记录:

<head>

<meta charset="utf-8">

<meta name="viewport" content="maximum-scale=1.0, minimum-scale=1.0, user-scalable=0, initial-scale=1.0, width=device-width" />

<meta name="format-detection" content="telephone=no, email=no, date=no, address=no">

<title>Hello APP</title>

<link rel="stylesheet" type="text/css" href="../css/api.css" />

<style>

label {

margin: 10px;

font-size: 24px;

}

ul {

margin-bottom: 10px;

}

ul li {

margin: 5px 10px;

padding: 5px;

color: #000;

word-wrap: break-word;

}

button {

font-size: 18px;

display: block;

padding: 10px;

}

</style>

</head>

<body>

<button>统计App启动信息(android)</button>

<button>添加消息监听</button>

<button>移除消息监听</button>

<button>获取设备唯一标识</button>

<button>打开推送通道(android)</button>

<button>关闭推送通道(android)</button>

<button>查询通道状态</button>

<button>绑定标签</button>

<button>本设备标签查询</button>

<button>设备添加别名</button>

<button>设置通知声音</button>

<button>设置通知栏图标</button>

<button>设置免打扰时段</button>

<button>关闭免打扰</button>

<button>删除所有通知</button>

<button>同步角标数到服务端</button>

</body>

<script type="text/javascript" src="../script/api.js"></script>

<script type="text/javascript">

var acmPush;

apiready = function() {

acmPush = api.require('acmPush');

};

function getDeviceId() {

acmPush.getDeviceId({}, function(ret, err) {

console.log(JSON.stringify(ret));

});

}

function addMessageListener() {

acmPush.addMessageListener({

listenerName: 'name',

}, function(ret, err) {

alert(JSON.stringify(ret));

});

}

function onAppStart() {

acmPush.onAppStart({}, function(ret, err) {

alert(JSON.stringify(ret));

});

}

function turnOnPushChannel() {

acmPush.turnOnPushChannel({}, function(ret, err) {

alert(JSON.stringify(ret));

});

}

function turnOffPushChannel() {

acmPush.turnOffPushChannel({}, function(ret, err) {

alert(JSON.stringify(ret));

});

}

function checkPushChannelStatus() {

acmPush.checkPushChannelStatus({}, function(ret, err) {

alert(JSON.stringify(ret));

});

}

function bindTag() {

acmPush.bindTag({

target: 1,

tags: ["Google", "Runoob", "Taobao"],

}, function(ret, err) {

alert(JSON.stringify(ret));

});

}

function listTags() {

acmPush.listTags({}, function(ret, err) {

alert(JSON.stringify(ret));

});

}

function addAlias() {

acmPush.addAlias({

alias: '别名1',

}, function(ret, err) {

alert(JSON.stringify(ret));

});

}

function setNotificationSound() {

acmPush.setNotificationSound({

soundPath: 'widget://res/sound.mp3',

}, function(ret, err) {

alert(JSON.stringify(ret));

});

}

function setNotificationLargeIcon() {

acmPush.setNotificationLargeIcon({

iconPath: 'widget://res/QQ.png',

}, function(ret, err) {

alert(JSON.stringify(ret));

});

}

function setDoNotDisturb() {

acmPush.setDoNotDisturb({

startHour: 0,

startMinute: 02,

endHour: 1,

endMinute: 02

}, function(ret, err) {

alert(JSON.stringify(ret));

});

}

function closeDoNotDisturbMode() {

acmPush.closeDoNotDisturbMode({}, function(ret, err) {

alert(JSON.stringify(ret));

});

}

function clearNotifications() {

acmPush.clearNotifications({}, function(ret, err) {

alert(JSON.stringify(ret));

});

}

function syncBadgeNum() {

acmPush.syncBadgeNum({

num: 1,

}, function(ret, err) {

alert(JSON.stringify(ret));

});

}

</script>

</html>

 




















注意: ios编译自定义loader不能使用官方证书

acmPush模块示例demo的更多相关文章

  1. UIPickerView 模块示例demo

    本文出自APICloud官方论坛 UIPickerView 此模块封装了一个可以从屏幕底部向上弹出的 action 选择器(3D滚轮效果).开发者可自定义选择器的样式,包括:导航条颜色.高度,导航条上 ...

  2. APICloud开发者进阶之路 | UIPickerView 模块示例demo

    本文出自APICloud官方论坛 rongCloud2  3.2.8 版本更新后添加了发送小视频接口,发送文件接口. rongCloud2  概述 融云是国内首家专业的即时通讯云服务提供商,专注为互联 ...

  3. UIChatBox模块示例demo

    感谢论坛版主 马浩川 的分享. UIChatBox 模块是一个聊天输入框模块,开发者可自定义该输入框的功能.通过 open 接口可在当前 window 底部打开一个输入框,该输入框的生命属于当前 wi ...

  4. iOS之ProtocolBuffer搭建和示例demo

    这次搭建iOS的ProtocolBuffer编译器和把*.proto源文件编译成*.pbobjc.h 和 *.pbobjc.m文件时,碰到不少问题! 搭建pb编译器到时没有什么问题,只是在把*.pro ...

  5. node模块示例

    来源于慕课网课程:http://www.imooc.com/video/6701 (视频) 模块的流程图如下: 做一个学校的模块示例 建一个学生的js studet.js function add(s ...

  6. c#实例化继承类,必须对被继承类的程序集做引用 .net core Redis分布式缓存客户端实现逻辑分析及示例demo 数据库笔记之索引和事务 centos 7下安装python 3.6笔记 你大波哥~ C#开源框架(转载) JSON C# Class Generator ---由json字符串生成C#实体类的工具

    c#实例化继承类,必须对被继承类的程序集做引用   0x00 问题 类型“Model.NewModel”在未被引用的程序集中定义.必须添加对程序集“Model, Version=1.0.0.0, Cu ...

  7. 利用webuploader插件上传图片文件,完整前端示例demo,服务端使用SpringMVC接收

    利用WebUploader插件上传图片文件完整前端示例demo,服务端使用SpringMVC接收 Webuploader简介   WebUploader是由Baidu WebFE(FEX)团队开发的一 ...

  8. Windows上配置Mask R-CNN及运行示例demo.ipynb

    最近做项目需要用到Mask R-CNN,于是花了几天时间配置.简单跑通代码,踩了很多坑,写下来分享给大家. 首先贴上官方Mask R-CNN的Github地址:https://github.com/m ...

  9. 百度编辑器UEditor ASP.NET示例Demo 分类: ASP.NET 2015-01-12 11:18 346人阅读 评论(0) 收藏

    在百度编辑器示例代码基础上进行了修改,封装成类库,只需简单配置即可使用. 完整demo下载 版权声明:本文为博主原创文章,未经博主允许不得转载.

随机推荐

  1. C++继承方式

    C++的继承方式有三种,分别为: 公有继承:public 私有继承:private 保护继承:protected 定义格式为: class<派生类名>:<继承方式><基类 ...

  2. python基础六之编码

    python中编码的特点: 1,各个编码之间的二进制是不能互相识别的,会产生乱码 2,文件的储存和传输是不能用Unicode的 python3的编码 在python3中字符串在内存中是用Unicode ...

  3. HDU 2454"Degree Sequence of Graph G"(度序列可图性判断)

    传送门 参考资料: [1]:图论-度序列可图性判断(Havel-Hakimi定理) •题意 给你 n 个非负整数列,判断这个序列是否为可简单图化的: •知识支持 握手定理:在任何无向图中,所有顶点的度 ...

  4. SpringDataJPA+QueryDSL玩转态动条件/投影查询

    在本文之前,本应当专门有一篇博客讲解SpringDataJPA使用自带的Specification+JpaSpecificationExecutor去说明如何玩条件查询,但是看到新奇.编码更简单易懂的 ...

  5. codeforces 1217E E. Sum Queries? (线段树

    codeforces 1217E E. Sum Queries? (线段树 传送门:https://codeforces.com/contest/1217/problem/E 题意: n个数,m次询问 ...

  6. 【Docker】删除镜像

    删除镜像:docker rmi [OPTIONS] IMAGE [IMAGE...] 1.删除所有未被 tag 标记和未被容器使用的镜像: docker image prune 2.删除所有未被容器使 ...

  7. 博客同步到CSDN客户端

    同步本人博客到CSDN客户端 http://blog.csdn.net/johnnyz1234

  8. iOS @property、@synthesize和@dynamic

    @property @property的本质: @property = ivar(实例变量) + getter/setter(存取方法); 在正规的 Objective-C 编码风格中,存取方法有着严 ...

  9. 聊聊多线程那一些事儿 之 五 async.await深度剖析

     hello task,咱们又见面啦!!是不是觉得很熟读的开场白,哈哈你哟这感觉那就对了,说明你已经阅读过了我总结的前面4篇关于task的文章,谢谢支持!感觉不熟悉的也没有关系,在文章末尾我会列出前四 ...

  10. 【题解】 P2763 试题库问题(网络流)

    P2763 试题库问题 考虑一个试题要被加入进答案的集合有什么条件? 是某种类型 只算作一次 就这两种且的限制,所以我们用串联的方式连接"类型点"和"作用点". ...