apicloud apicloud

注册
查看: 2709|回复: 71

aliPush模块(移动推送)demo示例

版主

UID:83211

主题:
151
帖子:
6879
云币:
44008

APICloud粉丝端午节模块开发者一周年你吃屎!女朋友SB侠APICloud大会专属勋章捣蛋鬼

aliPush模块(移动推送)demo示例

2709 71 | 发表于 2017-8-18 21:47:10 |阅读模式 | |
本帖最后由 52yaoer 于 2019-10-29 18:18 编辑

aliPush模块封装了阿里移动推送sdk,阿里移动推送(Alibaba Cloud Mobile Push)是基于大数据的移动智能推送服务,帮助App快速集成移动推送的功能,在实现高效、精确、实时的移动推送的同时,极大地降低了开发成本。让开发者最有效地与用户保持连接,从而提高用户活跃度、提高应用的留存率。
开发者在使用aliPush模块时,需要开发者自行到阿里云注册账号,并开通移动推送功能。本模块与其它阿里相关或者集成了小米推送相关模块会存在冲突的可能,请大家使用时注意。


关于安卓8.0以上的推送显示问题请看:https://community.apicloud.com/bbs/thread-114028-1-1.html


AliPush.html
  1. <!DOCTYPE html>
  2. <html>
  3.         <head>
  4.                 <title>Module Develop</title>
  5.                 <meta charset="utf-8">
  6.                 <meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0"/>
  7.                 <style type="text/css">
  8.                         html, body {
  9.                                 height: 100%
  10.                         }
  11.                         body {
  12.                                 background-color: #fff;
  13.                                 margin: 0;
  14.                         }
  15.                         #wrap {
  16.                                 height: 100%;
  17.                                 position: relative;
  18.                         }
  19.                         #header {
  20.                                 padding-top: 20px;
  21.                                 background-color: #5082c2;
  22.                                 height: 44px;
  23.                                 position: relative;
  24.                         }
  25.                         #header h1 {
  26.                                 font-size: 20px;
  27.                                 height: 44px;
  28.                                 line-height: 44px;
  29.                                 margin: 0em;
  30.                                 color: #fff;
  31.                                 margin-left: 100px;
  32.                                 margin-right: 100px;
  33.                                 text-align: center;
  34.                         }
  35.                         #main {
  36.                                 display: -webkit-box;
  37.                                 -webkit-box-orient: vertical;
  38.                                 -webkit-box-pack: center;
  39.                         }
  40.                         a.button {
  41.                                 display: -webkit-box;
  42.                                 -webkit-box-orient: vertical;
  43.                                 -webkit-box-pack: center;
  44.                                 -webkit-box-align: center;
  45.                                 height: 32px;
  46.                                 margin: 8px;
  47.                                 background-color: rgba(240,240,240,1.0);
  48.                                 border-color: rgba(220,220,220,1.0);
  49.                                 border-width: 2px;
  50.                                 border-style: solid;
  51.                         }
  52.                         a.active {
  53.                                 background-color: rgba(240,240,240,0.7);
  54.                         }
  55.                 </style>
  56.         </head>
  57.         <body>
  58.                 <div id="wrap">
  59.                         <div id="main">
  60.                                 <a class="button" tapmode="active" onclick="isRegister()" >是否注册成功</a>
  61.                                 <a class="button" tapmode="active" onclick="onAppStart()" >启动app统计(仅安卓有效)</a>
  62.                                 <a class="button" tapmode="active" onclick="addTag()" >添加标签</a>
  63.                                 <a class="button" tapmode="active" onclick="removeTag()" >删除标签</a>
  64.                                 <a class="button" tapmode="active" onclick="listTags()" >查询标签</a>
  65.                                 <a class="button" tapmode="active" onclick="addAlias()" >添加别名</a>
  66.                                 <a class="button" tapmode="active" onclick="removeAlias()" >删除别名</a>
  67.                                 <a class="button" tapmode="active" onclick="listAliases()" >查询别名</a>
  68.                                 <a class="button" tapmode="active" onclick="bindAccount()" >绑定账号</a>
  69.                                 <a class="button" tapmode="active" onclick="unbindAccount()" >解除绑定</a>
  70.                                 <a class="button" tapmode="active" onclick="setDoNotDisturb()" >设置免打扰时间段(仅安卓有效)</a>
  71.                                 <a class="button" tapmode="active" onclick="closeDoNotDisturbMode()" >取消免打扰(仅安卓有效)</a>(1.0.7版本提供该接口)
  72.                                 <a class="button" tapmode="active" onclick="clearNotifications()" >删除所有通知(仅安卓有效)</a>(1.0.7版本提供该接口)
  73.                                 <a class="button" tapmode="active" onclick="bindPhoneNumber()" >绑定电话号码(仅安卓有效)</a>(1.0.7版本提供该接口)
  74.                                 <a class="button" tapmode="active" onclick="unbindPhoneNumber()" >解绑电话号码(仅安卓有效)</a>(1.0.7版本提供该接口)
  75.                                 <a class="button" tapmode="active" onclick="setNotificationSoundFilePath()" >设置推送通知声音(仅安卓有效)</a>(1.0.7版本提供该接口)
  76.                         </div>
  77.                 </div>
  78.         </body>
  79.         <script type="text/javascript">
  80.                 var aliPush = null;
  81.                 apiready = function() {
  82.                         aliPush = api.require('aliPush');
  83.                         if(!aliPush){
  84.                                 alert("请添加模块后编译");
  85.                                 return;
  86.                         }
  87.                         
  88.                         aliPush.addEventListener({
  89.                                 name : 'onMessage'
  90.                         }, function(ret, err) {
  91.                                 alert("onMessage>>>addEventListener>>>>" + JSON.stringify(ret));
  92.                         });
  93.                         aliPush.addEventListener({
  94.                                 name : 'onNotification'
  95.                         }, function(ret, err) {
  96.                                 alert("onNotification>>>addEventListener>>>>" + JSON.stringify(ret));
  97.                         });
  98.                         aliPush.addEventListener({
  99.                                 name : 'onNotificationOpened'
  100.                         }, function(ret, err) {
  101.                                 alert("onNotificationOpened>>>addEventListener>>>>" + JSON.stringify(ret));
  102.                         });
  103.                         aliPush.addEventListener({
  104.                                 name : 'onNotificationRemoved'
  105.                         }, function(ret, err) {
  106.                                 alert("onNotificationRemoved>>>addEventListener>>>>" + JSON.stringify(ret));
  107.                         });
  108.                         
  109.                         api.addEventListener({
  110.                             name:'noticeclicked'
  111.                         },function(ret,err){
  112.                             alert("noticeclicked>>>"+JSON.stringify(ret.value));
  113.                         });
  114.                 }
  115.                
  116.                
  117.                 function isRegister() {
  118.                         aliPush.isRegister(function(ret, err) {
  119.                                 alert(JSON.stringify(ret)+"  "+JSON.stringify(err));
  120.                         });
  121.                 }
  122.                
  123.                 function onAppStart() {
  124.                         aliPush.onAppStart(function(ret, err) {
  125.                                 alert(JSON.stringify(ret)+"  "+JSON.stringify(err));
  126.                         });
  127.                 }

  128.                 function addTag() {
  129.                         aliPush.addTag({
  130.                                 target : 1,
  131.                                 tag : "apicloud1 apicloud2",
  132.                                 alias : ''
  133.                         }, function(ret, err) {
  134.                                 alert(JSON.stringify(ret)+"  "+JSON.stringify(err));
  135.                         });
  136.                 }

  137.                 function removeTag() {
  138.                         aliPush.removeTag({
  139.                                 target : 1,
  140.                                 tag : "apicloud1 apicloud2",
  141.                                 alias : ''
  142.                         }, function(ret, err) {
  143.                                 alert(JSON.stringify(ret)+"  "+JSON.stringify(err));
  144.                         });
  145.                 }

  146.                 function listTags() {
  147.                         aliPush.listTags(function(ret, err) {
  148.                                 alert(JSON.stringify(ret)+"  "+JSON.stringify(err));
  149.                         });
  150.                 }


  151.                 function addAlias() {
  152.                         aliPush.addAlias({
  153.                                 alias : 'test01'
  154.                         }, function(ret, err) {
  155.                                 alert(JSON.stringify(ret)+"  "+JSON.stringify(err));
  156.                         });
  157.                 }

  158.                 function removeAlias() {
  159.                         aliPush.removeAlias({
  160.                                 alias : 'test01'
  161.                         }, function(ret, err) {
  162.                                 alert(JSON.stringify(ret)+"  "+JSON.stringify(err));
  163.                         });
  164.                 }

  165.                 function listAliases() {
  166.                         aliPush.listAliases(function(ret, err) {
  167.                                 alert(JSON.stringify(ret)+"  "+JSON.stringify(err));
  168.                         });
  169.                 }

  170.                 function bindAccount() {
  171.                         aliPush.bindAccount({
  172.                                 account : "apicloudaccount"
  173.                         }, function(ret, err) {
  174.                                 alert(JSON.stringify(ret)+"  "+JSON.stringify(err));
  175.                         });
  176.                 }

  177.                 function unbindAccount() {
  178.                         aliPush.unbindAccount(function(ret, err) {
  179.                                 alert(JSON.stringify(ret)+"  "+JSON.stringify(err));
  180.                         });
  181.                 }

  182.                 function setDoNotDisturb() {
  183.                         aliPush.setDoNotDisturb({
  184.                                 startHour : 23,
  185.                                 startMinute : 0,
  186.                                 endHour : 8,
  187.                                 endMinute : 0
  188.                         }, function(ret, err) {
  189.                                 alert(JSON.stringify(ret)+"  "+JSON.stringify(err));
  190.                         });
  191.                 }

  192.                 function closeDoNotDisturbMode() {
  193.                         aliPush.closeDoNotDisturbMode(function(ret, err) {
  194.                                 alert(JSON.stringify(ret)+"  "+JSON.stringify(err));
  195.                         });
  196.                 }
  197.                
  198.                 function clearNotifications() {
  199.                         aliPush.clearNotifications(function(ret, err) {
  200.                                 alert(JSON.stringify(ret)+"  "+JSON.stringify(err));
  201.                         });
  202.                 }
  203.                
  204.                 function bindPhoneNumber() {
  205.                         aliPush.bindPhoneNumber({
  206.                                 phoneNumber : "1300000000"
  207.                         }, function(ret, err) {
  208.                                 alert(JSON.stringify(ret)+"  "+JSON.stringify(err));
  209.                         });
  210.                 }

  211.                 function unbindPhoneNumber() {
  212.                         aliPush.unbindPhoneNumber(function(ret, err) {
  213.                                 alert(JSON.stringify(ret)+"  "+JSON.stringify(err));
  214.                         });
  215.                 }
  216.                
  217.                 function setNotificationSoundFilePath() {
  218.                         aliPush.setNotificationSoundFilePath({
  219.                                 filePath : "/var/cemo111.mp3"
  220.                         }, function(ret, err) {
  221.                                 alert(JSON.stringify(ret)+"  "+JSON.stringify(err));
  222.                         });
  223.                 }
  224.         </script>
  225. </html>
