mirror of
https://github.com/jpush/jpush-phonegap-plugin.git
synced 2026-04-19 00:03:45 +08:00
Compare commits
52 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 2fab3a9e60 | |||
| a032906b1f | |||
| d362ee788b | |||
| 50588d593c | |||
| ea06f04415 | |||
| e4d8752065 | |||
| 9765352969 | |||
| 0589ac82ea | |||
| ff1fa91d67 | |||
| 14f91aacf8 | |||
| 15c403a471 | |||
| 8b0b8cc26f | |||
| 78e2e9736e | |||
| a8daded81b | |||
| 18f69303ce | |||
| 390fbb9fda | |||
| 3a4ceb32ce | |||
| 20ab9319bc | |||
| ef33ad5a85 | |||
| c355cd2b9f | |||
| 2463368cc1 | |||
| 7279fdd0ce | |||
| 75cb7dfe97 | |||
| 3b25b73adf | |||
| 2b2189f6cb | |||
| a48915f115 | |||
| 1fe6d0da8c | |||
| 42790c71f3 | |||
| 7d868be664 | |||
| 7b65a1f469 | |||
| 20d93c0047 | |||
| b1a77669a2 | |||
| 1cf537dacb | |||
| 575fe40faf | |||
| 6734bf9160 | |||
| fbfe621aa3 | |||
| df6adddc75 | |||
| 974838d5de | |||
| 727af516e8 | |||
| 423304c5dc | |||
| 5d7181a659 | |||
| eb0595e5c0 | |||
| c2f1bc86bf | |||
| 30fbc6094f | |||
| d39dea2441 | |||
| abfcd3c93a | |||
| 399d159757 | |||
| b96e36d6aa | |||
| 78310e5c69 | |||
| fbad235605 | |||
| fa8700f05d | |||
| cf7a481921 |
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
[](https://travis-ci.org/jpush/jpush-phonegap-plugin)
|
[](https://travis-ci.org/jpush/jpush-phonegap-plugin)
|
||||||
[]()
|
[]()
|
||||||
[](https://github.com/jpush/jpush-phonegap-plugin/releases)
|
[](https://github.com/jpush/jpush-phonegap-plugin/releases)
|
||||||
[](https://github.com/jpush/jpush-phonegap-plugin)
|
[](https://github.com/jpush/jpush-phonegap-plugin)
|
||||||
[](http://weibo.com/jpush?refer_flag=1001030101_&is_all=1)
|
[](http://weibo.com/jpush?refer_flag=1001030101_&is_all=1)
|
||||||
|
|
||||||
@@ -17,15 +17,15 @@
|
|||||||
|
|
||||||
- 通过 Cordova Plugins 安装,要求 Cordova CLI 5.0+:
|
- 通过 Cordova Plugins 安装,要求 Cordova CLI 5.0+:
|
||||||
|
|
||||||
cordova plugin add jpush-phonegap-plugin --variable API_KEY=your_jpush_appkey
|
cordova plugin add jpush-phonegap-plugin --variable APP_KEY=your_jpush_appkey
|
||||||
|
|
||||||
- 或直接通过 url 安装:
|
- 或直接通过 url 安装:
|
||||||
|
|
||||||
cordova plugin add https://github.com/jpush/jpush-phonegap-plugin.git --variable API_KEY=your_jpush_appkey
|
cordova plugin add https://github.com/jpush/jpush-phonegap-plugin.git --variable APP_KEY=your_jpush_appkey
|
||||||
|
|
||||||
- 或下载到本地安装:
|
- 或下载到本地安装:
|
||||||
|
|
||||||
cordova plugin add Your_Plugin_Path --variable API_KEY=your_jpush_appkey
|
cordova plugin add Your_Plugin_Path --variable APP_KEY=your_jpush_appkey
|
||||||
|
|
||||||
|
|
||||||
## Usage
|
## Usage
|
||||||
@@ -62,10 +62,22 @@ Android 的推送通过长连接的方式实现,只有在连接保持的情况
|
|||||||
或者自己实现应用保活,网上有很多相关文章(不推荐)。
|
或者自己实现应用保活,网上有很多相关文章(不推荐)。
|
||||||
|
|
||||||
> 为什么 QQ、微信之类的应用退出后还能够收到通知?因为这些大厂应用,手机厂商默认都会加入自启动白名单中,也不会在应用退出后杀死它们的相关服务。
|
> 为什么 QQ、微信之类的应用退出后还能够收到通知?因为这些大厂应用,手机厂商默认都会加入自启动白名单中,也不会在应用退出后杀死它们的相关服务。
|
||||||
如果你多加留意,就会发现非大厂的应用如果你一段时间不用都是收不到推送的。
|
> 如果你多加留意,就会发现非大厂的应用如果你一段时间不用都是收不到推送的。
|
||||||
|
|
||||||
### iOS
|
### iOS
|
||||||
|
|
||||||
|
#### 打包时遇到 i386 打包失败怎么办?
|
||||||
|
|
||||||
|
```
|
||||||
|
cordova platform update ios
|
||||||
|
```
|
||||||
|
|
||||||
|
#### ionic 2 如何调用 API?
|
||||||
|
|
||||||
|
[issue 179](https://github.com/jpush/jpush-phonegap-plugin/issues/179)
|
||||||
|
|
||||||
#### PushConfig.plist 文件中的字段都是什么意思?
|
#### PushConfig.plist 文件中的字段都是什么意思?
|
||||||
|
|
||||||
- Appkey:应用标识。
|
- Appkey:应用标识。
|
||||||
- Channel:渠道标识。
|
- Channel:渠道标识。
|
||||||
- IsProduction:是否生产环境。
|
- IsProduction:是否生产环境。
|
||||||
|
|||||||
+20
-10
@@ -1,9 +1,10 @@
|
|||||||
# Android API简介
|
# Android API 简介
|
||||||
|
|
||||||
|
- [注册成功事件](#注册成功事件)
|
||||||
- [接收通知时获得通知的内容](#接收通知时获得通知的内容)
|
- [接收通知时获得通知的内容](#接收通知时获得通知的内容)
|
||||||
- [打开通知时获得通知的内容](#打开通知时获得通知的内容)
|
- [打开通知时获得通知的内容](#打开通知时获得通知的内容)
|
||||||
- [收到自定义消息时获取消息的内容](#收到自定义消息时获取消息的内容)
|
- [收到自定义消息时获取消息的内容](#收到自定义消息时获取消息的内容)
|
||||||
- [获取集成日志](#获取集成日志)
|
- [获取集成日志(同时适用于 iOS)](#获取集成日志同时适用于-ios)
|
||||||
- [接收消息和点击通知事件](#接收消息和点击通知事件)
|
- [接收消息和点击通知事件](#接收消息和点击通知事件)
|
||||||
- [统计分析](#统计分析)
|
- [统计分析](#统计分析)
|
||||||
- [清除通知](#清除通知)
|
- [清除通知](#清除通知)
|
||||||
@@ -14,6 +15,18 @@
|
|||||||
- [本地通知](#本地通知)
|
- [本地通知](#本地通知)
|
||||||
- [富媒体页面 JavaScript 回调 API](#富媒体页面-javascript-回调-api)
|
- [富媒体页面 JavaScript 回调 API](#富媒体页面-javascript-回调-api)
|
||||||
|
|
||||||
|
## 注册成功事件
|
||||||
|
### jpush.receiveRegistrationId
|
||||||
|
集成了 JPush SDK 的应用程序在第一次成功注册到 JPush 服务器时,JPush 服务器会给客户端返回一个唯一的该设备的标识 - RegistrationID。
|
||||||
|
就会触发这个事件(注意只有第一次会触发该事件,之后如果想要取到 registrationId,可以直接调用 *getRegistrationID* 方法)。
|
||||||
|
|
||||||
|
#### 代码示例
|
||||||
|
```Javascript
|
||||||
|
document.addEventListener('jpush.receiveRegistrationId', function (event) {
|
||||||
|
console.log(event.registrationId)
|
||||||
|
}, false)
|
||||||
|
```
|
||||||
|
|
||||||
## 接收通知时获得通知的内容
|
## 接收通知时获得通知的内容
|
||||||
|
|
||||||
- 内容:
|
- 内容:
|
||||||
@@ -39,7 +52,7 @@
|
|||||||
- 附加字段:
|
- 附加字段:
|
||||||
window.plugins.jPushPlugin.receiveMessage.extras.yourKey
|
window.plugins.jPushPlugin.receiveMessage.extras.yourKey
|
||||||
|
|
||||||
## 获取集成日志
|
## 获取集成日志(同时适用于 iOS)
|
||||||
|
|
||||||
### API - setDebugMode
|
### API - setDebugMode
|
||||||
|
|
||||||
@@ -55,7 +68,6 @@
|
|||||||
- true 显示集成日志。
|
- true 显示集成日志。
|
||||||
- false 不显示集成日志。
|
- false 不显示集成日志。
|
||||||
|
|
||||||
|
|
||||||
## 接收消息和点击通知事件
|
## 接收消息和点击通知事件
|
||||||
### API - receiveMessageInAndroidCallback
|
### API - receiveMessageInAndroidCallback
|
||||||
|
|
||||||
@@ -82,7 +94,6 @@
|
|||||||
|
|
||||||
- data: js 字符串。
|
- data: js 字符串。
|
||||||
|
|
||||||
|
|
||||||
## 统计分析
|
## 统计分析
|
||||||
|
|
||||||
### API - onResume / onPause
|
### API - onResume / onPause
|
||||||
@@ -250,28 +261,27 @@ JPush SDK 提供了 2 个用于定制通知栏样式的构建类:
|
|||||||
|
|
||||||
## 本地通知
|
## 本地通知
|
||||||
### API - addLocalNotification, removeLocalNotification, clearLocalNotifications
|
### API - addLocalNotification, removeLocalNotification, clearLocalNotifications
|
||||||
|
|
||||||
本地通知 API 不依赖于网络,无网条件下依旧可以触发。
|
本地通知 API 不依赖于网络,无网条件下依旧可以触发。
|
||||||
|
|
||||||
本地通知与网络推送的通知是相互独立的,不受保留最近通知条数上限的限制。
|
本地通知与网络推送的通知是相互独立的,不受保留最近通知条数上限的限制。
|
||||||
|
|
||||||
本地通知的定时时间是自发送时算起的,不受中间关机等操作的影响。
|
本地通知的定时时间是自发送时算起的,不受中间关机等操作的影响。
|
||||||
|
|
||||||
三个接口的功能分别为:添加一个本地通知,删除一个本地通知,删除所有的本地通知。
|
三个接口的功能分别为:添加一个本地通知,清除一个本地通知,清除所有的本地通知。
|
||||||
|
|
||||||
#####接口定义
|
#### 接口定义
|
||||||
|
|
||||||
window.plugins.jPushPlugin.addLocalNotification(builderId, content, title,
|
window.plugins.jPushPlugin.addLocalNotification(builderId, content, title,
|
||||||
notificaitonID, broadcastTime, extras)
|
notificaitonID, broadcastTime, extras)
|
||||||
window.plugins.jPushPlugin.removeLocalNotification(notificationID)
|
window.plugins.jPushPlugin.removeLocalNotification(notificationID)
|
||||||
window.plugins.jPushPlugin.clearLocalNotifications()
|
window.plugins.jPushPlugin.clearLocalNotifications() // 同时适用于 iOS
|
||||||
|
|
||||||
#### 参数说明
|
#### 参数说明
|
||||||
|
|
||||||
- builderId: 设置本地通知样式。
|
- builderId: 设置本地通知样式。
|
||||||
- content: 设置本地通知的 content。
|
- content: 设置本地通知的 content。
|
||||||
- title: 设置本地通知的 title。
|
- title: 设置本地通知的 title。
|
||||||
- notificaitonID: 设置本地通知的 ID。
|
- notificaitonID: 设置本地通知的 ID(不要为 0)。
|
||||||
- broadcastTime: 设置本地通知触发时间,为距离当前时间的数值,单位是毫秒。
|
- broadcastTime: 设置本地通知触发时间,为距离当前时间的数值,单位是毫秒。
|
||||||
- extras: 设置额外的数据信息 extras 为 json 字符串。
|
- extras: 设置额外的数据信息 extras 为 json 字符串。
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
# 通用 API 说明
|
# 通用 API 说明(同时适用于 Android 和 iOS 系统)
|
||||||
|
|
||||||
- [停止与恢复推送服务](#停止与恢复推送服务)
|
- [停止与恢复推送服务](#停止与恢复推送服务)
|
||||||
- [获取 RegistrationID](#获取-registrationid)
|
- [获取 RegistrationID](#获取-registrationid)
|
||||||
@@ -45,7 +45,6 @@
|
|||||||
|
|
||||||
window.plugins.jPushPlugin.stopPush()
|
window.plugins.jPushPlugin.stopPush()
|
||||||
|
|
||||||
|
|
||||||
### API - resumePush
|
### API - resumePush
|
||||||
|
|
||||||
恢复推送服务。调用了此 API 后:
|
恢复推送服务。调用了此 API 后:
|
||||||
@@ -72,7 +71,6 @@
|
|||||||
|
|
||||||
+ 平台检查推送服务是否注册。
|
+ 平台检查推送服务是否注册。
|
||||||
|
|
||||||
|
|
||||||
#### 接口定义
|
#### 接口定义
|
||||||
|
|
||||||
window.plugins.jPushPlugin.isPushStopped(callback)
|
window.plugins.jPushPlugin.isPushStopped(callback)
|
||||||
@@ -91,6 +89,20 @@
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
## 开启 Debug 模式
|
||||||
|
### API - setDebugMode
|
||||||
|
用于开启 Debug 模式,显示更多的日志信息。
|
||||||
|
|
||||||
|
#### 接口定义
|
||||||
|
|
||||||
|
JPushPlugin.prototype.setDebugMode(isOpen)
|
||||||
|
|
||||||
|
#### 参数说明
|
||||||
|
- isOpen: true,开启 Debug 模式;false,关闭 Debug 模式,不显示错误信息之外的日志信息。
|
||||||
|
|
||||||
|
#### 代码示例
|
||||||
|
|
||||||
|
window.plugins.jPushPlugin.setDebugMode(true)
|
||||||
|
|
||||||
## 获取 RegistrationID
|
## 获取 RegistrationID
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
# iOS API
|
# iOS API
|
||||||
|
|
||||||
|
- [延迟注册和启动推送通知服务](#延迟注册和启动推送通知服务)
|
||||||
- [开始与停止推送服务](#开始与停止推送服务)
|
- [开始与停止推送服务](#开始与停止推送服务)
|
||||||
- [获取 RegistrationID](#获取-registrationid)
|
- [获取 RegistrationID](#获取-registrationid)
|
||||||
- [别名与标签](#别名与标签)
|
- [别名与标签](#别名与标签)
|
||||||
@@ -19,6 +20,32 @@
|
|||||||
- [获取用户推送设置](#获取用户推送设置)
|
- [获取用户推送设置](#获取用户推送设置)
|
||||||
- [监听事件统一说明](#监听事件统一说明)
|
- [监听事件统一说明](#监听事件统一说明)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
## 延迟注册和启动推送通知服务
|
||||||
|
|
||||||
|
本插件默认在 App 启动完成之后,立即「注册苹果通知服务」+「启动 JPush SDK」,其中:
|
||||||
|
|
||||||
|
- 「注册苹果通知服务」会弹出提示窗口向用户请求权限。
|
||||||
|
- 「启动 JPush SDK」是使用 JPush 各项 API 的必要条件。
|
||||||
|
|
||||||
|
开发者可以根据自己的需求,延迟注册和启动,需做以下操作:
|
||||||
|
|
||||||
|
1. 查找并配置 `PushConfig.plist` 文件中的 `Delay` 字段为 `YES`,表明会延迟使用,此时插件不再自动注册、启动通知。
|
||||||
|
2. 在需要注册并启动通知的地方调用 API - startJPushSDK。
|
||||||
|
|
||||||
|
### API - startJPushSDK
|
||||||
|
|
||||||
|
注册苹果通知服务,并启动 JPush SDK。
|
||||||
|
|
||||||
|
#### 接口定义
|
||||||
|
|
||||||
|
```
|
||||||
|
window.plugins.jPushPlugin.startJPushSDK()
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
## 开始与停止推送服务
|
## 开始与停止推送服务
|
||||||
|
|
||||||
### API - init
|
### API - init
|
||||||
|
|||||||
+6
-7
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "jpush-phonegap-plugin",
|
"name": "jpush-phonegap-plugin",
|
||||||
"version": "2.2.8",
|
"version": "3.1.6",
|
||||||
"description": "JPush for cordova plugin",
|
"description": "JPush for cordova plugin",
|
||||||
"cordova": {
|
"cordova": {
|
||||||
"id": "jpush-phonegap-plugin",
|
"id": "jpush-phonegap-plugin",
|
||||||
@@ -21,14 +21,13 @@
|
|||||||
"cordova-ios",
|
"cordova-ios",
|
||||||
"cordova-android"
|
"cordova-android"
|
||||||
],
|
],
|
||||||
"engines": [
|
"engines": [{
|
||||||
{
|
|
||||||
"name": "cordova",
|
"name": "cordova",
|
||||||
"version": ">=3.0"
|
"version": ">=3.0"
|
||||||
}
|
}],
|
||||||
],
|
"dependencies": {
|
||||||
"peerDependencies": {
|
"cordova-plugin-device": "*",
|
||||||
"cordova-plugin-device": ">=1.0.0"
|
"cordova-plugin-jcore": "1.1.4"
|
||||||
},
|
},
|
||||||
"author": "JiGuang",
|
"author": "JiGuang",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
|
|||||||
+27
-22
@@ -2,15 +2,15 @@
|
|||||||
<plugin xmlns="http://apache.org/cordova/ns/plugins/1.0"
|
<plugin xmlns="http://apache.org/cordova/ns/plugins/1.0"
|
||||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
id="jpush-phonegap-plugin"
|
id="jpush-phonegap-plugin"
|
||||||
version="2.2.7">
|
version="3.1.6">
|
||||||
|
|
||||||
<name>JPush Plugin</name>
|
<name>JPush</name>
|
||||||
<description>JPush for cordova plugin</description>
|
<description>JPush for cordova plugin</description>
|
||||||
<author>JPush</author>
|
<author>JPush</author>
|
||||||
<keywords>JPush,push</keywords>
|
<keywords>JPush,push</keywords>
|
||||||
<license>MIT License</license>
|
<license>MIT License</license>
|
||||||
|
|
||||||
<preference name="API_KEY" />
|
<preference name="APP_KEY" />
|
||||||
|
|
||||||
<engines>
|
<engines>
|
||||||
<engine name="cordova" version=">=3.0" />
|
<engine name="cordova" version=">=3.0" />
|
||||||
@@ -18,6 +18,7 @@
|
|||||||
|
|
||||||
<!-- dependencies -->
|
<!-- dependencies -->
|
||||||
<dependency id="cordova-plugin-device" />
|
<dependency id="cordova-plugin-device" />
|
||||||
|
<dependency id="cordova-plugin-jcore" />
|
||||||
|
|
||||||
<js-module src="www/JPushPlugin.js" name="JPushPlugin">
|
<js-module src="www/JPushPlugin.js" name="JPushPlugin">
|
||||||
<clobbers target="JPush" />
|
<clobbers target="JPush" />
|
||||||
@@ -37,9 +38,8 @@
|
|||||||
<source-file src="src/ios/Plugins/AppDelegate+JPush.m" />
|
<source-file src="src/ios/Plugins/AppDelegate+JPush.m" />
|
||||||
|
|
||||||
<header-file src="src/ios/lib/JPUSHService.h" />
|
<header-file src="src/ios/lib/JPUSHService.h" />
|
||||||
<source-file src="src/ios/lib/jpush-ios-3.0.0.a" framework="true" />
|
<source-file src="src/ios/lib/jpush-ios-3.0.5.a" framework="true" />
|
||||||
<source-file src="src/ios/lib/jcore-ios-1.0.0.a" framework="true" />
|
<resource-file src="src/ios/JPushConfig.plist" />
|
||||||
<resource-file src="src/ios/PushConfig.plist" />
|
|
||||||
|
|
||||||
<framework src="CFNetwork.framework" weak="true" />
|
<framework src="CFNetwork.framework" weak="true" />
|
||||||
<framework src="CoreFoundation.framework" weak="true" />
|
<framework src="CoreFoundation.framework" weak="true" />
|
||||||
@@ -54,9 +54,8 @@
|
|||||||
<framework src="UserNotifications.framework" weak="true" />
|
<framework src="UserNotifications.framework" weak="true" />
|
||||||
<framework src="libresolv.tbd" weak="true" />
|
<framework src="libresolv.tbd" weak="true" />
|
||||||
|
|
||||||
|
<config-file target="*JPushConfig.plist" parent="Appkey">
|
||||||
<config-file target="*PushConfig.plist" parent="Appkey">
|
<string>$APP_KEY</string>
|
||||||
<string>$API_KEY</string>
|
|
||||||
</config-file>
|
</config-file>
|
||||||
</platform>
|
</platform>
|
||||||
|
|
||||||
@@ -81,8 +80,10 @@
|
|||||||
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
|
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
|
||||||
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
|
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
|
||||||
<uses-permission android:name="android.permission.WRITE_SETTINGS" />
|
<uses-permission android:name="android.permission.WRITE_SETTINGS" />
|
||||||
<permission android:name="$PACKAGE_NAME.permission.JPUSH_MESSAGE" android:protectionLevel="signature" />
|
<permission android:name="$PACKAGE_NAME.permission.JPUSH_MESSAGE"
|
||||||
|
android:protectionLevel="signature" />
|
||||||
</config-file>
|
</config-file>
|
||||||
|
|
||||||
<config-file target="AndroidManifest.xml" parent="/manifest/application">
|
<config-file target="AndroidManifest.xml" parent="/manifest/application">
|
||||||
<!-- Required SDK核心功能-->
|
<!-- Required SDK核心功能-->
|
||||||
<activity android:name="cn.jpush.android.ui.PushActivity"
|
<activity android:name="cn.jpush.android.ui.PushActivity"
|
||||||
@@ -110,7 +111,8 @@
|
|||||||
<!-- Required SDK 核心功能-->
|
<!-- Required SDK 核心功能-->
|
||||||
<service android:name="cn.jpush.android.service.PushService"
|
<service android:name="cn.jpush.android.service.PushService"
|
||||||
android:enabled="true"
|
android:enabled="true"
|
||||||
android:exported="false">
|
android:exported="false"
|
||||||
|
android:process=":remote">
|
||||||
<intent-filter>
|
<intent-filter>
|
||||||
<action android:name="cn.jpush.android.intent.REGISTER" />
|
<action android:name="cn.jpush.android.intent.REGISTER" />
|
||||||
<action android:name="cn.jpush.android.intent.REPORT" />
|
<action android:name="cn.jpush.android.intent.REPORT" />
|
||||||
@@ -121,10 +123,11 @@
|
|||||||
|
|
||||||
<!-- Required SDK核心功能-->
|
<!-- Required SDK核心功能-->
|
||||||
<receiver android:name="cn.jpush.android.service.PushReceiver"
|
<receiver android:name="cn.jpush.android.service.PushReceiver"
|
||||||
android:enabled="true">
|
android:enabled="true"
|
||||||
|
android:exported="false">
|
||||||
<intent-filter android:priority="1000">
|
<intent-filter android:priority="1000">
|
||||||
<action android:name="cn.jpush.android.intent.NOTIFICATION_RECEIVED_PROXY" />
|
|
||||||
<!--Required 显示通知栏 -->
|
<!--Required 显示通知栏 -->
|
||||||
|
<action android:name="cn.jpush.android.intent.NOTIFICATION_RECEIVED_PROXY" />
|
||||||
<category android:name="$PACKAGE_NAME" />
|
<category android:name="$PACKAGE_NAME" />
|
||||||
</intent-filter>
|
</intent-filter>
|
||||||
<intent-filter>
|
<intent-filter>
|
||||||
@@ -135,12 +138,15 @@
|
|||||||
<intent-filter>
|
<intent-filter>
|
||||||
<action android:name="android.intent.action.PACKAGE_ADDED" />
|
<action android:name="android.intent.action.PACKAGE_ADDED" />
|
||||||
<action android:name="android.intent.action.PACKAGE_REMOVED" />
|
<action android:name="android.intent.action.PACKAGE_REMOVED" />
|
||||||
|
<data android:scheme="package" />
|
||||||
</intent-filter>
|
</intent-filter>
|
||||||
</receiver>
|
</receiver>
|
||||||
|
|
||||||
<!-- since 1.8.0 option 可选项。用于同一设备中不同应用的JPush服务相互拉起的功能。 -->
|
<!-- since 1.8.0 option 可选项。用于同一设备中不同应用的JPush服务相互拉起的功能。 -->
|
||||||
<!-- 若不启用该功能可删除该组件,将不拉起其他应用也不能被其他应用拉起 -->
|
<!-- 若不启用该功能可删除该组件,将不拉起其他应用也不能被其他应用拉起 -->
|
||||||
<service android:name="cn.jpush.android.service.DaemonService" android:enabled="true" android:exported="true">
|
<service android:name="cn.jpush.android.service.DaemonService"
|
||||||
|
android:enabled="true"
|
||||||
|
android:exported="true">
|
||||||
<intent-filter>
|
<intent-filter>
|
||||||
<action android:name="cn.jpush.android.intent.DaemonService" />
|
<action android:name="cn.jpush.android.intent.DaemonService" />
|
||||||
<category android:name="$PACKAGE_NAME" />
|
<category android:name="$PACKAGE_NAME" />
|
||||||
@@ -169,19 +175,18 @@
|
|||||||
<category android:name="$PACKAGE_NAME" />
|
<category android:name="$PACKAGE_NAME" />
|
||||||
</intent-filter>
|
</intent-filter>
|
||||||
</receiver>
|
</receiver>
|
||||||
|
|
||||||
<!-- Required SDK核心功能-->
|
<!-- Required SDK核心功能-->
|
||||||
<receiver android:name="cn.jpush.android.service.AlarmReceiver" />
|
<receiver
|
||||||
|
android:name="cn.jpush.android.service.AlarmReceiver"
|
||||||
|
android:exported="false" />
|
||||||
|
|
||||||
<!-- Required. Enable it you can get statistics data with channel -->
|
<!-- Required. Enable it you can get statistics data with channel -->
|
||||||
<meta-data android:name="JPUSH_CHANNEL" android:value="developer-default" />
|
<meta-data android:name="JPUSH_CHANNEL" android:value="developer-default" />
|
||||||
<meta-data android:name="JPUSH_APPKEY" android:value="$API_KEY" />
|
<meta-data android:name="JPUSH_APPKEY" android:value="$APP_KEY" />
|
||||||
</config-file>
|
</config-file>
|
||||||
|
|
||||||
<source-file src="src/android/libs/jpush-android-2.2.0.jar" target-dir="libs" />
|
<source-file src="src/android/libs/jpush-android_v3.0.6.jar" target-dir="libs" />
|
||||||
<source-file src="src/android/libs/armeabi/libjpush220.so" target-dir="libs/armeabi" />
|
|
||||||
<source-file src="src/android/libs/armeabi-v7a/libjpush220.so" target-dir="libs/armeabi-v7a" />
|
|
||||||
<source-file src="src/android/libs/arm64-v8a/libjpush220.so" target-dir="libs/arm64-v8a" />
|
|
||||||
<source-file src="src/android/libs/x86/libjpush220.so" target-dir="libs/x86" />
|
|
||||||
<source-file src="src/android/libs/x86_64/libjpush220.so" target-dir="libs/x86_64" />
|
|
||||||
|
|
||||||
<source-file src="src/android/MyReceiver.java" target-dir="src/cn/jpush/phonegap" />
|
<source-file src="src/android/MyReceiver.java" target-dir="src/cn/jpush/phonegap" />
|
||||||
<source-file src="src/android/JPushPlugin.java" target-dir="src/cn/jpush/phonegap" />
|
<source-file src="src/android/JPushPlugin.java" target-dir="src/cn/jpush/phonegap" />
|
||||||
|
|||||||
@@ -262,6 +262,26 @@ public class JPushPlugin extends CordovaPlugin {
|
|||||||
JPushPlugin.notificationAlert = null;
|
JPushPlugin.notificationAlert = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void transmitReceiveRegistrationId(String rId) {
|
||||||
|
if (instance == null) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
JSONObject data = new JSONObject();
|
||||||
|
try {
|
||||||
|
data.put("registrationId", rId);
|
||||||
|
} catch (JSONException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
String format = "window.plugins.jPushPlugin.receiveRegistrationIdInAndroidCallback(%s);";
|
||||||
|
final String js = String.format(format, data.toString());
|
||||||
|
cordovaActivity.runOnUiThread(new Runnable() {
|
||||||
|
@Override
|
||||||
|
public void run() {
|
||||||
|
instance.webView.loadUrl("javascript:" + js);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean execute(final String action, final JSONArray data,
|
public boolean execute(final String action, final JSONArray data,
|
||||||
final CallbackContext callbackContext) throws JSONException {
|
final CallbackContext callbackContext) throws JSONException {
|
||||||
@@ -479,6 +499,7 @@ public class JPushPlugin extends CordovaPlugin {
|
|||||||
} catch (JSONException e) {
|
} catch (JSONException e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
callbackContext.error("error reading id json");
|
callbackContext.error("error reading id json");
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
if (notificationId != -1) {
|
if (notificationId != -1) {
|
||||||
JPushInterface.clearNotificationById(this.cordova.getActivity(), notificationId);
|
JPushInterface.clearNotificationById(this.cordova.getActivity(), notificationId);
|
||||||
@@ -617,7 +638,6 @@ public class JPushPlugin extends CordovaPlugin {
|
|||||||
Field opValue = appOpsClazz.getDeclaredField(appOpsServiceId);
|
Field opValue = appOpsClazz.getDeclaredField(appOpsServiceId);
|
||||||
int value = opValue.getInt(Integer.class);
|
int value = opValue.getInt(Integer.class);
|
||||||
Object result = checkOpNoThrowMethod.invoke(mAppOps, value, uid, pkg);
|
Object result = checkOpNoThrowMethod.invoke(mAppOps, value, uid, pkg);
|
||||||
|
|
||||||
return Integer.parseInt(result.toString()) == AppOpsManager.MODE_ALLOWED;
|
return Integer.parseInt(result.toString()) == AppOpsManager.MODE_ALLOWED;
|
||||||
} catch (InvocationTargetException e) {
|
} catch (InvocationTargetException e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
@@ -632,5 +652,4 @@ public class JPushPlugin extends CordovaPlugin {
|
|||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
+11
-19
@@ -1,18 +1,18 @@
|
|||||||
package cn.jpush.phonegap;
|
package cn.jpush.phonegap;
|
||||||
|
|
||||||
|
import android.content.BroadcastReceiver;
|
||||||
|
import android.content.Context;
|
||||||
|
import android.content.Intent;
|
||||||
|
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
import cn.jpush.android.api.JPushInterface;
|
import cn.jpush.android.api.JPushInterface;
|
||||||
import android.content.BroadcastReceiver;
|
|
||||||
import android.content.Context;
|
|
||||||
import android.content.Intent;
|
|
||||||
import android.util.Log;
|
|
||||||
|
|
||||||
public class MyReceiver extends BroadcastReceiver {
|
public class MyReceiver extends BroadcastReceiver {
|
||||||
private static String TAG = "JPushPlugin";
|
|
||||||
private static final List<String> IGNORED_EXTRAS_KEYS =
|
private static final List<String> IGNORED_EXTRAS_KEYS =
|
||||||
Arrays.asList(
|
Arrays.asList(
|
||||||
"cn.jpush.android.TITLE",
|
"cn.jpush.android.TITLE",
|
||||||
@@ -24,18 +24,15 @@ public class MyReceiver extends BroadcastReceiver {
|
|||||||
@Override
|
@Override
|
||||||
public void onReceive(Context context, Intent intent) {
|
public void onReceive(Context context, Intent intent) {
|
||||||
String action = intent.getAction();
|
String action = intent.getAction();
|
||||||
if (JPushInterface.ACTION_MESSAGE_RECEIVED.equals(action)) {
|
if (action.equals(JPushInterface.ACTION_REGISTRATION_ID)) {
|
||||||
|
String rId = intent.getStringExtra(JPushInterface.EXTRA_REGISTRATION_ID);
|
||||||
|
JPushPlugin.transmitReceiveRegistrationId(rId);
|
||||||
|
} else if (action.equals(JPushInterface.ACTION_MESSAGE_RECEIVED)) {
|
||||||
handlingMessageReceive(intent);
|
handlingMessageReceive(intent);
|
||||||
} else if (JPushInterface.ACTION_NOTIFICATION_RECEIVED.equals(action)) {
|
} else if (action.equals(JPushInterface.ACTION_NOTIFICATION_RECEIVED)) {
|
||||||
handlingNotificationReceive(context, intent);
|
handlingNotificationReceive(context, intent);
|
||||||
} else if (JPushInterface.ACTION_NOTIFICATION_OPENED.equals(action)) {
|
} else if (action.equals(JPushInterface.ACTION_NOTIFICATION_OPENED)) {
|
||||||
handlingNotificationOpen(context, intent);
|
handlingNotificationOpen(context, intent);
|
||||||
} else if (JPushInterface.ACTION_RICHPUSH_CALLBACK.equals(action)) {
|
|
||||||
// 当在 HTML 页面中调用 JPushWeb.triggerNativeAction(String params) 方法时触发此方法,
|
|
||||||
// 再进行相关的操作。
|
|
||||||
|
|
||||||
} else {
|
|
||||||
Log.d(TAG, "Unhandled intent - " + action);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -46,8 +43,6 @@ public class MyReceiver extends BroadcastReceiver {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void handlingNotificationOpen(Context context, Intent intent) {
|
private void handlingNotificationOpen(Context context, Intent intent) {
|
||||||
Log.i(TAG, "---------------- handlingNotificationOpen");
|
|
||||||
|
|
||||||
String title = intent.getStringExtra(JPushInterface.EXTRA_NOTIFICATION_TITLE);
|
String title = intent.getStringExtra(JPushInterface.EXTRA_NOTIFICATION_TITLE);
|
||||||
JPushPlugin.openNotificationTitle = title;
|
JPushPlugin.openNotificationTitle = title;
|
||||||
|
|
||||||
@@ -67,8 +62,6 @@ public class MyReceiver extends BroadcastReceiver {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void handlingNotificationReceive(Context context, Intent intent) {
|
private void handlingNotificationReceive(Context context, Intent intent) {
|
||||||
Log.i(TAG, "---------------- handlingNotificationReceive");
|
|
||||||
|
|
||||||
Intent launch = context.getPackageManager().getLaunchIntentForPackage(
|
Intent launch = context.getPackageManager().getLaunchIntentForPackage(
|
||||||
context.getPackageName());
|
context.getPackageName());
|
||||||
launch.addCategory(Intent.CATEGORY_LAUNCHER);
|
launch.addCategory(Intent.CATEGORY_LAUNCHER);
|
||||||
@@ -99,5 +92,4 @@ public class MyReceiver extends BroadcastReceiver {
|
|||||||
}
|
}
|
||||||
return extrasMap;
|
return extrasMap;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -5,10 +5,12 @@
|
|||||||
<key>Appkey</key>
|
<key>Appkey</key>
|
||||||
<string></string>
|
<string></string>
|
||||||
<key>Channel</key>
|
<key>Channel</key>
|
||||||
<string>Subscription</string>
|
<string>channel name</string>
|
||||||
<key>IsProduction</key>
|
<key>IsProduction</key>
|
||||||
<false/>
|
<false/>
|
||||||
<key>IsIDFA</key>
|
<key>IsIDFA</key>
|
||||||
<false/>
|
<false/>
|
||||||
|
<key>Delay</key>
|
||||||
|
<false/>
|
||||||
</dict>
|
</dict>
|
||||||
</plist>
|
</plist>
|
||||||
@@ -12,4 +12,5 @@
|
|||||||
|
|
||||||
@interface AppDelegate (JPush) <JPUSHRegisterDelegate>
|
@interface AppDelegate (JPush) <JPUSHRegisterDelegate>
|
||||||
-(void)registerForRemoteNotification;
|
-(void)registerForRemoteNotification;
|
||||||
|
-(void)startJPushSDK;
|
||||||
@end
|
@end
|
||||||
|
|||||||
@@ -28,22 +28,46 @@
|
|||||||
return [self init_plus];
|
return [self init_plus];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
-(void)fireOpenNotification:(NSTimer*)timer{
|
||||||
|
if (SharedJPushPlugin) {
|
||||||
|
[JPushPlugin fireDocumentEvent:JPushDocumentEvent_OpenNotification jsString:[timer.userInfo toJsonString]];
|
||||||
|
[timer invalidate];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
NSDictionary *_launchOptions;
|
||||||
-(void)applicationDidLaunch:(NSNotification *)notification{
|
-(void)applicationDidLaunch:(NSNotification *)notification{
|
||||||
|
|
||||||
|
|
||||||
if (notification) {
|
if (notification) {
|
||||||
if (notification.userInfo) {
|
if (notification.userInfo) {
|
||||||
NSDictionary *userInfo1 = [notification.userInfo valueForKey:UIApplicationLaunchOptionsRemoteNotificationKey];
|
NSDictionary *userInfo1 = [notification.userInfo valueForKey:UIApplicationLaunchOptionsRemoteNotificationKey];
|
||||||
if (userInfo1.count > 0) {
|
if (userInfo1.count > 0) {
|
||||||
[SharedJPushPlugin jpushFireDocumentEvent:JPushDocumentEvent_OpenNotification jsString:[userInfo1 toJsonString]];
|
[NSTimer scheduledTimerWithTimeInterval:0.01 target:self selector:@selector(fireOpenNotification:) userInfo:userInfo1 repeats:YES];
|
||||||
}
|
}
|
||||||
|
|
||||||
NSDictionary *userInfo2 = [notification.userInfo valueForKey:UIApplicationLaunchOptionsLocalNotificationKey];
|
NSDictionary *userInfo2 = [notification.userInfo valueForKey:UIApplicationLaunchOptionsLocalNotificationKey];
|
||||||
if (userInfo2.count > 0) {
|
if (userInfo2.count > 0) {
|
||||||
[SharedJPushPlugin jpushFireDocumentEvent:JPushDocumentEvent_StartLocalNotification jsString:[userInfo1 toJsonString]];
|
[NSTimer scheduledTimerWithTimeInterval:0.01 target:self selector:@selector(fireOpenNotification:) userInfo:userInfo2 repeats:YES];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
[JPUSHService setDebugMode];
|
[JPUSHService setDebugMode];
|
||||||
[self registerForRemoteNotification];
|
|
||||||
[JPushPlugin setupJPushSDK:notification.userInfo];
|
NSString *plistPath = [[NSBundle mainBundle] pathForResource:JPushConfig_FileName ofType:@"plist"];
|
||||||
|
NSMutableDictionary *plistData = [[NSMutableDictionary alloc] initWithContentsOfFile:plistPath];
|
||||||
|
NSNumber *delay = [plistData valueForKey:JPushConfig_Delay];
|
||||||
|
|
||||||
|
_launchOptions = notification.userInfo;
|
||||||
|
|
||||||
|
if (![delay boolValue]) {
|
||||||
|
[self startJPushSDK];
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
-(void)startJPushSDK{
|
||||||
|
[self registerForRemoteNotification];
|
||||||
|
[JPushPlugin setupJPushSDK:_launchOptions];
|
||||||
}
|
}
|
||||||
|
|
||||||
-(void)registerForRemoteNotification{
|
-(void)registerForRemoteNotification{
|
||||||
@@ -75,7 +99,7 @@
|
|||||||
-(void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo{
|
-(void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo{
|
||||||
[JPUSHService handleRemoteNotification:userInfo];
|
[JPUSHService handleRemoteNotification:userInfo];
|
||||||
|
|
||||||
[SharedJPushPlugin jpushFireDocumentEvent:JPushDocumentEvent_ReceiveNotification jsString:[userInfo toJsonString]];
|
[JPushPlugin fireDocumentEvent:JPushDocumentEvent_ReceiveNotification jsString:[userInfo toJsonString]];
|
||||||
}
|
}
|
||||||
|
|
||||||
-(void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler{
|
-(void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler{
|
||||||
@@ -94,13 +118,13 @@
|
|||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
[SharedJPushPlugin jpushFireDocumentEvent:eventName jsString:[userInfo toJsonString]];
|
[JPushPlugin fireDocumentEvent:eventName jsString:[userInfo toJsonString]];
|
||||||
completionHandler(UIBackgroundFetchResultNewData);
|
completionHandler(UIBackgroundFetchResultNewData);
|
||||||
}
|
}
|
||||||
|
|
||||||
-(void)jpushNotificationCenter:(UNUserNotificationCenter *)center willPresentNotification:(UNNotification *)notification withCompletionHandler:(void (^)(NSInteger))completionHandler{
|
-(void)jpushNotificationCenter:(UNUserNotificationCenter *)center willPresentNotification:(UNNotification *)notification withCompletionHandler:(void (^)(NSInteger))completionHandler{
|
||||||
NSMutableDictionary *userInfo = [NSMutableDictionary dictionaryWithDictionary:notification.request.content.userInfo];
|
NSMutableDictionary *userInfo = [NSMutableDictionary dictionaryWithDictionary:notification.request.content.userInfo];
|
||||||
[SharedJPushPlugin jpushFireDocumentEvent:JPushDocumentEvent_ReceiveNotification jsString:[userInfo toJsonString]];
|
[JPushPlugin fireDocumentEvent:JPushDocumentEvent_ReceiveNotification jsString:[userInfo toJsonString]];
|
||||||
completionHandler(UNNotificationPresentationOptionBadge|UNNotificationPresentationOptionSound|UNNotificationPresentationOptionAlert);
|
completionHandler(UNNotificationPresentationOptionBadge|UNNotificationPresentationOptionSound|UNNotificationPresentationOptionAlert);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -110,7 +134,7 @@
|
|||||||
[userInfo setValue:[response valueForKey:@"userText"] forKey:@"userText"];
|
[userInfo setValue:[response valueForKey:@"userText"] forKey:@"userText"];
|
||||||
} @catch (NSException *exception) { }
|
} @catch (NSException *exception) { }
|
||||||
[userInfo setValue:response.actionIdentifier forKey:@"actionIdentifier"];
|
[userInfo setValue:response.actionIdentifier forKey:@"actionIdentifier"];
|
||||||
[SharedJPushPlugin jpushFireDocumentEvent:JPushDocumentEvent_OpenNotification jsString:[userInfo toJsonString]];
|
[JPushPlugin fireDocumentEvent:JPushDocumentEvent_OpenNotification jsString:[userInfo toJsonString]];
|
||||||
completionHandler();
|
completionHandler();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -15,15 +15,16 @@
|
|||||||
|
|
||||||
#define WEAK_SELF(weakSelf) __weak __typeof(&*self)weakSelf = self;
|
#define WEAK_SELF(weakSelf) __weak __typeof(&*self)weakSelf = self;
|
||||||
|
|
||||||
|
static NSString *const JPushConfig_FileName = @"JPushConfig";
|
||||||
static NSString *const JPushConfig_Appkey = @"Appkey";
|
static NSString *const JPushConfig_Appkey = @"Appkey";
|
||||||
static NSString *const JPushConfig_Channel = @"Channel";
|
static NSString *const JPushConfig_Channel = @"Channel";
|
||||||
static NSString *const JPushConfig_IsProduction = @"IsProduction";
|
static NSString *const JPushConfig_IsProduction = @"IsProduction";
|
||||||
static NSString *const JPushConfig_IsIDFA = @"IsIDFA";
|
static NSString *const JPushConfig_IsIDFA = @"IsIDFA";
|
||||||
static NSString *const JPushConfig_FileName = @"PushConfig";
|
static NSString *const JPushConfig_Delay = @"Delay";
|
||||||
|
|
||||||
static NSString *const JPushDocumentEvent_ReceiveNotification = @"receiveNotification";
|
static NSString *const JPushDocumentEvent_ReceiveNotification = @"receiveNotification";
|
||||||
static NSString *const JPushDocumentEvent_OpenNotification = @"openNotification";
|
static NSString *const JPushDocumentEvent_OpenNotification = @"openNotification";
|
||||||
static NSString *const JPushDocumentEvent_BackgroundNotification = @"backgroundNotification";
|
static NSString *const JPushDocumentEvent_BackgroundNotification = @"backgroundNotification";
|
||||||
static NSString *const JPushDocumentEvent_SetTagsWithAlias = @"setTagsWithAlias";
|
static NSString *const JPushDocumentEvent_SetTagsWithAlias = @"setTagsWithAlias";
|
||||||
static NSString *const JPushDocumentEvent_ReceiveMessage = @"receiveMessage";
|
static NSString *const JPushDocumentEvent_ReceiveMessage = @"receiveMessage";
|
||||||
static NSString *const JPushDocumentEvent_StartLocalNotification = @"startLocalNotification";
|
static NSString *const JPushDocumentEvent_StartLocalNotification = @"startLocalNotification";
|
||||||
|
|||||||
@@ -12,6 +12,9 @@
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//注册通知服务并启动 SDK
|
||||||
|
-(void)startJPushSDK:(CDVInvokedUrlCommand*)command;
|
||||||
|
|
||||||
//以下为js中可调用接口
|
//以下为js中可调用接口
|
||||||
//设置标签、别名
|
//设置标签、别名
|
||||||
-(void)setTagsWithAlias:(CDVInvokedUrlCommand*)command;
|
-(void)setTagsWithAlias:(CDVInvokedUrlCommand*)command;
|
||||||
@@ -72,13 +75,13 @@
|
|||||||
|
|
||||||
# pragma mark - private
|
# pragma mark - private
|
||||||
|
|
||||||
-(void)jpushFireDocumentEvent:(NSString*)eventName jsString:(NSString*)jsString;
|
+(void)fireDocumentEvent:(NSString*)eventName jsString:(NSString*)jsString;
|
||||||
|
|
||||||
+(void)setupJPushSDK:(NSDictionary*)userInfo;
|
+(void)setupJPushSDK:(NSDictionary*)userInfo;
|
||||||
|
|
||||||
@end
|
@end
|
||||||
|
|
||||||
static JPushPlugin *SharedJPushPlugin;
|
JPushPlugin *SharedJPushPlugin;
|
||||||
|
|
||||||
@interface NSDictionary (JPush)
|
@interface NSDictionary (JPush)
|
||||||
-(NSString*)toJsonString;
|
-(NSString*)toJsonString;
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
|
|
||||||
//
|
//
|
||||||
// PushTalkPlugin.m
|
// PushTalkPlugin.m
|
||||||
// PushTalk
|
// PushTalk
|
||||||
@@ -38,6 +39,10 @@
|
|||||||
|
|
||||||
@implementation JPushPlugin
|
@implementation JPushPlugin
|
||||||
|
|
||||||
|
-(void)startJPushSDK:(CDVInvokedUrlCommand*)command{
|
||||||
|
[(AppDelegate*)[UIApplication sharedApplication].delegate startJPushSDK];
|
||||||
|
}
|
||||||
|
|
||||||
#pragma mark- 外部接口
|
#pragma mark- 外部接口
|
||||||
-(void)stopPush:(CDVInvokedUrlCommand*)command{
|
-(void)stopPush:(CDVInvokedUrlCommand*)command{
|
||||||
[[UIApplication sharedApplication]unregisterForRemoteNotifications];
|
[[UIApplication sharedApplication]unregisterForRemoteNotifications];
|
||||||
@@ -60,7 +65,7 @@
|
|||||||
|
|
||||||
- (void)pluginInitialize {
|
- (void)pluginInitialize {
|
||||||
NSLog(@"### pluginInitialize ");
|
NSLog(@"### pluginInitialize ");
|
||||||
SharedJPushPlugin = self;
|
[self initPlugin];
|
||||||
}
|
}
|
||||||
|
|
||||||
#else
|
#else
|
||||||
@@ -69,14 +74,25 @@
|
|||||||
NSLog(@"### initWithWebView ");
|
NSLog(@"### initWithWebView ");
|
||||||
if (self=[super initWithWebView:theWebView]) {
|
if (self=[super initWithWebView:theWebView]) {
|
||||||
}
|
}
|
||||||
|
[self initPlugin];
|
||||||
return self;
|
return self;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
-(void)jpushFireDocumentEvent:(NSString*)eventName jsString:(NSString*)jsString{
|
-(void)initPlugin{
|
||||||
|
if (!SharedJPushPlugin) {
|
||||||
|
SharedJPushPlugin = self;
|
||||||
|
}
|
||||||
|
[[NSNotificationCenter defaultCenter] addObserver:self
|
||||||
|
selector:@selector(networkDidReceiveMessage:)
|
||||||
|
name:kJPFNetworkDidReceiveMessageNotification
|
||||||
|
object:nil];
|
||||||
|
}
|
||||||
|
|
||||||
|
+(void)fireDocumentEvent:(NSString*)eventName jsString:(NSString*)jsString{
|
||||||
dispatch_async(dispatch_get_main_queue(), ^{
|
dispatch_async(dispatch_get_main_queue(), ^{
|
||||||
[self.commandDelegate evalJs:[NSString stringWithFormat:@"cordova.fireDocumentEvent('jpush.%@',%@)", eventName, jsString]];
|
[SharedJPushPlugin.commandDelegate evalJs:[NSString stringWithFormat:@"cordova.fireDocumentEvent('jpush.%@',%@)", eventName, jsString]];
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -306,12 +322,12 @@
|
|||||||
@"tags" :tags == nil ? [NSNull null] : [tags allObjects],
|
@"tags" :tags == nil ? [NSNull null] : [tags allObjects],
|
||||||
@"alias" :alias == nil ? [NSNull null] : alias
|
@"alias" :alias == nil ? [NSNull null] : alias
|
||||||
};
|
};
|
||||||
[self jpushFireDocumentEvent:JPushDocumentEvent_SetTagsWithAlias jsString:[dict toJsonString]];
|
[JPushPlugin fireDocumentEvent:JPushDocumentEvent_SetTagsWithAlias jsString:[dict toJsonString]];
|
||||||
}
|
}
|
||||||
|
|
||||||
- (void)networkDidReceiveMessage:(NSNotification *)notification {
|
- (void)networkDidReceiveMessage:(NSNotification *)notification {
|
||||||
if (notification && notification.userInfo) {
|
if (notification && notification.userInfo) {
|
||||||
[self jpushFireDocumentEvent:JPushDocumentEvent_ReceiveMessage jsString:[notification.userInfo toJsonString]];
|
[JPushPlugin fireDocumentEvent:JPushDocumentEvent_ReceiveMessage jsString:[notification.userInfo toJsonString]];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -6,10 +6,10 @@
|
|||||||
* | | | | / /\ \ | | | | \ \______| |
|
* | | | | / /\ \ | | | | \ \______| |
|
||||||
* | | | | /_/ \_\ | | | | \_________|
|
* | | | | /_/ \_\ | | | | \_________|
|
||||||
*
|
*
|
||||||
* Copyright (c) 2011 ~ 2015 Shenzhen HXHG. All rights reserved.
|
* Copyright (c) 2011 ~ 2017 Shenzhen HXHG. All rights reserved.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#define JPUSH_VERSION_NUMBER 3.0.0
|
#define JPUSH_VERSION_NUMBER 3.0.5
|
||||||
|
|
||||||
#import <Foundation/Foundation.h>
|
#import <Foundation/Foundation.h>
|
||||||
|
|
||||||
@@ -456,7 +456,7 @@ callbackSelector:(SEL)cbSelector
|
|||||||
*
|
*
|
||||||
* SDK 默认开启的日志级别为: Info. 只显示必要的信息, 不打印调试日志.
|
* SDK 默认开启的日志级别为: Info. 只显示必要的信息, 不打印调试日志.
|
||||||
*
|
*
|
||||||
* 调用本接口可打开日志级别为: Debug, 打印调试日志.
|
* 请在SDK启动后调用本接口,调用本接口可打开日志级别为: Debug, 打印调试日志.
|
||||||
*/
|
*/
|
||||||
+ (void)setDebugMode;
|
+ (void)setDebugMode;
|
||||||
|
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
+159
-144
@@ -7,48 +7,66 @@ JPushPlugin.prototype.openNotification = {}
|
|||||||
JPushPlugin.prototype.receiveNotification = {}
|
JPushPlugin.prototype.receiveNotification = {}
|
||||||
|
|
||||||
JPushPlugin.prototype.isPlatformIOS = function () {
|
JPushPlugin.prototype.isPlatformIOS = function () {
|
||||||
var isPlatformIOS = device.platform == 'iPhone' ||
|
var isPlatformIOS = (device.platform == 'iPhone' ||
|
||||||
device.platform == 'iPad' ||
|
device.platform == 'iPad' ||
|
||||||
device.platform == 'iPod touch' ||
|
device.platform == 'iPod touch' ||
|
||||||
device.platform == 'iOS'
|
device.platform == 'iOS')
|
||||||
return isPlatformIOS
|
return isPlatformIOS
|
||||||
}
|
}
|
||||||
|
|
||||||
JPushPlugin.prototype.error_callback = function (msg) {
|
JPushPlugin.prototype.errorCallback = function (msg) {
|
||||||
console.log('Javascript Callback Error: ' + msg)
|
console.log('Javascript Callback Error: ' + msg)
|
||||||
}
|
}
|
||||||
|
|
||||||
JPushPlugin.prototype.call_native = function (name, args, callback) {
|
JPushPlugin.prototype.callNative = function (name, args, successCallback) {
|
||||||
ret = cordova.exec(callback, this.error_callback, 'JPushPlugin', name, args)
|
cordova.exec(successCallback, this.errorCallback, 'JPushPlugin', name, args)
|
||||||
return ret
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// public methods
|
// Common methods
|
||||||
JPushPlugin.prototype.init = function () {
|
JPushPlugin.prototype.init = function () {
|
||||||
if (this.isPlatformIOS()) {
|
if (this.isPlatformIOS()) {
|
||||||
this.call_native('initial', [], null)
|
this.callNative('initial', [], null)
|
||||||
} else {
|
} else {
|
||||||
this.call_native('init', [], null)
|
this.callNative('init', [], null)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
JPushPlugin.prototype.getRegistrationID = function (callback) {
|
JPushPlugin.prototype.setDebugMode = function (mode) {
|
||||||
this.call_native('getRegistrationID', [], callback)
|
if (device.platform === 'Android') {
|
||||||
|
this.callNative('setDebugMode', [mode], null)
|
||||||
|
} else {
|
||||||
|
if (mode === true) {
|
||||||
|
this.setDebugModeFromIos()
|
||||||
|
} else {
|
||||||
|
this.setLogOFF()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
JPushPlugin.prototype.getRegistrationID = function (successCallback) {
|
||||||
|
this.callNative('getRegistrationID', [], successCallback)
|
||||||
}
|
}
|
||||||
|
|
||||||
JPushPlugin.prototype.stopPush = function () {
|
JPushPlugin.prototype.stopPush = function () {
|
||||||
this.call_native('stopPush', [], null)
|
this.callNative('stopPush', [], null)
|
||||||
}
|
}
|
||||||
|
|
||||||
JPushPlugin.prototype.resumePush = function () {
|
JPushPlugin.prototype.resumePush = function () {
|
||||||
this.call_native('resumePush', [], null)
|
this.callNative('resumePush', [], null)
|
||||||
}
|
}
|
||||||
|
|
||||||
JPushPlugin.prototype.isPushStopped = function (callback) {
|
JPushPlugin.prototype.isPushStopped = function (successCallback) {
|
||||||
this.call_native('isPushStopped', [], callback)
|
this.callNative('isPushStopped', [], successCallback)
|
||||||
|
}
|
||||||
|
|
||||||
|
JPushPlugin.prototype.clearLocalNotifications = function () {
|
||||||
|
if (device.platform === 'Android') {
|
||||||
|
this.callNative('clearLocalNotifications', [], null)
|
||||||
|
} else {
|
||||||
|
this.clearAllLocalNotifications()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// iOS methods
|
|
||||||
JPushPlugin.prototype.setTagsWithAlias = function (tags, alias) {
|
JPushPlugin.prototype.setTagsWithAlias = function (tags, alias) {
|
||||||
if (tags == null) {
|
if (tags == null) {
|
||||||
this.setAlias(alias)
|
this.setAlias(alias)
|
||||||
@@ -60,100 +78,15 @@ JPushPlugin.prototype.setTagsWithAlias = function (tags, alias) {
|
|||||||
}
|
}
|
||||||
var arrayTagWithAlias = [tags]
|
var arrayTagWithAlias = [tags]
|
||||||
arrayTagWithAlias.unshift(alias)
|
arrayTagWithAlias.unshift(alias)
|
||||||
this.call_native('setTagsWithAlias', arrayTagWithAlias, null)
|
this.callNative('setTagsWithAlias', arrayTagWithAlias, null)
|
||||||
}
|
}
|
||||||
|
|
||||||
JPushPlugin.prototype.setTags = function (tags) {
|
JPushPlugin.prototype.setTags = function (tags) {
|
||||||
this.call_native('setTags', tags, null)
|
this.callNative('setTags', tags, null)
|
||||||
}
|
}
|
||||||
|
|
||||||
JPushPlugin.prototype.setAlias = function (alias) {
|
JPushPlugin.prototype.setAlias = function (alias) {
|
||||||
this.call_native('setAlias', [alias], null)
|
this.callNative('setAlias', [alias], null)
|
||||||
}
|
|
||||||
|
|
||||||
JPushPlugin.prototype.setBadge = function (value) {
|
|
||||||
if (this.isPlatformIOS()) {
|
|
||||||
this.call_native('setBadge', [value], null)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
JPushPlugin.prototype.resetBadge = function () {
|
|
||||||
if (this.isPlatformIOS()) {
|
|
||||||
this.call_native('resetBadge', [], null)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
JPushPlugin.prototype.setDebugModeFromIos = function () {
|
|
||||||
if (this.isPlatformIOS()) {
|
|
||||||
this.call_native('setDebugModeFromIos', [], null)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
JPushPlugin.prototype.setLogOFF = function () {
|
|
||||||
if (this.isPlatformIOS()) {
|
|
||||||
this.call_native('setLogOFF', [], null)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
JPushPlugin.prototype.setCrashLogON = function () {
|
|
||||||
if (this.isPlatformIOS()) {
|
|
||||||
this.call_native('crashLogON', [], null)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
JPushPlugin.prototype.addLocalNotificationForIOS = function (delayTime, content,
|
|
||||||
badge, notificationID, extras) {
|
|
||||||
if (this.isPlatformIOS()) {
|
|
||||||
this.call_native('setLocalNotification', [delayTime, content, badge, notificationID, extras], null)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
JPushPlugin.prototype.deleteLocalNotificationWithIdentifierKeyInIOS = function (identifierKey) {
|
|
||||||
if (this.isPlatformIOS()) {
|
|
||||||
this.call_native('deleteLocalNotificationWithIdentifierKey', [identifierKey], null)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
JPushPlugin.prototype.clearAllLocalNotifications = function () {
|
|
||||||
if (this.isPlatformIOS()) {
|
|
||||||
this.call_native('clearAllLocalNotifications', [], null)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
JPushPlugin.prototype.setLocation = function (latitude, longitude) {
|
|
||||||
if (this.isPlatformIOS()) {
|
|
||||||
this.call_native('setLocation', [latitude, longitude], null)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
JPushPlugin.prototype.startLogPageView = function (pageName) {
|
|
||||||
if (this.isPlatformIOS()) {
|
|
||||||
this.call_native('startLogPageView', [pageName], null)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
JPushPlugin.prototype.stopLogPageView = function (pageName) {
|
|
||||||
if (this.isPlatformIOS()) {
|
|
||||||
this.call_native('stopLogPageView', [pageName], null)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
JPushPlugin.prototype.beginLogPageView = function (pageName, duration) {
|
|
||||||
if (this.isPlatformIOS()) {
|
|
||||||
this.call_native('beginLogPageView', [pageName, duration], null)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
JPushPlugin.prototype.setApplicationIconBadgeNumber = function (badge) {
|
|
||||||
if (this.isPlatformIOS()) {
|
|
||||||
this.call_native('setApplicationIconBadgeNumber', [badge], null)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
JPushPlugin.prototype.getApplicationIconBadgeNumber = function (callback) {
|
|
||||||
if (this.isPlatformIOS()) {
|
|
||||||
this.call_native('getApplicationIconBadgeNumber', [], callback)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// 判断系统设置中是否对本应用启用通知。
|
// 判断系统设置中是否对本应用启用通知。
|
||||||
@@ -164,41 +97,134 @@ JPushPlugin.prototype.getApplicationIconBadgeNumber = function (callback) {
|
|||||||
// UIRemoteNotificationTypeAlert = 1 << 2,
|
// UIRemoteNotificationTypeAlert = 1 << 2,
|
||||||
// UIRemoteNotificationTypeNewsstandContentAvailability = 1 << 3,
|
// UIRemoteNotificationTypeNewsstandContentAvailability = 1 << 3,
|
||||||
// Android: 返回值 1 代表通知启用、0: 通知关闭。
|
// Android: 返回值 1 代表通知启用、0: 通知关闭。
|
||||||
JPushPlugin.prototype.getUserNotificationSettings = function (callback) {
|
JPushPlugin.prototype.getUserNotificationSettings = function (successCallback) {
|
||||||
if (this.isPlatformIOS()) {
|
if (this.isPlatformIOS()) {
|
||||||
this.call_native('getUserNotificationSettings', [], callback)
|
this.callNative('getUserNotificationSettings', [], successCallback)
|
||||||
} else if (device.platform == 'Android') {
|
} else if (device.platform == 'Android') {
|
||||||
this.call_native('areNotificationEnabled', [], callback)
|
this.callNative('areNotificationEnabled', [], successCallback)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// iOS methods
|
||||||
|
|
||||||
|
JPushPlugin.prototype.startJPushSDK = function () {
|
||||||
|
this.callNative('startJPushSDK', [] , null)
|
||||||
|
}
|
||||||
|
|
||||||
|
JPushPlugin.prototype.setBadge = function (value) {
|
||||||
|
if (this.isPlatformIOS()) {
|
||||||
|
this.callNative('setBadge', [value], null)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
JPushPlugin.prototype.resetBadge = function () {
|
||||||
|
if (this.isPlatformIOS()) {
|
||||||
|
this.callNative('resetBadge', [], null)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
JPushPlugin.prototype.setDebugModeFromIos = function () {
|
||||||
|
if (this.isPlatformIOS()) {
|
||||||
|
this.callNative('setDebugModeFromIos', [], null)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
JPushPlugin.prototype.setLogOFF = function () {
|
||||||
|
if (this.isPlatformIOS()) {
|
||||||
|
this.callNative('setLogOFF', [], null)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
JPushPlugin.prototype.setCrashLogON = function () {
|
||||||
|
if (this.isPlatformIOS()) {
|
||||||
|
this.callNative('crashLogON', [], null)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
JPushPlugin.prototype.addLocalNotificationForIOS = function (delayTime, content,
|
||||||
|
badge, notificationID, extras) {
|
||||||
|
if (this.isPlatformIOS()) {
|
||||||
|
this.callNative('setLocalNotification', [delayTime, content, badge, notificationID, extras], null)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
JPushPlugin.prototype.deleteLocalNotificationWithIdentifierKeyInIOS = function (identifierKey) {
|
||||||
|
if (this.isPlatformIOS()) {
|
||||||
|
this.callNative('deleteLocalNotificationWithIdentifierKey', [identifierKey], null)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
JPushPlugin.prototype.clearAllLocalNotifications = function () {
|
||||||
|
if (this.isPlatformIOS()) {
|
||||||
|
this.callNative('clearAllLocalNotifications', [], null)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
JPushPlugin.prototype.setLocation = function (latitude, longitude) {
|
||||||
|
if (this.isPlatformIOS()) {
|
||||||
|
this.callNative('setLocation', [latitude, longitude], null)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
JPushPlugin.prototype.startLogPageView = function (pageName) {
|
||||||
|
if (this.isPlatformIOS()) {
|
||||||
|
this.callNative('startLogPageView', [pageName], null)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
JPushPlugin.prototype.stopLogPageView = function (pageName) {
|
||||||
|
if (this.isPlatformIOS()) {
|
||||||
|
this.callNative('stopLogPageView', [pageName], null)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
JPushPlugin.prototype.beginLogPageView = function (pageName, duration) {
|
||||||
|
if (this.isPlatformIOS()) {
|
||||||
|
this.callNative('beginLogPageView', [pageName, duration], null)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
JPushPlugin.prototype.setApplicationIconBadgeNumber = function (badge) {
|
||||||
|
if (this.isPlatformIOS()) {
|
||||||
|
this.callNative('setApplicationIconBadgeNumber', [badge], null)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
JPushPlugin.prototype.getApplicationIconBadgeNumber = function (callback) {
|
||||||
|
if (this.isPlatformIOS()) {
|
||||||
|
this.callNative('getApplicationIconBadgeNumber', [], callback)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
JPushPlugin.prototype.addDismissActions = function (actions, categoryId) {
|
JPushPlugin.prototype.addDismissActions = function (actions, categoryId) {
|
||||||
this.call_native('addDismissActions', [actions, categoryId])
|
this.callNative('addDismissActions', [actions, categoryId])
|
||||||
}
|
}
|
||||||
|
|
||||||
JPushPlugin.prototype.addNotificationActions = function (actions, categoryId) {
|
JPushPlugin.prototype.addNotificationActions = function (actions, categoryId) {
|
||||||
this.call_native('addNotificationActions', [actions, categoryId])
|
this.callNative('addNotificationActions', [actions, categoryId])
|
||||||
}
|
}
|
||||||
|
|
||||||
// Android methods
|
// Android methods
|
||||||
JPushPlugin.prototype.setDebugMode = function (mode) {
|
|
||||||
if (device.platform == 'Android') {
|
|
||||||
this.call_native('setDebugMode', [mode], null)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
JPushPlugin.prototype.setBasicPushNotificationBuilder = function () {
|
JPushPlugin.prototype.setBasicPushNotificationBuilder = function () {
|
||||||
if (device.platform == 'Android') {
|
if (device.platform == 'Android') {
|
||||||
this.call_native('setBasicPushNotificationBuilder', [], null)
|
this.callNative('setBasicPushNotificationBuilder', [], null)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
JPushPlugin.prototype.setCustomPushNotificationBuilder = function () {
|
JPushPlugin.prototype.setCustomPushNotificationBuilder = function () {
|
||||||
if (device.platform == 'Android') {
|
if (device.platform == 'Android') {
|
||||||
this.call_native('setCustomPushNotificationBuilder', [], null)
|
this.callNative('setCustomPushNotificationBuilder', [], null)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
JPushPlugin.prototype.receiveRegistrationIdInAndroidCallback = function (data) {
|
||||||
|
if (device.platform === 'Android') {
|
||||||
|
data = JSON.stringify(data)
|
||||||
|
var event = JSON.parse(data)
|
||||||
|
cordova.fireDocumentEvent('jpush.receiveRegistrationId', event);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
JPushPlugin.prototype.receiveMessageInAndroidCallback = function (data) {
|
JPushPlugin.prototype.receiveMessageInAndroidCallback = function (data) {
|
||||||
data = JSON.stringify(data)
|
data = JSON.stringify(data)
|
||||||
console.log('JPushPlugin:receiveMessageInAndroidCallback: ' + data)
|
console.log('JPushPlugin:receiveMessageInAndroidCallback: ' + data)
|
||||||
@@ -221,51 +247,40 @@ JPushPlugin.prototype.receiveNotificationInAndroidCallback = function (data) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
JPushPlugin.prototype.clearAllNotification = function () {
|
JPushPlugin.prototype.clearAllNotification = function () {
|
||||||
if (device.platform == 'Android') {
|
if (device.platform === 'Android') {
|
||||||
this.call_native('clearAllNotification', [], null)
|
this.callNative('clearAllNotification', [], null)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
JPushPlugin.prototype.clearNotificationById = function (notificationId) {
|
JPushPlugin.prototype.clearNotificationById = function (id) {
|
||||||
if (device.platform == 'Android') {
|
if (device.platform === 'Android') {
|
||||||
this.call_native('clearNotificationById', [notificationId], null)
|
this.callNative('clearNotificationById', [id], null)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
JPushPlugin.prototype.setLatestNotificationNum = function (num) {
|
JPushPlugin.prototype.setLatestNotificationNum = function (num) {
|
||||||
if (device.platform == 'Android') {
|
if (device.platform == 'Android') {
|
||||||
this.call_native('setLatestNotificationNum', [num], null)
|
this.callNative('setLatestNotificationNum', [num], null)
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
JPushPlugin.prototype.setDebugMode = function (mode) {
|
|
||||||
if (device.platform == 'Android') {
|
|
||||||
this.call_native('setDebugMode', [mode], null)
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
JPushPlugin.prototype.addLocalNotification = function (builderId, content, title,
|
JPushPlugin.prototype.addLocalNotification = function (builderId, content, title,
|
||||||
notificationID, broadcastTime, extras) {
|
notificationID, broadcastTime, extras) {
|
||||||
if (device.platform == 'Android') {
|
if (device.platform == 'Android') {
|
||||||
this.call_native('addLocalNotification', [builderId, content, title, notificationID, broadcastTime, extras], null)
|
this.callNative('addLocalNotification',
|
||||||
|
[builderId, content, title, notificationID, broadcastTime, extras], null)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
JPushPlugin.prototype.removeLocalNotification = function (notificationID) {
|
JPushPlugin.prototype.removeLocalNotification = function (notificationID) {
|
||||||
if (device.platform == 'Android') {
|
if (device.platform === 'Android') {
|
||||||
this.call_native('removeLocalNotification', [notificationID], null)
|
this.callNative('removeLocalNotification', [notificationID], null)
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
JPushPlugin.prototype.clearLocalNotifications = function () {
|
|
||||||
if (device.platform == 'Android') {
|
|
||||||
this.call_native('clearLocalNotifications', [], null)
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
JPushPlugin.prototype.reportNotificationOpened = function (msgID) {
|
JPushPlugin.prototype.reportNotificationOpened = function (msgID) {
|
||||||
if (device.platform == 'Android') {
|
if (device.platform === 'Android') {
|
||||||
this.call_native('reportNotificationOpened', [msgID], null)
|
this.callNative('reportNotificationOpened', [msgID], null)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -275,7 +290,7 @@ JPushPlugin.prototype.reportNotificationOpened = function (msgID) {
|
|||||||
*/
|
*/
|
||||||
JPushPlugin.prototype.setStatisticsOpen = function (mode) {
|
JPushPlugin.prototype.setStatisticsOpen = function (mode) {
|
||||||
if (device.platform == 'Android') {
|
if (device.platform == 'Android') {
|
||||||
this.call_native('setStatisticsOpen', [mode], null)
|
this.callNative('setStatisticsOpen', [mode], null)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -285,19 +300,19 @@ JPushPlugin.prototype.setStatisticsOpen = function (mode) {
|
|||||||
*/
|
*/
|
||||||
JPushPlugin.prototype.requestPermission = function () {
|
JPushPlugin.prototype.requestPermission = function () {
|
||||||
if (device.platform == 'Android') {
|
if (device.platform == 'Android') {
|
||||||
this.call_native('requestPermission', [], null)
|
this.callNative('requestPermission', [], null)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
JPushPlugin.prototype.setSilenceTime = function (startHour, startMinute, endHour, endMinute) {
|
JPushPlugin.prototype.setSilenceTime = function (startHour, startMinute, endHour, endMinute) {
|
||||||
if (device.platform == 'Android') {
|
if (device.platform == 'Android') {
|
||||||
this.call_native('setSilenceTime', [startHour, startMinute, endHour, endMinute], null)
|
this.callNative('setSilenceTime', [startHour, startMinute, endHour, endMinute], null)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
JPushPlugin.prototype.setPushTime = function (weekdays, startHour, endHour) {
|
JPushPlugin.prototype.setPushTime = function (weekdays, startHour, endHour) {
|
||||||
if (device.platform == 'Android') {
|
if (device.platform == 'Android') {
|
||||||
this.call_native('setPushTime', [weekdays, startHour, endHour], null)
|
this.callNative('setPushTime', [weekdays, startHour, endHour], null)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user