App-Android(使用App+htnl5框架,解决消息推送兼容SignalR问题)
loulijun2021
2022-10-09 2b8231f5da82c56c3315d1cf5b126688ea3d501e
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no">
<meta name="HandheldFriendly" content="true">
<meta name="MobileOptimized" content="320">
<title>Push Document</title>
<link rel="stylesheet" type="text/css" href="res/doc.css" charset="utf-8">
<link rel="stylesheet" type="text/css" href="res/prettify.sons.css" charset="utf-8">
<script type="text/javascript" src="res/doc.js" charset="utf-8"></script><script type="text/javascript" src="res/prettify.js" charset="utf-8"></script>
</head>
<body><div id="content" class="content">
<h1><a name="plus.push">push</a></h1>
<p>Push模块管理推送消息功能,可以实现在线、离线的消息推送,通过plus.push可获取推送消息管理对象。</p>
<h2>方法:</h2>
<ul>
<li>
<a href="#plus.push.addEventListener">addEventListener</a>: 添加推送消息事件监听器</li>
<li>
<a href="#plus.push.clear">clear</a>: 清空所有推送消息</li>
<li>
<a href="#plus.push.createMessage">createMessage</a>: 创建本地消息</li>
<li>
<a href="#plus.push.getAllMessage">getAllMessage</a>: 获取所有推送消息</li>
<li>
<a href="#plus.push.getClientInfo">getClientInfo</a>: 获取客户端推送标识信息</li>
<li>
<a href="#plus.push.setAutoNotification">setAutoNotification</a>: 设置程序是否将消息显示在系统消息中心</li>
<li>
<a href="#plus.push.remove">remove</a>: 删除推送消息</li>
</ul>
<h2>对象:</h2>
<ul>
<li>
<a href="#plus.push.ClientInfo">ClientInfo</a>: JSON对象,获取的客户端标识信息</li>
<li>
<a href="#plus.push.PushMessage">PushMessage</a>: JSON对象,推送消息对象</li>
<li>
<a href="#plus.push.MessageOptions">MessageOptions</a>: JSON对象,获客户端创建本地消息的参数</li>
</ul>
<h2>回调方法:</h2>
<ul>
<li>
<a href="#plus.push.PushReceiveCallback">PushReceiveCallback</a>: 客户端接收到推动消息的回调函数</li>
<li>
<a href="#plus.push.PushClickCallback">PushClickCallback</a>: 用户点击推送消息事件的回调函数</li>
</ul>
<h2>权限:</h2>
<p>permissions</p>
<pre class="prettyprint linenums">
{
// ...
"permissions":{
    // ...
    "Push": {
        "description": "消息推送"
    }
}
}
            </pre>
            属性:
            <ul><li>cover: 设定显示推送消息的模式<br><p>
    可取值true或false,true表示推送消息覆盖模式显示,即仅显示最后接收到的推送消息;false表示在系统消息中心显示多条消息。
    默认值为ture。
                    </p>
<h3>平台支持</h3>
<ul>
<li>Android - 2.2+ (支持)</li>
<li>iOS - 4.3+ (不支持): 
    不支持覆盖消息,每条信息都在系统消息中心,忽略cover属性值。
                            </li>
</ul>
</li></ul>
<h1><a name="plus.push.ClientInfo">ClientInfo</a></h1>
<p>JSON对象,获取的客户端标识信息</p>
<h2>属性:</h2>
<ul>
<li>id: <em>(<font class="type">String</font>
    类型
)</em>推送通道标识<br><p>
    目前支持以下推送通道:
        "igexin" - 表示个推推送;
        "mipush" - 表示小米推送;
        "unipush" - 表示DCloud UniPush。
                        </p>
</li>
<li>token: <em>(<font class="type">String</font>
    类型
)</em>设备令牌(iOS设备唯一标识),用于APNS服务推送中标识设备的身份<br>
</li>
<li>clientid: <em>(<font class="type">String</font>
    类型
)</em>推送服务令牌(设备唯一标识),用于标识推送信息接收者身份<br><p>
    第三方推送服务器管理的设备唯一标识,在iOS平台此值通常与token不同;在其它平台此值通常与token值一致。
    此值与设备及应用都相关,即不同的apk/ipa安装到同一台设备上的值都不相同。
                        </p>