复制代码



主题:
53
帖子:
189
云币:
304
发表于 2018-8-15 17:08:59 |
ios 角标如何去掉啊  

驾校小白

UID:408461

主题:
3
帖子:
17
云币:
94
发表于 2018-9-10 10:57:53 |
版主你好
https://community.apicloud.com/bbs/thread-112217-1-1.html
AppKey_Android和AppSecret_Android是阿里的appKey和AppSecret吗?
如果小米的我没有申请,XmAppID与XmAppKey是不是就不用填写了,如果我不使用ios,是不是AppKey_iOS与AppSecret_iOS也不需要填写?
华为的开发者比较好申请,我已经申请了华为推送,那华为的appKey与appSecret是不是不需要单独填写?

版主

UID:83211

主题:
151
帖子:
6879
云币:
44008

APICloud粉丝端午节模块开发者一周年你吃屎!女朋友SB侠APICloud大会专属勋章捣蛋鬼

 楼主| 发表于 2018-10-9 10:52:12 |
Victor.X 发表于 2018-9-10 10:57
版主你好
https://community.apicloud.com/bbs/thread-112217-1-1.html
AppKey_Android和AppSecret_Android ...

华为的需要在阿里后台填写,,不需要在config.xml里面配置

版主

UID:83211

主题:
151
帖子:
6879
云币:
44008

