mirror of
https://github.com/jpush/jpush-phonegap-plugin.git
synced 2026-02-08 00:05:13 +08:00
Compare commits
15 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
abb4b6432b | ||
|
|
00599ca0bc | ||
|
|
3faac1945c | ||
|
|
145b75d90a | ||
|
|
56d9417dbc | ||
|
|
6932b84f4e | ||
|
|
048c12d8dd | ||
|
|
04891c4fa1 | ||
|
|
6876a58138 | ||
|
|
86dcd351cd | ||
|
|
88fe3a4a24 | ||
|
|
b3faac2a77 | ||
|
|
4a711b3a93 | ||
|
|
fa116c665b | ||
|
|
4300730073 |
@@ -260,4 +260,37 @@ window.JPush.setBadgeNumber(badgeNumb)
|
||||
|
||||
#### 参数说明
|
||||
|
||||
- badgeNumb: 角标显示数字,小于或等0,角标显示数字清楚
|
||||
- badgeNumb: 角标显示数字,小于或等0,角标显示数字清楚
|
||||
|
||||
### API - setAuth
|
||||
|
||||
设置用户是否同意隐私协议
|
||||
|
||||
#### 接口定义
|
||||
|
||||
```js
|
||||
window.JPush.setAuth(isAuth)
|
||||
```
|
||||
|
||||
#### 参数说明
|
||||
|
||||
- isAuth: 是否同意隐私协议,true 已同意;false未同意
|
||||
|
||||
#### 调用逻辑
|
||||
|
||||
- 宿主 APP 在首次安装,冷启动
|
||||
- 用户隐私协议告知
|
||||
- 用户确认授权
|
||||
- 告知极光授权结果
|
||||
|
||||
同意隐私协议:
|
||||
|
||||
```js
|
||||
window.JPush.setAuth(true)
|
||||
```
|
||||
|
||||
不同意隐私协议:
|
||||
|
||||
```js
|
||||
window.JPush.setAuth(false)
|
||||
```
|
||||
BIN
example/css/.DS_Store
vendored
BIN
example/css/.DS_Store
vendored
Binary file not shown.
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "jpush-phonegap-plugin",
|
||||
"version": "3.8.2",
|
||||
"version": "4.8.5",
|
||||
"description": "JPush for cordova plugin",
|
||||
"cordova": {
|
||||
"id": "jpush-phonegap-plugin",
|
||||
|
||||
83
plugin.xml
83
plugin.xml
@@ -2,7 +2,7 @@
|
||||
<plugin xmlns="http://apache.org/cordova/ns/plugins/1.0"
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
id="jpush-phonegap-plugin"
|
||||
version="3.8.2">
|
||||
version="3.8.6">
|
||||
|
||||
<name>JPush</name>
|
||||
<description>JPush for cordova plugin</description>
|
||||
@@ -49,7 +49,7 @@
|
||||
<source-file src="src/ios/Plugins/AppDelegate+JPush.m" />
|
||||
|
||||
<header-file src="src/ios/lib/JPUSHService.h" />
|
||||
<source-file src="src/ios/lib/jpush-ios-3.7.4.a" framework="true" />
|
||||
<source-file src="src/ios/lib/jpush-ios-4.8.1.a" framework="true" />
|
||||
<resource-file src="src/ios/JPushConfig.plist" />
|
||||
|
||||
<framework src="CFNetwork.framework" weak="true" />
|
||||
@@ -85,31 +85,30 @@
|
||||
|
||||
<!-- Required 一些系统要求的权限,如访问网络等-->
|
||||
<uses-permission android:name="$PACKAGE_NAME.permission.JPUSH_MESSAGE" />
|
||||
<uses-permission android:name="android.permission.RECEIVE_USER_PRESENT" />
|
||||
<uses-permission android:name="android.permission.INTERNET" />
|
||||
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
|
||||
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
|
||||
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
|
||||
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />
|
||||
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
|
||||
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
|
||||
|
||||
<uses-permission android:name="android.permission.POST_NOTIFICATIONS"/>
|
||||
|
||||
|
||||
<!-- Optional for location -->
|
||||
<uses-permission android:name="android.permission.VIBRATE" />
|
||||
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" /> <!-- 用于开启 debug 版本的应用在6.0 系统上 层叠窗口权限 -->
|
||||
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
|
||||
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
|
||||
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
|
||||
<uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION" /><!-- Android Q后台定位权限-->
|
||||
<uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />
|
||||
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
|
||||
<uses-permission android:name="android.permission.GET_TASKS" />
|
||||
<uses-permission android:name="android.permission.QUERY_ALL_PACKAGES"/>
|
||||
|
||||
<!--华为角标-->
|
||||
<uses-permission android:name="com.huawei.android.launcher.permission.CHANGE_BADGE"/>
|
||||
<!-- vivo 角标 -->
|
||||
<uses-permission android:name="com.vivo.notification.permission.BADGE_ICON" />
|
||||
<!--honor 角标-->
|
||||
<uses-permission android:name="com.hihonor.android.launcher.permission.CHANGE_BADGE" />
|
||||
</config-file>
|
||||
|
||||
<config-file target="AndroidManifest.xml" parent="/manifest/application" mode="merge">
|
||||
@@ -117,9 +116,16 @@
|
||||
|
||||
<!-- Rich push 核心功能 since 2.0.6-->
|
||||
<activity
|
||||
android:name="cn.jpush.android.ui.PopWinActivity"
|
||||
android:theme="@style/MyDialogStyle"
|
||||
android:exported="false">
|
||||
android:name="cn.jpush.android.ui.PopWinActivity"
|
||||
android:exported="true"
|
||||
android:theme="@style/MyDialogStyle" >
|
||||
<intent-filter>
|
||||
<category android:name="android.intent.category.DEFAULT" />
|
||||
|
||||
<action android:name="cn.jpush.android.ui.PopWinActivity" />
|
||||
|
||||
<category android:name="$PACKAGE_NAME" />
|
||||
</intent-filter>
|
||||
</activity>
|
||||
|
||||
<!-- Required SDK核心功能-->
|
||||
@@ -127,7 +133,7 @@
|
||||
android:name="cn.jpush.android.ui.PushActivity"
|
||||
android:configChanges="orientation|keyboardHidden"
|
||||
android:theme="@android:style/Theme.NoTitleBar"
|
||||
android:exported="false">
|
||||
android:exported="true">
|
||||
<intent-filter>
|
||||
<action android:name="cn.jpush.android.ui.PushActivity" />
|
||||
<category android:name="android.intent.category.DEFAULT" />
|
||||
@@ -140,7 +146,8 @@
|
||||
<service
|
||||
android:name="cn.jpush.android.service.PushService"
|
||||
android:process=":pushcore"
|
||||
android:exported="false">
|
||||
android:enabled="true"
|
||||
android:exported="false">
|
||||
<intent-filter>
|
||||
<action android:name="cn.jpush.android.intent.REGISTER" />
|
||||
<action android:name="cn.jpush.android.intent.REPORT" />
|
||||
@@ -187,7 +194,7 @@
|
||||
<category android:name="$PACKAGE_NAME" />
|
||||
</intent-filter>
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.USER_PRESENT" />
|
||||
|
||||
<action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
|
||||
</intent-filter>
|
||||
<!-- Optional -->
|
||||
@@ -215,18 +222,33 @@
|
||||
</receiver>
|
||||
|
||||
<!--since 3.3.0 Required SDK核心功能-->
|
||||
|
||||
<activity
|
||||
android:name="cn.jpush.android.service.JNotifyActivity"
|
||||
android:exported="true"
|
||||
android:taskAffinity="jpush.custom"
|
||||
android:theme="@android:style/Theme.Translucent.NoTitleBar">
|
||||
<intent-filter>
|
||||
<action android:name="cn.jpush.android.intent.JNotifyActivity" />
|
||||
<category android:name="android.intent.category.DEFAULT" /><!--Required SDK核心功能 since 4.2.2-->
|
||||
<category android:name="$PACKAGE_NAME" />
|
||||
</intent-filter>
|
||||
</activity>
|
||||
|
||||
<!-- since 3.3.0 Required SDK核心功能 -->
|
||||
<activity
|
||||
android:name="cn.jpush.android.service.JNotifyActivity"
|
||||
android:exported="true"
|
||||
android:taskAffinity=""
|
||||
android:theme="@style/JPushTheme" >
|
||||
<intent-filter>
|
||||
<action android:name="cn.jpush.android.intent.JNotifyActivity" />
|
||||
|
||||
<category android:name="android.intent.category.DEFAULT" />
|
||||
<category android:name="$PACKAGE_NAME" />
|
||||
</intent-filter>
|
||||
</activity>
|
||||
<!-- since 4.6.0 Required SDK核心功能 -->
|
||||
<activity
|
||||
android:name="cn.android.service.JTransitActivity"
|
||||
android:exported="true"
|
||||
android:taskAffinity=""
|
||||
android:theme="@style/JPushTheme" >
|
||||
<intent-filter>
|
||||
<action android:name="cn.android.service.JTransitActivity" />
|
||||
|
||||
<category android:name="android.intent.category.DEFAULT" />
|
||||
<category android:name="$PACKAGE_NAME" />
|
||||
</intent-filter>
|
||||
</activity>
|
||||
|
||||
<!-- since 3.3.0 Required SDK 核心功能-->
|
||||
<!-- 可配置android:process参数将PushService放在其他进程中 -->
|
||||
@@ -239,7 +261,6 @@
|
||||
</intent-filter>
|
||||
</service>
|
||||
|
||||
|
||||
<receiver
|
||||
android:name="cn.jiguang.cordova.push.JPushReceiver"
|
||||
android:enabled="true"
|
||||
@@ -261,7 +282,7 @@
|
||||
|
||||
</config-file>
|
||||
|
||||
<lib-file src="src/android/libs/jpush-android-4.2.8.jar" />
|
||||
<lib-file src="src/android/libs/jpush-android-4.8.5.jar" />
|
||||
|
||||
<source-file src="src/android/PushService.java" target-dir="src/cn/jiguang/cordova/push" />
|
||||
<source-file src="src/android/JPushPlugin.java" target-dir="src/cn/jiguang/cordova/push" />
|
||||
@@ -283,6 +304,8 @@
|
||||
target="res/drawable-hdpi/jpush_ic_action_close.png" />
|
||||
<resource-file src="src/android/res/drawable-hdpi/jpush_ic_action_close2.png"
|
||||
target="res/drawable-hdpi/jpush_ic_action_close2.png" />
|
||||
<resource-file src="src/android/res/drawable-hdpi/jpush_btn_bg_green_playable.xml"
|
||||
target="res/drawable-hdpi/jpush_btn_bg_green_playable.xml" />
|
||||
|
||||
<resource-file src="src/android/res/layout/jpush_popwin_layout.xml"
|
||||
target="res/layout/jpush_popwin_layout.xml" />
|
||||
@@ -296,6 +319,8 @@
|
||||
target="res/layout/push_notification_middle.xml" />
|
||||
<resource-file src="src/android/res/layout/jpush_inapp_banner.xml"
|
||||
target="res/layout/jpush_inapp_banner.xml" />
|
||||
<resource-file src="src/android/res/layout/push_download_notification_layout.xml"
|
||||
target="res/layout/push_download_notification_layout.xml" />
|
||||
|
||||
<resource-file src="src/android/res/layout-v21/push_notification.xml"
|
||||
target="res/layout-v21/push_notification.xml" />
|
||||
@@ -311,5 +336,7 @@
|
||||
|
||||
<resource-file src="src/android/res/values-zh/jpush_string.xml"
|
||||
target="res/values-zh/jpush_string.xml" />
|
||||
<resource-file src="src/android/res/xml/jpush_file_paths.xml"
|
||||
target="res/xml/jpush_file_paths.xml" />
|
||||
</platform>
|
||||
</plugin>
|
||||
|
||||
@@ -31,6 +31,7 @@ import cn.jpush.android.api.BasicPushNotificationBuilder;
|
||||
import cn.jpush.android.api.JPushInterface;
|
||||
import cn.jpush.android.api.TagAliasCallback;
|
||||
import cn.jpush.android.data.JPushLocalNotification;
|
||||
import cn.jiguang.api.utils.JCollectionAuth;
|
||||
|
||||
public class JPushPlugin extends CordovaPlugin {
|
||||
|
||||
@@ -247,6 +248,7 @@ public class JPushPlugin extends CordovaPlugin {
|
||||
}
|
||||
|
||||
void init(JSONArray data, CallbackContext callbackContext) {
|
||||
JPushInterface.setNotificationCallBackEnable(mContext, true);
|
||||
JPushInterface.init(mContext);
|
||||
}
|
||||
|
||||
@@ -673,6 +675,17 @@ public class JPushPlugin extends CordovaPlugin {
|
||||
JPushInterface.setMobileNumber(mContext,sequence, number);
|
||||
}
|
||||
|
||||
void setAuth(JSONArray data, CallbackContext callbackContext) {
|
||||
boolean isAuth = false;
|
||||
try {
|
||||
isAuth = data.getBoolean(0);
|
||||
JCollectionAuth.setAuth(mContext, isAuth);
|
||||
callbackContext.success();
|
||||
} catch (JSONException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
private boolean isValidHour(int hour) {
|
||||
return !(hour < 0 || hour > 23);
|
||||
}
|
||||
|
||||
Binary file not shown.
@@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:shape="rectangle"
|
||||
>
|
||||
<corners android:radius="6dp" />
|
||||
<solid android:color="#0A9789" />
|
||||
<stroke android:color="#0A9789" android:width="1dp"/>
|
||||
</shape>
|
||||
@@ -5,7 +5,7 @@
|
||||
style="@style/MyDialogStyle"
|
||||
android:orientation="vertical"
|
||||
android:layout_width="280dp"
|
||||
android:layout_height="250dp" >
|
||||
android:layout_height="380dp" >
|
||||
|
||||
<WebView
|
||||
android:layout_width="match_parent"
|
||||
|
||||
@@ -13,11 +13,13 @@
|
||||
|
||||
<ImageButton
|
||||
android:id="@+id/imgRichpushBtnBack"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_width="25dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_centerVertical="true"
|
||||
android:layout_marginLeft="9dp"
|
||||
android:layout_marginRight="10dp"
|
||||
android:layout_marginRight="9dp"
|
||||
android:layout_marginTop="8dp"
|
||||
android:layout_marginBottom="8dp"
|
||||
android:background="@drawable/jpush_richpush_btn_selector" />
|
||||
|
||||
<ImageView
|
||||
@@ -35,7 +37,7 @@
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_centerVertical="true"
|
||||
android:layout_marginLeft="7dp"
|
||||
android:layout_marginRight="5dp"
|
||||
android:layout_marginRight="48dp"
|
||||
android:layout_toRightOf="@id/imgView"
|
||||
android:clickable="false"
|
||||
android:text=" "
|
||||
@@ -50,10 +52,10 @@
|
||||
android:progress="0"
|
||||
android:progressDrawable="@drawable/jpush_richpush_progressbar"
|
||||
style="?android:attr/progressBarStyleHorizontal" />
|
||||
<WebView
|
||||
<!--<WebView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:id="@+id/fullWebView"
|
||||
android:background="#000000" />
|
||||
android:background="#000000" />-->
|
||||
|
||||
</cn.jpush.android.ui.FullScreenView>
|
||||
107
src/android/res/layout/push_download_notification_layout.xml
Normal file
107
src/android/res/layout/push_download_notification_layout.xml
Normal file
@@ -0,0 +1,107 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:id="@+id/jad_root_view"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="64dp"
|
||||
android:orientation="horizontal"
|
||||
android:padding="10dp">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/jad_icon"
|
||||
android:layout_width="44dp"
|
||||
android:layout_height="44dp"
|
||||
android:layout_gravity="center"
|
||||
android:layout_marginRight="18dp"
|
||||
android:layout_marginEnd="18dp"
|
||||
android:background="#0A9789"
|
||||
android:duplicateParentState="false"
|
||||
android:scaleType="center" />
|
||||
|
||||
<RelativeLayout
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/jad_desc"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:ellipsize="end"
|
||||
android:singleLine="true"
|
||||
android:textColor="#000000"
|
||||
android:textSize="14sp"/>
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/jad_download_success"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_below="@+id/jad_desc"
|
||||
android:orientation="horizontal"
|
||||
android:visibility="gone">
|
||||
<TextView
|
||||
android:id="@+id/download_success_size"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginRight="12dp"
|
||||
android:layout_marginEnd="12dp"
|
||||
android:ellipsize="end"
|
||||
android:gravity="start|center"
|
||||
android:singleLine="true"
|
||||
android:textColor="#000000"
|
||||
android:textSize="12sp"/>
|
||||
<TextView
|
||||
android:id="@+id/jad_download_success_status"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:ellipsize="end"
|
||||
android:gravity="start|center"
|
||||
android:singleLine="true"
|
||||
android:textColor="#000000"
|
||||
android:textSize="11sp"/>
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/jad_download_text"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_below="@+id/jad_desc"
|
||||
android:orientation="horizontal"
|
||||
android:visibility="visible">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/jad_download_size"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="3"
|
||||
android:ellipsize="end"
|
||||
android:gravity="start|center"
|
||||
android:maxLines="1"
|
||||
android:textColor="#000000"
|
||||
android:textSize="11sp"/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/jad_download_status"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="2"
|
||||
android:ellipsize="end"
|
||||
android:gravity="end|center"
|
||||
android:singleLine="true"
|
||||
android:textColor="#000000"
|
||||
android:textSize="11sp"/>
|
||||
</LinearLayout>
|
||||
</RelativeLayout>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/jad_action"
|
||||
android:layout_width="55dp"
|
||||
android:layout_height="30dp"
|
||||
android:layout_gravity="end|center"
|
||||
android:layout_marginLeft="18dp"
|
||||
android:layout_marginStart="18dp"
|
||||
android:layout_weight="0"
|
||||
android:gravity="center"
|
||||
android:background="@drawable/jpush_btn_bg_green_playable"
|
||||
android:textColor="#FFFFFF"
|
||||
android:textSize="12sp"/>
|
||||
</LinearLayout>
|
||||
@@ -10,4 +10,13 @@
|
||||
<item name="android:windowAnimationStyle">@android:style/Animation.Dialog</item>
|
||||
<item name="android:backgroundDimEnabled">true</item>
|
||||
</style>
|
||||
<style name="JPushTheme">
|
||||
<item name="android:windowNoTitle">true</item>
|
||||
<item name="android:windowActionBar">false</item>
|
||||
<item name="android:windowFullscreen">true</item>
|
||||
<item name="android:windowContentOverlay">@null</item>
|
||||
<item name="android:textAllCaps">false</item>
|
||||
<item name="android:windowIsTranslucent">true</item>
|
||||
<item name="android:windowBackground">@android:color/transparent</item>
|
||||
</style>
|
||||
</resources>
|
||||
10
src/android/res/xml/jpush_file_paths.xml
Normal file
10
src/android/res/xml/jpush_file_paths.xml
Normal file
@@ -0,0 +1,10 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<paths>
|
||||
<root-path name="jad_root_path" path="."/>
|
||||
<external-path name="jad_external_path" path="JAdDownload" />
|
||||
<external-files-path name="jad_external_files_path" path="JAdDownload" />
|
||||
<files-path name="jad_files_path" path="JAdDownload" />
|
||||
<cache-path name="jad_cache_path" path="JAdDownload" />
|
||||
</paths>
|
||||
</resources>
|
||||
184
src/ios/lib/JPUSHService.h
Executable file → Normal file
184
src/ios/lib/JPUSHService.h
Executable file → Normal file
@@ -9,7 +9,7 @@
|
||||
* Copyright (c) 2011 ~ 2017 Shenzhen HXHG. All rights reserved.
|
||||
*/
|
||||
|
||||
#define JPUSH_VERSION_NUMBER 3.7.4
|
||||
#define JPUSH_VERSION_NUMBER 4.8.1
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
|
||||
@@ -23,12 +23,12 @@
|
||||
@class UIView;
|
||||
@protocol JPUSHRegisterDelegate;
|
||||
@protocol JPUSHGeofenceDelegate;
|
||||
@protocol JPushInMessageDelegate;
|
||||
@protocol JPUSHNotiInMessageDelegate;
|
||||
|
||||
typedef void (^JPUSHTagsOperationCompletion)(NSInteger iResCode, NSSet *iTags, NSInteger seq);
|
||||
typedef void (^JPUSHTagValidOperationCompletion)(NSInteger iResCode, NSSet *iTags, NSInteger seq, BOOL isBind);
|
||||
typedef void (^JPUSHAliasOperationCompletion)(NSInteger iResCode, NSString *iAlias, NSInteger seq);
|
||||
typedef void (^JPUSHInMssageCompletion)(NSInteger iResCode);
|
||||
typedef void (^JPUSHPropertiesOperationCompletion)(NSInteger iResCode, NSDictionary *properties, NSInteger seq);
|
||||
|
||||
extern NSString *const kJPFNetworkIsConnectingNotification; // 正在连接中
|
||||
extern NSString *const kJPFNetworkDidSetupNotification; // 建立连接
|
||||
@@ -58,17 +58,6 @@ typedef NS_ENUM(NSUInteger, JPAuthorizationStatus) {
|
||||
JPAuthorizationStatusProvisional NS_AVAILABLE_IOS(12.0), // The application is authorized to post non-interruptive user notifications.
|
||||
};
|
||||
|
||||
typedef NS_ENUM(NSInteger,JPushInMessageContentType){
|
||||
JPushAdContentType = 1, //广告类型的inMessage
|
||||
JPushNotiContentType = 2, //通知类型的inMessage
|
||||
};
|
||||
|
||||
typedef NS_OPTIONS(NSUInteger, JPInMessageType) {
|
||||
JPInMessageTypeBanner = (1 << 0), // 横幅
|
||||
JPInMessageTypeModal = (1 << 1), // 模态
|
||||
JPInMessageTypeFloat = (1 << 2), // 小浮窗
|
||||
};
|
||||
|
||||
/*!
|
||||
* 通知注册实体类
|
||||
*/
|
||||
@@ -130,6 +119,11 @@ typedef NS_OPTIONS(NSUInteger, JPInMessageType) {
|
||||
@property (nonatomic, copy) NSString *summaryArgument NS_AVAILABLE_IOS(12.0); //插入到通知摘要中的部分参数。iOS12以上有效。
|
||||
@property (nonatomic, assign) NSUInteger summaryArgumentCount NS_AVAILABLE_IOS(12.0); //插入到通知摘要中的项目数。iOS12以上有效。
|
||||
@property (nonatomic, copy) NSString *targetContentIdentifier NS_AVAILABLE_IOS(13.0); // An identifier for the content of the notification used by the system to customize the scene to be activated when tapping on a notification.
|
||||
//iOS15以上的新增属性 interruptionLevel为枚举UNNotificationInterruptionLevel
|
||||
// The interruption level determines the degree of interruption associated with the notification
|
||||
@property (nonatomic, assign) NSUInteger interruptionLevel NS_AVAILABLE_IOS(15.0);
|
||||
// Relevance score determines the sorting for the notification across app notifications. The expected range is between 0.0f and 1.0f.
|
||||
@property (nonatomic, assign) double relevanceScore NS_AVAILABLE_IOS(15.0);
|
||||
|
||||
@end
|
||||
|
||||
@@ -370,6 +364,49 @@ typedef NS_OPTIONS(NSUInteger, JPInMessageType) {
|
||||
*/
|
||||
+ (NSSet *)filterValidTags:(NSSet *)tags;
|
||||
|
||||
|
||||
/*!
|
||||
* Property操作接口
|
||||
* 支持增加/删除/清空操作
|
||||
* 详情请参考文档:https://docs.jiguang.cn/jpush/client/iOS/ios_api/)
|
||||
*/
|
||||
|
||||
/**
|
||||
新增/更新用户属性
|
||||
|
||||
如果某个用户属性之前已经存在了,则会更新;不存在,则会新增
|
||||
|
||||
@param properties 需要新增或者更新的的用户属性内容,类型为NSDictionary;
|
||||
Key 为用户属性名称,类型必须是 NSString 类型;Value为用户属性值,只支持 NSString、NSNumber、NSDate类型,如果属性为BOOL类型,传值时请转成NSNumber类型
|
||||
@param completion 响应回调
|
||||
@param seq 请求序列号
|
||||
*/
|
||||
+ (void)setProperties:(NSDictionary *)properties
|
||||
completion:(JPUSHPropertiesOperationCompletion)completion
|
||||
seq:(NSInteger)seq;
|
||||
|
||||
|
||||
/**
|
||||
删除指定属性
|
||||
|
||||
@param keys 需要删除的属性名称集合
|
||||
@param completion 响应回调
|
||||
@param seq 请求序列号
|
||||
*/
|
||||
+ (void)deleteProperties:(NSSet<NSString *> *)keys
|
||||
completion:(JPUSHPropertiesOperationCompletion)completion
|
||||
seq:(NSInteger)seq;
|
||||
|
||||
|
||||
/**
|
||||
清空所有属性
|
||||
@param completion 响应回调
|
||||
@param seq 请求序列号
|
||||
*/
|
||||
+ (void)cleanProperties:(JPUSHPropertiesOperationCompletion)completion
|
||||
seq:(NSInteger)seq;
|
||||
|
||||
|
||||
///----------------------------------------------------
|
||||
/// @name Stats 统计功能
|
||||
///----------------------------------------------------
|
||||
@@ -662,94 +699,14 @@ typedef NS_OPTIONS(NSUInteger, JPInMessageType) {
|
||||
*/
|
||||
+ (void)setLocationEanable:(BOOL)isEanble;
|
||||
|
||||
/*!
|
||||
* @abstract 设置应用内消息的代理
|
||||
*
|
||||
* @discussion 遵守JPushInMessageDelegate的代理对象
|
||||
*
|
||||
*/
|
||||
+ (void)setInMessageDelegate:(id<JPushInMessageDelegate>)inMessageDelegate;
|
||||
|
||||
/*!
|
||||
* @abstract 设置应用内消息的inMessageView的父控件
|
||||
* @abstract 设置应用内提醒消息的代理
|
||||
*
|
||||
* @discussion 建议设置成当前展示的window,SDK默认取当前APP顶层的Window。
|
||||
* @discussion 遵守JPushNotiInMessageDelegate的代理对象
|
||||
*
|
||||
*/
|
||||
+ (void)setInMessageSuperView:(UIView *)view;
|
||||
|
||||
|
||||
/*!
|
||||
* @abstract 主动拉取应用内消息的接口
|
||||
*
|
||||
* @discussion 拉取结果的回调
|
||||
*
|
||||
*/
|
||||
+ (void)pullInMessageCompletion:(JPUSHInMssageCompletion)completion __attribute__((deprecated("JPush 3.7.0 版本已过期")));
|
||||
|
||||
|
||||
/*!
|
||||
* @abstract 主动拉取应用内消息的接口
|
||||
*
|
||||
* @param types 应用内消息样式
|
||||
*
|
||||
* @discussion 拉取结果的回调
|
||||
*/
|
||||
+ (void)pullInMessageWithTypes:(NSUInteger)types completion:(JPUSHInMssageCompletion)completion __attribute__((deprecated("JPush 3.7.0 版本已过期")));
|
||||
|
||||
|
||||
/*!
|
||||
* @abstract 主动拉取应用内消息的接口
|
||||
*
|
||||
* @param adPosition 广告位
|
||||
*
|
||||
* @discussion 拉取结果的回调
|
||||
*/
|
||||
+ (void)pullInMessageWithAdPosition:(NSString *)adPosition completion:(JPUSHInMssageCompletion)completion;
|
||||
|
||||
|
||||
/*!
|
||||
* @abstract 主动拉取应用内消息的接口
|
||||
*
|
||||
* @param params 拉取条件 可传参数: @"adPosition" -> 广告位 NSString, @"event" -> 事件 NSString
|
||||
*
|
||||
* @discussion 拉取结果的回调
|
||||
*/
|
||||
+ (void)pullInMessageWithParams:(NSDictionary *)params completion:(JPUSHInMssageCompletion)completion;
|
||||
|
||||
|
||||
/*!
|
||||
* @abstract 通过事件触发应用内消息下发
|
||||
*
|
||||
* @param event 事件
|
||||
*
|
||||
*/
|
||||
+ (void)triggerInMessageByEvent:(NSString *)event;
|
||||
|
||||
|
||||
/*!
|
||||
* @abstract 在页面切换的时候调用,告诉sdk当前切换到的页面名称
|
||||
*
|
||||
* @param className 当前页面的类名
|
||||
*
|
||||
* @discussion
|
||||
通过定向页面触发应用内消息下发的功能、页面跳转到黑名单页面隐藏正在曝光中的inapp的功能、inapp页面延迟展示功能都依赖于该接口调用。
|
||||
请在页面切换的时候调用此方法。确保在所有页面的viewDidAppear中调用此方法。不然可能会造成inapp部分功能不完善。建议在viewController的基类中调用,或者使用method swizzling方法交换viewController的viewDidAppear方法。
|
||||
*
|
||||
*/
|
||||
+ (void)currentViewControllerName:(NSString *)className;
|
||||
|
||||
|
||||
/*!
|
||||
* @abstract 通过定向页面触发应用内消息下发
|
||||
*
|
||||
* @param pageName 当前页面的类名
|
||||
*
|
||||
* @discussion 请在页面切换的时候调用此方法。确保在所有页面的viewDidAppear中调用此方法。不然可能会造成该功能不完善。建议在viewController的基类中调用,或者使用method swizzling方法交换viewController的viewDidAppear方法。
|
||||
*
|
||||
*/
|
||||
+ (void)triggerInMessageByPageChange:(NSString *)pageName __attribute__((deprecated("JPush 3.7.4 版本已过期")));
|
||||
|
||||
+ (void)setNotiInMessageDelegate:(id<JPUSHNotiInMessageDelegate>)notiInMessageDelegate;
|
||||
|
||||
|
||||
///----------------------------------------------------
|
||||
@@ -857,44 +814,25 @@ callbackSelector:(SEL)cbSelector
|
||||
*/
|
||||
- (void)jpushGeofenceIdentifer:(NSString *)geofenceId didExitRegion:(NSDictionary *)userInfo error:(NSError *)error __attribute__((deprecated("JPush 3.6.0 版本已过期")));
|
||||
|
||||
|
||||
@end
|
||||
|
||||
@protocol JPushInMessageDelegate <NSObject>
|
||||
|
||||
@optional
|
||||
/**
|
||||
*是否允许应用内消息弹出,默认为允许
|
||||
*/
|
||||
- (BOOL)jPushInMessageIsAllowedInMessagePop;
|
||||
@protocol JPUSHNotiInMessageDelegate <NSObject>
|
||||
|
||||
/**
|
||||
*应用内消息展示的回调
|
||||
*/
|
||||
- (void)jPushInMessageAlreadyPop __attribute__((deprecated("JPush 3.4.0 版本已过期")));
|
||||
|
||||
/**
|
||||
*应用内消息已消失
|
||||
*/
|
||||
- (void)jPushInMessageAlreadyDisappear;
|
||||
|
||||
|
||||
/**
|
||||
inMessage展示的回调
|
||||
应用内提醒消息展示的回调
|
||||
|
||||
@param messageType inMessage
|
||||
@param content 下发的数据,广告类的返回数据为空时返回的信息
|
||||
@param content 应用内提醒消息的内容
|
||||
|
||||
*/
|
||||
- (void)jPushInMessageAlreadyPopInMessageType:(JPushInMessageContentType)messageType Content:(NSDictionary *)content;
|
||||
- (void)jPushNotiInMessageDidShowWithContent:(NSDictionary *)content;
|
||||
|
||||
/**
|
||||
inMessage点击的回调
|
||||
应用内提醒消息点击的回调
|
||||
|
||||
@param messageType inMessage
|
||||
@param content 下发的数据,广告类的返回数据为空时返回的信息
|
||||
@param content 应用内提醒消息的内容
|
||||
|
||||
*/
|
||||
- (void)jpushInMessagedidClickInMessageType:(JPushInMessageContentType)messageType Content:(NSDictionary *)content;
|
||||
- (void)jPushNotiInMessageDidClickWithContent:(NSDictionary *)content;
|
||||
|
||||
@end
|
||||
|
||||
BIN
src/ios/lib/jpush-ios-3.7.4.a → src/ios/lib/jpush-ios-4.8.1.a
Executable file → Normal file
BIN
src/ios/lib/jpush-ios-3.7.4.a → src/ios/lib/jpush-ios-4.8.1.a
Executable file → Normal file
Binary file not shown.
@@ -482,6 +482,13 @@ JPushPlugin.prototype.setBadgeNumber = function(badgeNumb) {
|
||||
}
|
||||
};
|
||||
|
||||
//设备是否同意隐私协议
|
||||
JPushPlugin.prototype.setAuth = function(isAuth){
|
||||
if(device.platform === "Android"){
|
||||
this.callNative("setAuth", [isAuth], null);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置手机号。
|
||||
*
|
||||
|
||||
Reference in New Issue
Block a user