</li>
<li>appid: <em>(<font class="type">String</font>
    类型
)</em>第三方推送服务的应用标识<br><p>第三方推送服务器管理的应用标识,通常需要在第三方推送服务器平台进行注册获取。</p>
</li>
<li>appkey: <em>(<font class="type">String</font>
    类型
)</em>第三方推送服务器的应用键值<br><p>第三方推送服务器管理的应用键值,通常需要在第三方推送服务器平台进行注册获取。</p>
</li>
</ul>
<h1><a name="plus.push.PushMessage">PushMessage</a></h1>
<p>JSON对象,推送消息对象</p>
<h2>属性:</h2>
<ul>
<li>title: <em>(<font class="type">String</font>
    类型
)</em>推送消息显示的标题<br>
</li>
<li>content: <em>(<font class="type">String</font>
    类型
)</em>推送消息显示的内容<br>
</li>
<li>payload: <em>(<font class="type">JSON</font>
    类型
)</em>推送消息承载的数据<br><p>如果推送消息中传输的数据不符合JSON格式,则作为String类型数据保存。</p>
</li>
<li>aps: <em>(<font class="type">JSON</font>
    类型
)</em>Apple APNS推送协议数据<br>
</li>
</ul>
<h1><a name="plus.push.MessageOptions">MessageOptions</a></h1>
<p>JSON对象,获客户端创建本地消息的参数</p>
<h2>属性:</h2>
<ul>
<li>appid: <em>(<font class="type">String</font>
    类型
)</em>要启动流应用的appid<br><p>
    仅在流应用环境中有效,默认值为当前流应用的appid。
                        </p>
</li>
<li>cover: <em>(<font class="type">Boolean</font>
    类型
)</em>是否覆盖上一次提示的消息<br><p>
    可取值true或false,true为覆盖,false不覆盖。
    默认为false。
                        </p>
</li>
<li>delay: <em>(<font class="type">Number</font>
    类型
)</em>提示消息延迟显示的时间<br><p>
    当设备接收到推送消息后,可不立即显示,而是延迟一段时间显示,延迟时间单位为s,默认为0s,立即显示。
                        </p>
</li>
<li>icon: <em>(<font class="type">String</font>
    类型
)</em>推送消息的图标<br><p>
    本地图片地址,相对路径 - 相对于当前页面的host位置,如"a.jpg",注意当前页面为网络地址则不支持; 绝对路径 - 系统绝对路径,如Android平台"/sdcard/logo.png",此类路径通常通过其它5+ API获取的; 扩展相对路径URL(RelativeURL) - 以"_"开头的相对路径,如"_www/a.jpg"; 本地路径URL - 以“file://”开头,后面跟随系统绝对路径。
                        </p>
</li>
<li>sound: <em>(<font class="type">String</font>
    类型
)</em>推送消息的提示音<br><p>
    显示消息时的播放的提示音,可取值:
    “system”-表示使用系统通知提示音;
    “none”-表示不使用提示音;
    默认值为“system”。
                        </p>
</li>
<li>title: <em>(<font class="type">String</font>
    类型
)</em>推送消息的标题<br><p>
    在系统消息中心显示的通知消息标题,默认值为程序的名称。
                        </p>
</li>
<li>subtitle: <em>(<font class="type">String</font>
    类型
)</em>推送消息的副标题<br>
</li>
<li>when: <em>(<font class="type">Date</font>
    类型
)</em>消息上显示的提示时间<br><p>
    默认为当前时间,如果延迟显示则使用延时后显示消息的时间。
                        </p>
</li>
</ul>
<h1><a name="plus.push.PushReceiveCallback">PushReceiveCallback</a></h1>
<p>客户端接收到推动消息的回调函数</p>
<pre class="prettyprint linenums">
void onReceive( msg ) {
    // Recieved push message code.
}
                </pre>
<h2>参数:</h2>
<ul><li>msg: 
        <em>(
            <font class="type">String</font>
            )
            必选 </em>接收到的推送信息msg<br>
</li></ul>
<h2>返回值:</h2>
<font class="type">void</font>
            : 无<h1><a name="plus.push.PushClickCallback">PushClickCallback</a></h1>
<p>用户点击推送消息事件的回调函数</p>
<pre class="prettyprint linenums">
void onClick( msg ) {
    // Clicked push message code. 
}
                </pre>
<h2>参数:</h2>
<ul><li>msg: 
        <em>(
            <font class="type">String</font>
            )
            必选 </em>用户点击的推送信息msg<br>
</li></ul>
<h2>返回值:</h2>
<font class="type">void</font>
            : 无<br><br>
</div></body>
</html>