APICloud粉丝端午节模块开发者一周年你吃屎!女朋友SB侠APICloud大会专属勋章捣蛋鬼

 楼主| 发表于 2018-10-9 10:52:29 |
不用ios就不填下ios的参数即可。。

版主

UID:83211

主题:
151
帖子:
6879
云币:
44008

APICloud粉丝端午节模块开发者一周年你吃屎!女朋友SB侠APICloud大会专属勋章捣蛋鬼

 楼主| 发表于 2018-10-9 10:52:49 |
小米的没申请也可以不填写。。

新手上路

UID:119737

主题:
8
帖子:
54
云币:
34
发表于 2019-7-24 15:58:37 |
isRegister方法返回错误的参数是怎么回事?
aliPush>>>isRegister>>>>{"status":false},{"errorMessage":"错误的参数","errorCode":-1}
config.xml是:
<feature name="aliPushNoUtdId">
    <param name="AppKey_iOS" value="2560......"/>
    <param name="AppSecret_iOS" value="d9382697d61945824cf....."/>
    <param name="AppKey_Android" value="255..."/>
    <param name="AppSecret_Android" value="c234ca5655e79...."/>
</feature>

版主

UID:83211

主题:
151
帖子:
6879
云币:
44008

APICloud粉丝端午节模块开发者一周年你吃屎!女朋友SB侠APICloud大会专属勋章捣蛋鬼

 楼主| 发表于 2019-7-24 16:27:01 |
<feature name="aliPush">   应该是这个

实习司机

UID:471326

主题:
48
帖子:
131
云币:
78
发表于 2019-9-20 18:04:55 |
阿里的推送服务已经集成了vivo和魅族,什么时候代码能够更新到也支持这两种手机

主题:
15
帖子:
87
云币:
173
发表于 2019-9-26 15:44:54 |
channelName,channelId,channelDes 怎么获取阿
您需要登录后才可以回帖 登录 | 立即注册

快速回复 返回顶部 返回列表