apicloud apicloud

注册
查看: 5454|回复: 34

[模块教程] 【模块示例】acmPush模块示例demo

官方版主

UID:791056

主题:
9
帖子:
17946
云币:
5594

[模块教程] 【模块示例】acmPush模块示例demo

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


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

<feature name="acmPush">
    <param  name="androidAppKey" value="25662805"/>
    <param  name="androidAppSecret" value="84dda7456c877d7594cf9247aee117e9"/>
    <param  name="androidChannelId" value="11"/>   //android 8.0需配置
     <param  name="androidChannel" value="appchannel"/>  //android 8.0需配置
     <param  name="androidChannelDes" value="notification description"/>   
     <param  name="androidChannelLight" value="0"/>   
     <param  name="androidChannelVibration" value="0"/>   
    <param  name="iOSAppKey" value="25662805"/>
    <param  name="iOSAppSecret" value="84dda7456c877d7594cf9247aee117e9"/>
</feature>



配置ios推送证书:


发送通知:
开发环境下需要填写单个设备id

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

查看推送记录:

示例代码:
<!DOCTYPE HTML>
<html>

<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不能使用官方证书




本帖子中包含更多资源    您需要 登录 才可以下载或查看,没有帐号?立即注册

1

查看全部评分

主题:
106
帖子:
243
云币:
295
发表于 2019-8-19 08:17:15 |
请问androidChannelId这个值需要怎么填写????

<feature name="acmPush">
    <param  name="androidAppKey" value="25662805"/>
    <param  name="androidAppSecret" value="84dda7456c877d7594cf9247aee117e9"/>
    <param  name="androidChannelId" value="11"/>   //android 8.0需配置
     <param  name="androidChannel" value="appchannel"/>  //android 8.0需配置
     <param  name="androidChannelDes" value="notification description"/>   
     <param  name="androidChannelLight" value="0"/>   
     <param  name="androidChannelVibration" value="0"/>   
    <param  name="iOSAppKey" value="25662805"/>
    <param  name="iOSAppSecret" value="84dda7456c877d7594cf9247aee117e9"/>
</feature>

版主

UID:83211

主题:
174
帖子:
9420
云币:
7181

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

发表于 2019-7-30 08:53:28 |
顶。。。。。。
模块定制开发 qq: 176142998

驾校小白

UID:763887

主题:
2
帖子:
9
云币:
10
发表于 2019-8-14 16:41:32 |
52yaoer 发表于 2019-7-30 08:53
顶。。。。。。

抢你生意啊(滑稽

版主

UID:83211

主题:
174
帖子:
9420
云币:
7181

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

发表于 2019-8-14 17:11:37 |
007zhazha 发表于 2019-8-14 16:41
抢你生意啊(滑稽

哈哈。。。
模块定制开发 qq: 176142998

主题:
29
帖子:
95
云币:
149
发表于 2019-8-16 12:04:07 |
使用中发现个问题, 下发带参数的通知, 点击状态栏通知, 取不到参数.

主题:
13
帖子:
40
云币:
174

APICloud粉丝装逼侠

发表于 2019-9-4 18:49:28 |
点击回调怎么会extras扩展参数没有了。

主题:
0
帖子:
6
云币:
3
发表于 2019-9-16 18:10:19 |
想使用自己的服务其推送消息这个好像实现不了是吧?

主题:
84
帖子:
306
云币:
349
发表于 2019-10-29 13:36:41 |
acmPush这个模块支持厂商推送和系统推送吗?

版主

UID:83211

主题:
174
帖子:
9420
云币:
7181

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

发表于 2019-10-29 21:20:33 来自手机 |
好像不支持的。
1234下一页
您需要登录后才可以回帖 登录 | 立即注册

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