mirror of
https://github.com/jpush/jpush-phonegap-plugin.git
synced 2026-04-01 00:00:20 +08:00
Compare commits
33 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
8d24ce7c48 | ||
|
|
280846779d | ||
|
|
1ba048ee1b | ||
|
|
e4500dd513 | ||
|
|
a511072101 | ||
|
|
851ff1f23b | ||
|
|
5cf5bd39d1 | ||
|
|
07bb05f337 | ||
|
|
ceeb2fc7cf | ||
|
|
1eccd58059 | ||
|
|
a82382eddf | ||
|
|
be6dbf4fe6 | ||
|
|
e898c7933c | ||
|
|
bce5b4df68 | ||
|
|
3810209ca6 | ||
|
|
39155bf63c | ||
|
|
93989a7ad1 | ||
|
|
8c6044b6a6 | ||
|
|
9c0c2c0bd1 | ||
|
|
380c09283d | ||
|
|
730b93d82a | ||
|
|
39d65d61c8 | ||
|
|
4ed844e0c5 | ||
|
|
1f2499a893 | ||
|
|
bca6853a4e | ||
|
|
0015cd23e4 | ||
|
|
8b5efdcdcc | ||
|
|
4bc24e66d4 | ||
|
|
53dcfa0087 | ||
|
|
c9755d4f64 | ||
|
|
6409ce4934 | ||
|
|
aa3a4a218c | ||
|
|
79fb3b76ca |
@@ -1,62 +0,0 @@
|
|||||||
### iOS 手动安装
|
|
||||||
|
|
||||||
- 下载 JPush PhoneGap 插件,并解压缩,标记插件目录为:`$JPUSH_PLUGIN_DIR`
|
|
||||||
|
|
||||||
- 用 xcode 打开 iOS 工程 将 `$JPUSH_PLUGIN_DIR`/src/ios/Plugins/ 拖到 project 中
|
|
||||||
|
|
||||||
- 将 `$JPUSH_PLUGIN_DIR`/src/ios/lib/ 拖到 project 中
|
|
||||||
|
|
||||||
- 添加以下框架,打开 xcode,点击 project,选择(Target -> Build Phases -> Link Binary With Libraries)
|
|
||||||
|
|
||||||
CFNetwork.framework
|
|
||||||
CoreFoundation.framework
|
|
||||||
CoreTelephony.framework
|
|
||||||
SystemConfiguration.framework
|
|
||||||
CoreGraphics.framework
|
|
||||||
Foundation.framework
|
|
||||||
UIKit.framework
|
|
||||||
|
|
||||||
|
|
||||||
- 在你的工程中创建一个新的 Property List 文件
|
|
||||||
|
|
||||||
并将其命名为 PushConfig.plist,填入 Portal 为你的应用提供的 APP_KEY 等参数
|
|
||||||
|
|
||||||
- 在 AppDelegate.m 中包含头文件
|
|
||||||
|
|
||||||
#import "JPUSHService.h"
|
|
||||||
#import "JPushPlugin.h"
|
|
||||||
|
|
||||||
- 在 AppDelegate.m 中的下列方法中添加代码,如果方法不存在则增加相应方法与内容
|
|
||||||
|
|
||||||
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{
|
|
||||||
//原内容保持不变
|
|
||||||
//Required add
|
|
||||||
[JPushPlugin setLaunchOptions:launchOptions];
|
|
||||||
return YES;
|
|
||||||
}
|
|
||||||
- (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken {
|
|
||||||
//原内容保持不变
|
|
||||||
// Required add
|
|
||||||
[JPUSHService registerDeviceToken:deviceToken];
|
|
||||||
}
|
|
||||||
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo {
|
|
||||||
//原内容保持不变
|
|
||||||
// Required add
|
|
||||||
[JPUSHService handleRemoteNotification:userInfo];
|
|
||||||
[[NSNotificationCenter defaultCenter] postNotificationName:kJPushPluginReceiveNotification object:userInfo];
|
|
||||||
}
|
|
||||||
|
|
||||||
- 修改 phonegap config.xml 文件用来包含 Plugin/ 内的插件
|
|
||||||
|
|
||||||
|
|
||||||
<feature name="JPushPlugin">
|
|
||||||
<param name="ios-package" value="JPushPlugin" />
|
|
||||||
<param name="onload" value="true" />
|
|
||||||
</feature>
|
|
||||||
|
|
||||||
|
|
||||||
- 复制 `$JPUSH_PLUGIN_DIR`/www/JPushPlugin.js 到工程的 www 目录下面
|
|
||||||
|
|
||||||
- 在需要使用插件处加入
|
|
||||||
|
|
||||||
<script type="text/javascript" src="JPushPlugin.js"></script>
|
|
||||||
105
README.md
105
README.md
@@ -2,78 +2,52 @@
|
|||||||
|
|
||||||
[](https://travis-ci.org/jpush/jpush-phonegap-plugin)
|
[](https://travis-ci.org/jpush/jpush-phonegap-plugin)
|
||||||
[](https://gitter.im/jpush/jpush-phonegap-plugin)
|
[](https://gitter.im/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-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)
|
||||||
|
|
||||||
支持 iOS, Android 的 Cordova 推送插件。
|
支持 iOS, Android 的 Cordova 推送插件。
|
||||||
|
> 如需要 IM 功能的插件,可关注 [jmessage-phonegap-plugin](https://github.com/jpush/jmessage-phonegap-plugin)。
|
||||||
|
|
||||||
## 功能特性
|
## 集成步骤
|
||||||
+ 发送推送通知。
|
|
||||||
+ 发送推送自定义消息。
|
|
||||||
+ 设置推送标签和别名。
|
|
||||||
+ 设置角标(iOS)。
|
|
||||||
|
|
||||||
*如需要 IM 功能插件,请关注 [jmessage-phonegap-plugin](https://github.com/jpush/jmessage-phonegap-plugin)*。
|
### 1.首先安装 cordova device 插件
|
||||||
|
|
||||||
## 安装
|
cordova plugin add cordova-plugin-device
|
||||||
### 准备工作
|
|
||||||
|
|
||||||
1. cordova create 文件夹名字 包名 应用名字
|
### 2.安装 JPush PhoneGap Plugin
|
||||||
|
|
||||||
cordova create Myproj com.myproj.jpush MyTestProj
|
|
||||||
|
|
||||||
2. 添加平台:
|
|
||||||
|
|
||||||
cd Myproj
|
|
||||||
cordova platform add android
|
|
||||||
cordova platform add ios
|
|
||||||
|
|
||||||
ps: 这里请注意iOS平台,必须先执行 cordova platform add ios,
|
|
||||||
然后再执行 cordova plugin add xxxxx 命令,不然有一些必须要的链接库需要手动添加。
|
|
||||||
|
|
||||||
|
|
||||||
### 安装插件(Android & iOS)
|
|
||||||
|
|
||||||
#### 1.安装 JPush PhoneGap Plugin
|
|
||||||
安装 JPush PhoneGap Plugin 有两种方法:
|
安装 JPush PhoneGap Plugin 有两种方法:
|
||||||
|
|
||||||
方法一:在线安装
|
方法一:在线安装
|
||||||
|
|
||||||
通过 cordova plugins 安装,要求 phonegap/cordova CLI 5.0+:
|
通过 Cordova plugins 安装,要求 PhoneGap/Cordova CLI 5.0+:
|
||||||
|
|
||||||
cordova plugin add jpush-phonegap-plugin --variable API_KEY=your_jpush_appkey
|
cordova plugin add jpush-phonegap-plugin --variable API_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 API_KEY=your_jpush_appkey
|
||||||
|
|
||||||
方法二:下载到本地再安装
|
方法二:下载到本地再安装
|
||||||
|
|
||||||
使用 git 命令将 JPush PhoneGap 插件下载的本地,目录标记为 $JPUSH_PLUGIN_DIR。
|
使用 git 命令将 JPush PhoneGap 插件下载的本地,目录标记为 $JPUSH_PLUGIN_DIR:
|
||||||
|
|
||||||
git clone https://github.com/jpush/jpush-phonegap-plugin.git
|
git clone https://github.com/jpush/jpush-phonegap-plugin.git
|
||||||
|
|
||||||
cordova plugin add $JPUSH_PLUGIN_DIR --variable API_KEY=your_jpush_appkey
|
cordova plugin add $JPUSH_PLUGIN_DIR --variable API_KEY=your_jpush_appkey
|
||||||
|
|
||||||
[Android 手动安装文档地址](API/Android_handle_install.md)
|
- [Android 手动安装文档地址](/doc/Android_handle_install.md)。
|
||||||
|
|
||||||
[IOS 手动安装文档地址](API/iOS_install.md)
|
- [iOS 手动安装文档地址](/doc/iOS_install.md)。
|
||||||
|
|
||||||
|
### 3.在 js 中调用函数,初始化 JPush
|
||||||
|
|
||||||
#### 2.安装 org.apache.cordova.device 插件
|
//由于 PhoneGap 插件采用了 lazy load 的特性,所以建议在 js 文件能执行的最开始就添加。
|
||||||
|
|
||||||
cordova plugin add org.apache.cordova.device
|
|
||||||
|
|
||||||
|
|
||||||
#### 3.在 js 中调用函数,初始化 JPush
|
|
||||||
|
|
||||||
//由于 PhoneGap 插件采用了 Lazy load 的特性,所以建议在 js 文件能执行的最开始就添加
|
|
||||||
window.plugins.jPushPlugin.init();
|
window.plugins.jPushPlugin.init();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
## Demo
|
## Demo
|
||||||
插件中包含示例 Demo。若想参考,可以在 $JPUSH_PLUGIN_DIR/example 文件夹内找到并拷贝以下文件:
|
插件项目中包含一个简单的 Demo。若想参考,可以在 /example 文件夹内找到并拷贝以下文件:
|
||||||
|
|
||||||
src/example/index.html -> www/index.html
|
src/example/index.html -> www/index.html
|
||||||
src/example/css/* -> www/css
|
src/example/css/* -> www/css
|
||||||
@@ -81,58 +55,51 @@
|
|||||||
|
|
||||||
## 关于 PhoneGap build 云服务
|
## 关于 PhoneGap build 云服务
|
||||||
|
|
||||||
该项目基于 cordova 实现,目前无法使用 PhoneGap build 云服务进行打包,建议使用本地环境进行打包。
|
该项目基于 Cordova 实现,目前无法使用 PhoneGap build 云服务进行打包,建议使用本地环境进行打包。
|
||||||
|
|
||||||
## API 说明
|
## API 说明
|
||||||
|
|
||||||
插件的 API 集中在 JPushPlugin.js 文件中,该文件的具体位置如下:
|
插件的 API 在 JPushPlugin.js 文件中,该文件的具体位置如下:
|
||||||
|
### Android
|
||||||
Android:
|
|
||||||
|
|
||||||
[Project]/assets/www/plugins/cn.jpush.phonegap.JPushPlugin/www
|
[Project]/assets/www/plugins/cn.jpush.phonegap.JPushPlugin/www
|
||||||
|
|
||||||
iOS:
|
### iOS
|
||||||
|
|
||||||
[Project]/www/plugins/cn.jpush.phonegap.JPushPlugin/www
|
[Project]/www/plugins/cn.jpush.phonegap.JPushPlugin/www
|
||||||
|
|
||||||
### 具体的 API 请参考:
|
### 具体的 API 请参考:
|
||||||
|
|
||||||
- [公共 API](https://github.com/jpush/jpush-phonegap-plugin/blob/dev/API/Common_detail_api.md)
|
- [公共 API](/doc/Common_detail_api.md)。
|
||||||
|
|
||||||
- [iOS API](https://github.com/jpush/jpush-phonegap-plugin/blob/dev/API/iOS%20API.md)
|
- [iOS API](/doc/iOS_API.md)。
|
||||||
|
|
||||||
- [Android API](https://github.com/jpush/jpush-phonegap-plugin/blob/dev/API/Android_detail_api.md)
|
- [Android API](/doc/Android_detail_api.md)。
|
||||||
|
|
||||||
|
|
||||||
## 常见问题
|
## 常见问题
|
||||||
|
|
||||||
若要使用 CLI 来编译项目,注意使用 cordova compile 而不是 cordova build,因为 cordova build 会清除对插件文件的修改。
|
若要使用 CLI 来编译项目,注意应使用 cordova compile 而不是 cordova build 命令,因为 cordova build 会清除对插件文件的修改。
|
||||||
具体 cordova CLI 用法可参考[cordova CLI 官方文档](https://cordova.apache.org/docs/en/latest/reference/cordova-cli/index.html)。
|
Cordova CLI 的具体用法可参考 [Cordova CLI 官方文档](https://cordova.apache.org/docs/en/latest/reference/cordova-cli/index.html)。
|
||||||
|
|
||||||
### 1. Android
|
### 1. Android
|
||||||
|
|
||||||
eclipse 中 import PhoneGap 工程之后出现:`Type CallbackContext cannot be resolved to a type`。
|
Eclipse 中 import PhoneGap 工程之后出现:*Type CallbackContext cannot be resolved to a type*。
|
||||||
|
|
||||||
解决方案:eclipse 中右键单击工程名,Build Path -> Config Build Path -> Projects -> 选中工程名称 -> CordovaLib -> 点击 add。
|
解决方案:Eclipse 中右键单击工程名,Build Path -> Config Build Path -> Projects -> 选中工程名称 -> CordovaLib -> 点击 add。
|
||||||
|
|
||||||
### 2. iOS
|
### 2. iOS
|
||||||
|
|
||||||
- 设置 / 修改 APP_KEY:
|
- 收不到推送:
|
||||||
|
请首先按照正确方式再次配置证书、描述文件,具体可参考 [iOS 证书设置指南](http://docs.jpush.io/client/ios_tutorials/#ios_1)。
|
||||||
|
|
||||||
在 PushConfig.plist 中修改。
|
- 设置 PushConfig.plist:
|
||||||
PushConfig.plist 中其他值说明:
|
- APP_KEY:应用标识。
|
||||||
|
- CHANNEL:渠道标识。
|
||||||
|
- IsProduction:是否生产环境。
|
||||||
|
- IsIDFA:是否使用 IDFA 启动 SDK。
|
||||||
|
|
||||||
- CHANNEL: 渠道标识。
|
|
||||||
- IsProduction: 是否生产环境(暂未启用)。
|
|
||||||
|
|
||||||
|
|
||||||
- 收不到推送:
|
|
||||||
|
|
||||||
请首先按照正确方式再次配置证书、描述文件
|
|
||||||
[iOS 证书设置指南](http://docs.jpush.io/client/ios_tutorials/#ios_1)。
|
|
||||||
|
|
||||||
|
|
||||||
## 更多
|
## 更多
|
||||||
[JPush 官网文档](http://docs.jpush.io/)
|
[JPush 官网文档](http://docs.jpush.io/)。
|
||||||
|
|
||||||
如有问题可访问[极光社区](http://community.jpush.cn/)
|
如有问题可访问[极光社区](http://community.jpush.cn/)。
|
||||||
|
|||||||
@@ -12,7 +12,7 @@
|
|||||||
- [通知栏样式定制](#通知栏样式定制)
|
- [通知栏样式定制](#通知栏样式定制)
|
||||||
- [设置保留最近通知条数](#设置保留最近通知条数)
|
- [设置保留最近通知条数](#设置保留最近通知条数)
|
||||||
- [本地通知](#本地通知)
|
- [本地通知](#本地通知)
|
||||||
|
- [富媒体页面 JavaScript 回调 API](#富媒体页面-javascript-回调-api)
|
||||||
|
|
||||||
## 接收通知时获得通知的内容
|
## 接收通知时获得通知的内容
|
||||||
|
|
||||||
@@ -261,3 +261,64 @@ JPush SDK 提供了 2 个用于定制通知栏样式的构建类:
|
|||||||
- notificaitonID: 设置本地通知的 ID。
|
- notificaitonID: 设置本地通知的 ID。
|
||||||
- broadcastTime: 设置本地通知触发时间,为距离当前时间的数值,单位是毫秒。
|
- broadcastTime: 设置本地通知触发时间,为距离当前时间的数值,单位是毫秒。
|
||||||
- extras: 设置额外的数据信息 extras 为 json 字符串。
|
- extras: 设置额外的数据信息 extras 为 json 字符串。
|
||||||
|
|
||||||
|
|
||||||
|
## 富媒体页面 JavaScript 回调 API
|
||||||
|
富媒体推送通知时,用户可以用自定义的Javascript 函数来控制页面,如关闭当前页面,点击按钮跳转到指定的 Activity,通知应用程序做一些指定的动作等。
|
||||||
|
|
||||||
|
此 API 提供的回调函数包括:关闭当前页面、打开应用的主 Activity、根据 Activity 名字打开对应的 Activity、以广播的形式传递页面参数到应用程序等功能。
|
||||||
|
|
||||||
|
### API - 关闭当前页面
|
||||||
|
|
||||||
|
JPushWeb.close(); // 在富文本 HTML 页面中调用后会关闭当前页面。
|
||||||
|
|
||||||
|
### API - 打开主 Activity
|
||||||
|
|
||||||
|
JPushWeb.startMainActivity(String params);
|
||||||
|
|
||||||
|
在HTML中调用此函数后,会打开程序的主Activity, 并在对应的 Intent 传入参数 ”params“ ,Key 为 JPushInterface.EXTRA_EXTRA。
|
||||||
|
|
||||||
|
对应 Activity 获取 params 示例代码:
|
||||||
|
|
||||||
|
Intent intent = getIntent();
|
||||||
|
if (null != intent ) {
|
||||||
|
String params = intent.getStringExtra(JPushInterface.EXTRA_EXTRA);
|
||||||
|
}
|
||||||
|
|
||||||
|
### API - 触发应用中的操作
|
||||||
|
|
||||||
|
JPushWeb.triggerNativeAction(String params);
|
||||||
|
|
||||||
|
调用了该方法后需要在 MyReceiver.java 中实现后面的业务逻辑:
|
||||||
|
|
||||||
|
if (JPushInterface.ACTION_RICHPUSH_CALLBACK.equals(intent.getAction())) {
|
||||||
|
Log.d(TAG, "用户收到到RICH PUSH CALLBACK: " + bundle.getString(JPushInterface.EXTRA_EXTRA));
|
||||||
|
//在这里根据 JPushInterface.EXTRA_EXTRA 的内容触发客户端动作,比如打开新的Activity 、打开一个网页等。
|
||||||
|
}
|
||||||
|
|
||||||
|
#### 代码示例
|
||||||
|
|
||||||
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<title>JPush Webview Test</title>
|
||||||
|
<script>
|
||||||
|
function clickButton() {
|
||||||
|
JPushWeb.close();
|
||||||
|
}
|
||||||
|
|
||||||
|
function openUrl() {
|
||||||
|
var json = "{'action':'open', 'url':'www.jpush.cn'}";
|
||||||
|
JPushWeb.triggerNativeAction(json);
|
||||||
|
JPushWeb.close(); //客服端在广播中收到json 后,可以打开对应的URL。
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<button onclick="javascript:clickButton(this);return false;">Close</button>
|
||||||
|
<button onclick="javascript:JPushWeb.startMainActivity('test - startMainActivity');return false;">StartMainActivity</button>
|
||||||
|
<button onclick="javascript:JPushWeb.triggerNativeAction('test - triggerNativeAction');Javascript:JPushWeb.close();">triggerNativeAction and Close current webwiew</button>
|
||||||
|
<button onclick="javascript:JPushWeb.startActivityByName('com.example.jpushdemo.TestActivity','test - startActivityByName');">startActivityByName</button>
|
||||||
|
<button onclick="javascript:openUrl();">open a url</button>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
35
doc/iOS_install.md
Normal file
35
doc/iOS_install.md
Normal file
@@ -0,0 +1,35 @@
|
|||||||
|
## iOS 手动安装
|
||||||
|
|
||||||
|
- 下载 JPush PhoneGap Plugin 插件,并解压
|
||||||
|
|
||||||
|
- 将 [/src/ios](/src/ios) 文件夹及内容在 xcode 中拖到你的工程里,并配置 [/src/ios/PushConfig.plist](/src/ios/PushConfig.plist) 中相应参数:
|
||||||
|
|
||||||
|
APP_KEY: 应用标识
|
||||||
|
CHANNEL: 渠道标识
|
||||||
|
IsProduction:是否生产环境
|
||||||
|
IsIDFA: 是否使用 IDFA 启动 sdk
|
||||||
|
|
||||||
|
- 打开 xcode,点击工程目录中顶部的 工程,选择(Target -> Build Phases -> Link Binary With Libraries),添加以下框架:
|
||||||
|
|
||||||
|
CFNetwork.framework
|
||||||
|
CoreFoundation.framework
|
||||||
|
CoreTelephony.framework
|
||||||
|
SystemConfiguration.framework
|
||||||
|
CoreGraphics.framework
|
||||||
|
Foundation.framework
|
||||||
|
UIKit.framework
|
||||||
|
AdSupport.framework
|
||||||
|
libz.tbd(若存在 libz.dylib 则替换为 libz.tbd)
|
||||||
|
|
||||||
|
- 修改 phonegap config.xml 文件以添加 JPushPlugin 插件
|
||||||
|
|
||||||
|
<feature name="JPushPlugin">
|
||||||
|
<param name="ios-package" value="JPushPlugin" />
|
||||||
|
<param name="onload" value="true" />
|
||||||
|
</feature>
|
||||||
|
|
||||||
|
- 将 [/www/JPushPlugin.js](/www/JPushPlugin.js) 在 xcode 中拖到工程的 www 目录下面
|
||||||
|
|
||||||
|
- 在需要使用插件处加入以下代码,并根据 [iOS API](/doc/iOS_API.md) 文档说明调用相应接口
|
||||||
|
|
||||||
|
<script type="text/javascript" src="JPushPlugin.js"></script>
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "jpush-phonegap-plugin",
|
"name": "jpush-phonegap-plugin",
|
||||||
"version": "2.1.6",
|
"version": "2.2.0",
|
||||||
"description": "JPush for cordova plugin",
|
"description": "JPush for cordova plugin",
|
||||||
"cordova": {
|
"cordova": {
|
||||||
"id": "cn.jpush.phonegap.JPushPlugin",
|
"id": "cn.jpush.phonegap.JPushPlugin",
|
||||||
@@ -16,6 +16,7 @@
|
|||||||
"keywords": [
|
"keywords": [
|
||||||
"JPush",
|
"JPush",
|
||||||
"push",
|
"push",
|
||||||
|
"Push",
|
||||||
"ecosystem:cordova",
|
"ecosystem:cordova",
|
||||||
"cordova-ios",
|
"cordova-ios",
|
||||||
"cordova-android"
|
"cordova-android"
|
||||||
@@ -26,6 +27,9 @@
|
|||||||
"version": ">=3.0"
|
"version": ">=3.0"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
"peerDependencies": {
|
||||||
|
"cordova-plugin-device": ">=1.0.0"
|
||||||
|
},
|
||||||
"author": "jpush",
|
"author": "jpush",
|
||||||
"license": "Apache 2.0 License",
|
"license": "Apache 2.0 License",
|
||||||
"bugs": {
|
"bugs": {
|
||||||
|
|||||||
36
plugin.xml
36
plugin.xml
@@ -2,7 +2,7 @@
|
|||||||
<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="cn.jpush.phonegap.JPushPlugin"
|
id="cn.jpush.phonegap.JPushPlugin"
|
||||||
version="2.1.6">
|
version="2.2.0">
|
||||||
|
|
||||||
<name>JPush Plugin</name>
|
<name>JPush Plugin</name>
|
||||||
<description>JPush for cordova plugin</description>
|
<description>JPush for cordova plugin</description>
|
||||||
@@ -31,7 +31,7 @@
|
|||||||
<source-file src="src/ios/Plugins/JPushPlugin.m"/>
|
<source-file src="src/ios/Plugins/JPushPlugin.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-2.1.0.a" framework="true" />
|
<source-file src="src/ios/lib/jpush-ios-2.1.7.a" framework="true" />
|
||||||
<header-file src="src/ios/Plugins/AppDelegate+JPush.h"/>
|
<header-file src="src/ios/Plugins/AppDelegate+JPush.h"/>
|
||||||
<source-file src="src/ios/Plugins/AppDelegate+JPush.m"/>
|
<source-file src="src/ios/Plugins/AppDelegate+JPush.m"/>
|
||||||
<resource-file src="src/ios/PushConfig.plist" />
|
<resource-file src="src/ios/PushConfig.plist" />
|
||||||
@@ -43,7 +43,8 @@
|
|||||||
<framework src="Foundation.framework" weak="true" />
|
<framework src="Foundation.framework" weak="true" />
|
||||||
<framework src="UIKit.framework" weak="true" />
|
<framework src="UIKit.framework" weak="true" />
|
||||||
<framework src="Security.framework" weak="true" />
|
<framework src="Security.framework" weak="true" />
|
||||||
<framework src="libz.dylib" weak="true" />
|
<framework src="libz.tbd" weak="true" />
|
||||||
|
<framework src="AdSupport.framework" weak="true" />
|
||||||
|
|
||||||
<config-file target="*PushConfig.plist" parent="APP_KEY">
|
<config-file target="*PushConfig.plist" parent="APP_KEY">
|
||||||
<string>$API_KEY</string>
|
<string>$API_KEY</string>
|
||||||
@@ -94,6 +95,13 @@
|
|||||||
</intent-filter>
|
</intent-filter>
|
||||||
</activity>
|
</activity>
|
||||||
|
|
||||||
|
<!-- Rich push 核心功能 since 2.0.6-->
|
||||||
|
<activity
|
||||||
|
android:name="cn.jpush.android.ui.PopWinActivity"
|
||||||
|
android:theme="@style/MyDialogStyle"
|
||||||
|
android:exported="false">
|
||||||
|
</activity>
|
||||||
|
|
||||||
<!-- Required SDK核心功能-->
|
<!-- Required SDK核心功能-->
|
||||||
<service
|
<service
|
||||||
android:name="cn.jpush.android.service.DownloadService"
|
android:name="cn.jpush.android.service.DownloadService"
|
||||||
@@ -165,16 +173,26 @@
|
|||||||
<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="$API_KEY"/>
|
||||||
</config-file>
|
</config-file>
|
||||||
<source-file src="src/android/jpush-android-2.1.3.jar" target-dir="libs"/>
|
|
||||||
<source-file src="src/android/armeabi/libjpush213.so" target-dir="libs/armeabi"/>
|
<source-file src="src/android/jpush-android-2.1.5.jar" target-dir="libs"/>
|
||||||
<source-file src="src/android/armeabi-v7a/libjpush213.so" target-dir="libs/armeabi-v7a"/>
|
<source-file src="src/android/armeabi/libjpush215.so" target-dir="libs/armeabi"/>
|
||||||
<source-file src="src/android/arm64-v8a/libjpush213.so" target-dir="libs/arm64-v8a"/>
|
<source-file src="src/android/armeabi-v7a/libjpush215.so" target-dir="libs/armeabi-v7a"/>
|
||||||
<source-file src="src/android/x86/libjpush213.so" target-dir="libs/x86"/>
|
<source-file src="src/android/arm64-v8a/libjpush215.so" target-dir="libs/arm64-v8a"/>
|
||||||
<source-file src="src/android/x86_64/libjpush213.so" target-dir="libs/x86_64"/>
|
<source-file src="src/android/x86/libjpush215.so" target-dir="libs/x86"/>
|
||||||
|
<source-file src="src/android/x86_64/libjpush215.so" target-dir="libs/x86_64"/>
|
||||||
|
|
||||||
<!--<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"/>-->
|
||||||
<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/test_notification_layout.xml" target-dir="res/layout"/>
|
<source-file src="src/android/test_notification_layout.xml" target-dir="res/layout"/>
|
||||||
<source-file src="src/android/jpush_notification_icon.png" target-dir="res/drawable"/>
|
<source-file src="src/android/jpush_notification_icon.png" target-dir="res/drawable"/>
|
||||||
|
|
||||||
|
<!-- Rich Push resources -->
|
||||||
|
<source-file src="src/android/ic_richpush_actionbar_back.png" target-dir="res/drawable" />
|
||||||
|
<source-file src="src/android/ic_richpush_actionbar_divider.png" target-dir="res/drawable" />
|
||||||
|
<source-file src="src/android/richpush_btn_selector.xml" target-dir="res/drawable" />
|
||||||
|
<source-file src="src/android/jpush_popwin_layout.xml" target-dir="res/layout" />
|
||||||
|
<source-file src="src/android/jpush_webview_layout.xml" target-dir="res/layout" />
|
||||||
|
<source-file src="src/android/jpush_style.xml" target-dir="res/values" />
|
||||||
|
|
||||||
</platform>
|
</platform>
|
||||||
</plugin>
|
</plugin>
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ module.exports = function (context) {
|
|||||||
fs = context.requireCordovaModule('fs'),
|
fs = context.requireCordovaModule('fs'),
|
||||||
shell = context.requireCordovaModule('shelljs'),
|
shell = context.requireCordovaModule('shelljs'),
|
||||||
projectRoot = context.opts.projectRoot,
|
projectRoot = context.opts.projectRoot,
|
||||||
ConfigParser = context.requireCordovaModule('cordova-lib/src/configparser/ConfigParser'),
|
ConfigParser = context.requireCordovaModule('cordova-common/src/configparser/ConfigParser'),
|
||||||
config = new ConfigParser(path.join(context.opts.projectRoot, "config.xml")),
|
config = new ConfigParser(path.join(context.opts.projectRoot, "config.xml")),
|
||||||
packageName = config.android_packageName() || config.packageName();
|
packageName = config.android_packageName() || config.packageName();
|
||||||
|
|
||||||
|
|||||||
@@ -30,6 +30,10 @@ public class MyReceiver extends BroadcastReceiver {
|
|||||||
handlingNotificationReceive(context, intent);
|
handlingNotificationReceive(context, intent);
|
||||||
} else if (JPushInterface.ACTION_NOTIFICATION_OPENED.equals(action)) {
|
} else if (JPushInterface.ACTION_NOTIFICATION_OPENED.equals(action)) {
|
||||||
handlingNotificationOpen(context, intent);
|
handlingNotificationOpen(context, intent);
|
||||||
|
} else if (JPushInterface.ACTION_RICHPUSH_CALLBACK.equals(action)) {
|
||||||
|
// 当在 HTML 页面中调用 JPushWeb.triggerNativeAction(String params) 方法时触发此方法,
|
||||||
|
// 再进行相关的操作。
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
Log.d(TAG, "Unhandled intent - " + action);
|
Log.d(TAG, "Unhandled intent - " + action);
|
||||||
}
|
}
|
||||||
|
|||||||
Binary file not shown.
BIN
src/android/arm64-v8a/libjpush215.so
Normal file
BIN
src/android/arm64-v8a/libjpush215.so
Normal file
Binary file not shown.
Binary file not shown.
BIN
src/android/armeabi-v7a/libjpush215.so
Normal file
BIN
src/android/armeabi-v7a/libjpush215.so
Normal file
Binary file not shown.
Binary file not shown.
BIN
src/android/armeabi/libjpush215.so
Normal file
BIN
src/android/armeabi/libjpush215.so
Normal file
Binary file not shown.
BIN
src/android/ic_richpush_actionbar_back.png
Normal file
BIN
src/android/ic_richpush_actionbar_back.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 695 B |
BIN
src/android/ic_richpush_actionbar_divider.png
Normal file
BIN
src/android/ic_richpush_actionbar_divider.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 181 B |
Binary file not shown.
BIN
src/android/jpush-android-2.1.5.jar
Normal file
BIN
src/android/jpush-android-2.1.5.jar
Normal file
Binary file not shown.
15
src/android/jpush_popwin_layout.xml
Normal file
15
src/android/jpush_popwin_layout.xml
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<LinearLayout
|
||||||
|
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:id="@+id/popLayoutId"
|
||||||
|
style="@style/MyDialogStyle"
|
||||||
|
android:orientation="vertical"
|
||||||
|
android:layout_width="280dp"
|
||||||
|
android:layout_height="250dp" >
|
||||||
|
|
||||||
|
<WebView
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
android:id="@+id/wvPopwin"/>
|
||||||
|
|
||||||
|
</LinearLayout>
|
||||||
13
src/android/jpush_style.xml
Normal file
13
src/android/jpush_style.xml
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<resources xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
|
<style name="MyDialogStyle">
|
||||||
|
<item name="android:windowBackground">@android:color/transparent</item>
|
||||||
|
<item name="android:windowFrame">@null</item>
|
||||||
|
<item name="android:windowNoTitle">true</item>
|
||||||
|
<item name="android:windowIsFloating">true</item>
|
||||||
|
<item name="android:windowIsTranslucent">true</item>
|
||||||
|
<item name="android:windowContentOverlay">@null</item>
|
||||||
|
<item name="android:windowAnimationStyle">@android:style/Animation.Dialog</item>
|
||||||
|
<item name="android:backgroundDimEnabled">true</item>
|
||||||
|
</style>
|
||||||
|
</resources>
|
||||||
51
src/android/jpush_webview_layout.xml
Normal file
51
src/android/jpush_webview_layout.xml
Normal file
@@ -0,0 +1,51 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<cn.jpush.android.ui.FullScreenView xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:id="@+id/actionbarLayoutId"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
android:orientation="vertical" >
|
||||||
|
|
||||||
|
<RelativeLayout
|
||||||
|
android:id="@+id/rlRichpushTitleBar"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="40.0dp"
|
||||||
|
android:background="#29313a">
|
||||||
|
|
||||||
|
<ImageButton
|
||||||
|
android:id="@+id/imgRichpushBtnBack"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_centerVertical="true"
|
||||||
|
android:layout_marginLeft="9dp"
|
||||||
|
android:layout_marginRight="10dp"
|
||||||
|
android:background="@drawable/richpush_btn_selector" />
|
||||||
|
|
||||||
|
<ImageView
|
||||||
|
android:id="@+id/imgView"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_centerVertical="true"
|
||||||
|
android:layout_toRightOf="@id/imgRichpushBtnBack"
|
||||||
|
android:clickable="false"
|
||||||
|
android:src="@drawable/ic_richpush_actionbar_divider" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/tvRichpushTitle"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_centerVertical="true"
|
||||||
|
android:layout_marginLeft="7dp"
|
||||||
|
android:layout_toRightOf="@id/imgView"
|
||||||
|
android:clickable="false"
|
||||||
|
android:text=" "
|
||||||
|
android:textSize="20sp"
|
||||||
|
android:textColor="#ffffff" />
|
||||||
|
</RelativeLayout>
|
||||||
|
|
||||||
|
<WebView
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
android:id="@+id/fullWebView"
|
||||||
|
android:background="#000000" />
|
||||||
|
|
||||||
|
</cn.jpush.android.ui.FullScreenView>
|
||||||
21
src/android/richpush_btn_selector.xml
Normal file
21
src/android/richpush_btn_selector.xml
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
|
||||||
|
<!-- 获得焦点但未按下时的背景图片 -->
|
||||||
|
<item
|
||||||
|
android:state_focused="true"
|
||||||
|
android:state_enabled="true"
|
||||||
|
android:state_pressed="false"
|
||||||
|
android:drawable="@drawable/ic_richpush_actionbar_back" />
|
||||||
|
<!-- 按下时的背景图片 -->
|
||||||
|
<item
|
||||||
|
android:state_enabled="true"
|
||||||
|
android:state_pressed="true"
|
||||||
|
android:drawable="@android:color/darker_gray" />
|
||||||
|
<!-- 按下时的背景图片 -->
|
||||||
|
<item
|
||||||
|
android:state_enabled="true"
|
||||||
|
android:state_checked="true"
|
||||||
|
android:drawable="@android:color/darker_gray" />
|
||||||
|
<!-- 默认时的背景图片 -->
|
||||||
|
<item android:drawable="@drawable/ic_richpush_actionbar_back" />
|
||||||
|
</selector>
|
||||||
Binary file not shown.
BIN
src/android/x86/libjpush215.so
Normal file
BIN
src/android/x86/libjpush215.so
Normal file
Binary file not shown.
Binary file not shown.
BIN
src/android/x86_64/libjpush215.so
Normal file
BIN
src/android/x86_64/libjpush215.so
Normal file
Binary file not shown.
@@ -9,12 +9,14 @@
|
|||||||
#import "JPushPlugin.h"
|
#import "JPushPlugin.h"
|
||||||
#import "JPUSHService.h"
|
#import "JPUSHService.h"
|
||||||
#import <UIKit/UIKit.h>
|
#import <UIKit/UIKit.h>
|
||||||
|
#import <AdSupport/AdSupport.h>
|
||||||
|
|
||||||
static NSString *const JM_APP_KEY = @"APP_KEY";
|
static NSString *const JP_APP_KEY = @"APP_KEY";
|
||||||
static NSString *const JM_APP_CHANNEL = @"CHANNEL";
|
static NSString *const JP_APP_CHANNEL = @"CHANNEL";
|
||||||
static NSString *const JM_APP_ISPRODUCTION = @"IsProduction";
|
static NSString *const JP_APP_ISPRODUCTION = @"IsProduction";
|
||||||
|
static NSString *const JP_APP_ISIDFA = @"IsIDFA";
|
||||||
static NSString *const JPushConfigFileName = @"PushConfig";
|
static NSString *const JPushConfigFileName = @"PushConfig";
|
||||||
static NSDictionary *_luanchOptions = nil;
|
static NSDictionary *_launchOptions = nil;
|
||||||
|
|
||||||
@implementation JPushPlugin
|
@implementation JPushPlugin
|
||||||
|
|
||||||
@@ -90,8 +92,8 @@ static NSDictionary *_luanchOptions = nil;
|
|||||||
name:kJPushPluginReceiveNotification
|
name:kJPushPluginReceiveNotification
|
||||||
object:nil];
|
object:nil];
|
||||||
|
|
||||||
if (_luanchOptions) {
|
if (_launchOptions) {
|
||||||
NSDictionary *userInfo = [_luanchOptions
|
NSDictionary *userInfo = [_launchOptions
|
||||||
valueForKey:UIApplicationLaunchOptionsRemoteNotificationKey];
|
valueForKey:UIApplicationLaunchOptionsRemoteNotificationKey];
|
||||||
if ([userInfo count] >0) {
|
if ([userInfo count] >0) {
|
||||||
NSError *error;
|
NSError *error;
|
||||||
@@ -259,7 +261,7 @@ static NSDictionary *_luanchOptions = nil;
|
|||||||
|
|
||||||
#pragma mark- 内部方法
|
#pragma mark- 内部方法
|
||||||
+(void)setLaunchOptions:(NSDictionary *)theLaunchOptions{
|
+(void)setLaunchOptions:(NSDictionary *)theLaunchOptions{
|
||||||
_luanchOptions = theLaunchOptions;
|
_launchOptions = theLaunchOptions;
|
||||||
|
|
||||||
[JPUSHService setDebugMode];
|
[JPUSHService setDebugMode];
|
||||||
|
|
||||||
@@ -273,17 +275,26 @@ static NSDictionary *_luanchOptions = nil;
|
|||||||
}
|
}
|
||||||
|
|
||||||
NSMutableDictionary *plistData = [[NSMutableDictionary alloc] initWithContentsOfFile:plistPath];
|
NSMutableDictionary *plistData = [[NSMutableDictionary alloc] initWithContentsOfFile:plistPath];
|
||||||
NSString * appkey = [plistData valueForKey:JM_APP_KEY];
|
NSString * appkey = [plistData valueForKey:JP_APP_KEY];
|
||||||
NSString * channel = [plistData valueForKey:JM_APP_CHANNEL];
|
NSString * channel = [plistData valueForKey:JP_APP_CHANNEL];
|
||||||
NSNumber * isProduction = [plistData valueForKey:JM_APP_ISPRODUCTION];
|
NSNumber * isProduction = [plistData valueForKey:JP_APP_ISPRODUCTION];
|
||||||
|
NSNumber *isIDFA = [plistData valueForKey:JP_APP_ISIDFA];
|
||||||
|
|
||||||
if (!appkey || appkey.length == 0) {
|
if (!appkey || appkey.length == 0) {
|
||||||
NSLog(@"error: app key not found in PushConfig.plist ");
|
NSLog(@"error: app key not found in PushConfig.plist ");
|
||||||
assert(0);
|
assert(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
[JPUSHService setupWithOption:_luanchOptions appKey:appkey
|
NSString *advertisingId = nil;
|
||||||
channel:channel apsForProduction:[isProduction boolValue] ];
|
if(isIDFA){
|
||||||
|
advertisingId = [[[ASIdentifierManager sharedManager] advertisingIdentifier] UUIDString];
|
||||||
|
}
|
||||||
|
[JPUSHService setupWithOption:_launchOptions
|
||||||
|
appKey:appkey
|
||||||
|
channel:channel
|
||||||
|
apsForProduction:[isProduction boolValue]
|
||||||
|
advertisingIdentifier:advertisingId];
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#pragma mark 将参数返回给js
|
#pragma mark 将参数返回给js
|
||||||
|
|||||||
@@ -8,5 +8,7 @@
|
|||||||
<string>Subscription</string>
|
<string>Subscription</string>
|
||||||
<key>IsProduction</key>
|
<key>IsProduction</key>
|
||||||
<false/>
|
<false/>
|
||||||
|
<key>IsIDFA</key>
|
||||||
|
<false/>
|
||||||
</dict>
|
</dict>
|
||||||
</plist>
|
</plist>
|
||||||
|
|||||||
@@ -9,7 +9,7 @@
|
|||||||
* Copyright (c) 2011 ~ 2015 Shenzhen HXHG. All rights reserved.
|
* Copyright (c) 2011 ~ 2015 Shenzhen HXHG. All rights reserved.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#define JPUSH_VERSION_NUMBER 2.1.0
|
#define JPUSH_VERSION_NUMBER 2.1.7
|
||||||
|
|
||||||
#import <Foundation/Foundation.h>
|
#import <Foundation/Foundation.h>
|
||||||
|
|
||||||
@@ -51,6 +51,7 @@ extern NSString *const kJPFServiceErrorNotification; // 错误提示
|
|||||||
* @param appKey 一个JPush 应用必须的,唯一的标识. 请参考 JPush 相关说明文档来获取这个标识.
|
* @param appKey 一个JPush 应用必须的,唯一的标识. 请参考 JPush 相关说明文档来获取这个标识.
|
||||||
* @param channel 发布渠道. 可选.
|
* @param channel 发布渠道. 可选.
|
||||||
* @param isProduction 是否生产环境. 如果为开发状态,设置为 NO; 如果为生产状态,应改为 YES.
|
* @param isProduction 是否生产环境. 如果为开发状态,设置为 NO; 如果为生产状态,应改为 YES.
|
||||||
|
* @param advertisingIdentifier 广告标识符(IDFA) 如果不需要使用IDFA,传nil.
|
||||||
*
|
*
|
||||||
* @discussion 提供SDK启动必须的参数, 来启动 SDK.
|
* @discussion 提供SDK启动必须的参数, 来启动 SDK.
|
||||||
* 此接口必须在 App 启动时调用, 否则 JPush SDK 将无法正常工作.
|
* 此接口必须在 App 启动时调用, 否则 JPush SDK 将无法正常工作.
|
||||||
@@ -61,6 +62,13 @@ extern NSString *const kJPFServiceErrorNotification; // 错误提示
|
|||||||
apsForProduction:(BOOL)isProduction;
|
apsForProduction:(BOOL)isProduction;
|
||||||
|
|
||||||
|
|
||||||
|
+ (void)setupWithOption:(NSDictionary *)launchingOption
|
||||||
|
appKey:(NSString *)appKey
|
||||||
|
channel:(NSString *)channel
|
||||||
|
apsForProduction:(BOOL)isProduction
|
||||||
|
advertisingIdentifier:(NSString *)advertisingId;
|
||||||
|
|
||||||
|
|
||||||
///----------------------------------------------------
|
///----------------------------------------------------
|
||||||
/// @name APNs about 通知相关
|
/// @name APNs about 通知相关
|
||||||
///----------------------------------------------------
|
///----------------------------------------------------
|
||||||
@@ -78,6 +86,7 @@ extern NSString *const kJPFServiceErrorNotification; // 错误提示
|
|||||||
|
|
||||||
+ (void)registerDeviceToken:(NSData *)deviceToken;
|
+ (void)registerDeviceToken:(NSData *)deviceToken;
|
||||||
|
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
* @abstract 处理收到的 APNs 消息
|
* @abstract 处理收到的 APNs 消息
|
||||||
*/
|
*/
|
||||||
@@ -97,7 +106,7 @@ extern NSString *const kJPFServiceErrorNotification; // 错误提示
|
|||||||
+ (void) setTags:(NSSet *)tags
|
+ (void) setTags:(NSSet *)tags
|
||||||
alias:(NSString *)alias
|
alias:(NSString *)alias
|
||||||
callbackSelector:(SEL)cbSelector
|
callbackSelector:(SEL)cbSelector
|
||||||
target:(id)theTarget;
|
target:(id)theTarget __attribute__((deprecated("JPush 2.1.1 版本已过期")));;
|
||||||
|
|
||||||
+ (void) setTags:(NSSet *)tags
|
+ (void) setTags:(NSSet *)tags
|
||||||
alias:(NSString *)alias
|
alias:(NSString *)alias
|
||||||
@@ -108,9 +117,9 @@ callbackSelector:(SEL)cbSelector
|
|||||||
callbackSelector:(SEL)cbSelector
|
callbackSelector:(SEL)cbSelector
|
||||||
object:(id)theTarget;
|
object:(id)theTarget;
|
||||||
|
|
||||||
+ (void) setTags:(NSSet *)tags
|
+ (void)setTags:(NSSet *)tags
|
||||||
alias:(NSString *)alias
|
alias:(NSString *)alias
|
||||||
fetchCompletionHandle:(void (^)(int iResCode, NSSet *iTags, NSString *iAlias))completionHandler;
|
fetchCompletionHandle:(void (^)(int iResCode, NSSet *iTags, NSString *iAlias))completionHandler;
|
||||||
|
|
||||||
+ (void) setTags:(NSSet *)tags
|
+ (void) setTags:(NSSet *)tags
|
||||||
aliasInbackground:(NSString *)alias;
|
aliasInbackground:(NSString *)alias;
|
||||||
|
|||||||
Binary file not shown.
Reference in New Issue
Block a user