pushwoosh-cordova-plugin 8.3.0 → 8.3.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -3
- package/README_PGB.md +1 -1
- package/package.json +1 -1
- package/plugin.xml +17 -8
- package/src/android/src/com/pushwoosh/plugin/pushnotifications/CustomFirebaseMessagingService.java +29 -0
- package/src/android/src/com/pushwoosh/plugin/pushnotifications/PushNotifications.java +6 -0
- package/src/ios/PushNotification.m +22 -0
- package/src/ios/Pushwoosh.framework/Versions/A/Headers/Pushwoosh.h +1 -1
- package/src/ios/Pushwoosh.framework/Versions/A/libPushwoosh.a +0 -0
- package/src/ios/PushwooshInboxBundle.bundle/PWIInboxAttachmentViewController.nib +0 -0
- package/src/ios/PushwooshInboxBundle.bundle/PWIInboxMessageViewCell.nib +0 -0
- package/src/ios/PushwooshInboxBundle.bundle/PWIInboxViewController.nib +0 -0
- package/src/ios/PushwooshInboxUI.framework/Versions/A/libPushwooshInboxUI.a +0 -0
- package/www/PushNotification.js +20 -0
package/README.md
CHANGED
|
@@ -14,13 +14,13 @@ Cross-Platform push notifications by Pushwoosh for Cordova / PhoneGap
|
|
|
14
14
|
Using npm (requires cordova 7.0+):
|
|
15
15
|
|
|
16
16
|
```
|
|
17
|
-
cordova plugin add pushwoosh-cordova-plugin@8.3.
|
|
17
|
+
cordova plugin add pushwoosh-cordova-plugin@8.3.3
|
|
18
18
|
```
|
|
19
19
|
|
|
20
20
|
Using git:
|
|
21
21
|
|
|
22
22
|
```
|
|
23
|
-
cordova plugin add https://github.com/Pushwoosh/pushwoosh-phonegap-plugin.git#8.3.
|
|
23
|
+
cordova plugin add https://github.com/Pushwoosh/pushwoosh-phonegap-plugin.git#8.3.3
|
|
24
24
|
```
|
|
25
25
|
|
|
26
26
|
#### Phonegap
|
|
@@ -28,7 +28,7 @@ cordova plugin add https://github.com/Pushwoosh/pushwoosh-phonegap-plugin.git#8.
|
|
|
28
28
|
Using npm (requires phonegap 7.1+):
|
|
29
29
|
|
|
30
30
|
```
|
|
31
|
-
cordova plugin add pushwoosh-cordova-plugin@8.3.
|
|
31
|
+
cordova plugin add pushwoosh-cordova-plugin@8.3.3
|
|
32
32
|
```
|
|
33
33
|
|
|
34
34
|
### Guide
|
package/README_PGB.md
CHANGED
package/package.json
CHANGED
package/plugin.xml
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
-
<plugin xmlns="http://apache.org/cordova/ns/plugins/1.0" xmlns:android="http://schemas.android.com/apk/res/android" id="pushwoosh-cordova-plugin" version="8.3.
|
|
2
|
+
<plugin xmlns="http://apache.org/cordova/ns/plugins/1.0" xmlns:android="http://schemas.android.com/apk/res/android" id="pushwoosh-cordova-plugin" version="8.3.3">
|
|
3
3
|
|
|
4
4
|
<name>Pushwoosh</name>
|
|
5
5
|
|
|
@@ -38,6 +38,12 @@
|
|
|
38
38
|
<meta-data android:name="com.pushwoosh.notification_service_extension" android:value="com.pushwoosh.plugin.pushnotifications.PushwooshNotificationServiceExtension" />
|
|
39
39
|
|
|
40
40
|
<meta-data android:name="com.pushwoosh.internal.plugin_provider" android:value="com.pushwoosh.plugin.internal.PhonegapPluginProvider" />
|
|
41
|
+
|
|
42
|
+
<!-- <service android:name="com.pushwoosh.plugin.pushnotifications.CustomFirebaseMessagingService" android:exported="false">-->
|
|
43
|
+
<!-- <intent-filter>-->
|
|
44
|
+
<!-- <action android:name="com.google.firebase.MESSAGING_EVENT"/>-->
|
|
45
|
+
<!-- </intent-filter>-->
|
|
46
|
+
<!-- </service>-->
|
|
41
47
|
</config-file>
|
|
42
48
|
|
|
43
49
|
<config-file target="res/xml/config.xml" parent="/*">
|
|
@@ -54,6 +60,9 @@
|
|
|
54
60
|
|
|
55
61
|
<source-file src="src/android/src/com/pushwoosh/plugin/pushnotifications/PushwooshNotificationServiceExtension.java"
|
|
56
62
|
target-dir="src/com/pushwoosh/plugin/pushnotifications" />
|
|
63
|
+
|
|
64
|
+
<source-file src="src/android/src/com/pushwoosh/plugin/pushnotifications/CustomFirebaseMessagingService.java"
|
|
65
|
+
target-dir="src/com/pushwoosh/plugin/pushnotifications"/>
|
|
57
66
|
|
|
58
67
|
<source-file src="src/android/src/com/pushwoosh/plugin/internal/PhonegapPluginProvider.java"
|
|
59
68
|
target-dir="src/com/pushwoosh/plugin/internal" />
|
|
@@ -68,13 +77,13 @@
|
|
|
68
77
|
<framework src="com.android.support.constraint:constraint-layout:1.0.2" />
|
|
69
78
|
<framework src="com.github.bumptech.glide:glide:4.7.1" />
|
|
70
79
|
<framework src="org.jetbrains.kotlin:kotlin-stdlib-jre7:1.1.60" />
|
|
71
|
-
<framework src="com.pushwoosh:pushwoosh:6.4.
|
|
72
|
-
<framework src="com.pushwoosh:pushwoosh-amazon:6.4.
|
|
73
|
-
<framework src="com.pushwoosh:pushwoosh-firebase:6.4.
|
|
74
|
-
<framework src="com.pushwoosh:pushwoosh-badge:6.4.
|
|
75
|
-
<framework src="com.pushwoosh:pushwoosh-inbox:6.4.
|
|
76
|
-
<framework src="com.pushwoosh:pushwoosh-inbox-ui:6.4.
|
|
77
|
-
<framework src="com.pushwoosh:pushwoosh-huawei:6.4.
|
|
80
|
+
<framework src="com.pushwoosh:pushwoosh:6.4.4"/>
|
|
81
|
+
<framework src="com.pushwoosh:pushwoosh-amazon:6.4.4"/>
|
|
82
|
+
<framework src="com.pushwoosh:pushwoosh-firebase:6.4.4"/>
|
|
83
|
+
<framework src="com.pushwoosh:pushwoosh-badge:6.4.4"/>
|
|
84
|
+
<framework src="com.pushwoosh:pushwoosh-inbox:6.4.4"/>
|
|
85
|
+
<framework src="com.pushwoosh:pushwoosh-inbox-ui:6.4.4"/>
|
|
86
|
+
<framework src="com.pushwoosh:pushwoosh-huawei:6.4.4"/>
|
|
78
87
|
</platform>
|
|
79
88
|
|
|
80
89
|
<!-- ios -->
|
package/src/android/src/com/pushwoosh/plugin/pushnotifications/CustomFirebaseMessagingService.java
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
package com.pushwoosh.plugin.pushnotifications;
|
|
2
|
+
|
|
3
|
+
import androidx.annotation.NonNull;
|
|
4
|
+
|
|
5
|
+
import com.google.firebase.messaging.FirebaseMessagingService;
|
|
6
|
+
import com.google.firebase.messaging.RemoteMessage;
|
|
7
|
+
import com.pushwoosh.firebase.PushwooshFcmHelper;
|
|
8
|
+
|
|
9
|
+
public class CustomFirebaseMessagingService extends FirebaseMessagingService {
|
|
10
|
+
@Override
|
|
11
|
+
public void onMessageReceived(@NonNull RemoteMessage remoteMessage) {
|
|
12
|
+
if (PushwooshFcmHelper.isPushwooshMessage(remoteMessage)){
|
|
13
|
+
PushwooshFcmHelper.onMessageReceived(this, remoteMessage);
|
|
14
|
+
} else {
|
|
15
|
+
//handle push from a different service here
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
@Override
|
|
20
|
+
public void onNewToken(@NonNull String s) {
|
|
21
|
+
super.onNewToken(s);
|
|
22
|
+
PushwooshFcmHelper.onTokenRefresh(s);
|
|
23
|
+
sendTokenToAnotherService();
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
public void sendTokenToAnotherService() {
|
|
27
|
+
//handle push registration of another service here
|
|
28
|
+
}
|
|
29
|
+
}
|
|
@@ -165,6 +165,12 @@ public class PushNotifications extends CordovaPlugin {
|
|
|
165
165
|
return true;
|
|
166
166
|
}
|
|
167
167
|
|
|
168
|
+
@CordovaMethod
|
|
169
|
+
private boolean additionalAuthorizationOptions(JSONArray data, CallbackContext callbackContext) {
|
|
170
|
+
// Stub, this is iOS only method
|
|
171
|
+
return true;
|
|
172
|
+
}
|
|
173
|
+
|
|
168
174
|
@CordovaMethod
|
|
169
175
|
private boolean registerDevice(JSONArray data, CallbackContext callbackContext) {
|
|
170
176
|
try {
|
|
@@ -160,6 +160,28 @@ static PushNotification *pw_PushNotificationPlugin;
|
|
|
160
160
|
[[NSUserDefaults standardUserDefaults] synchronize];
|
|
161
161
|
}
|
|
162
162
|
|
|
163
|
+
// Authorization options in addition to UNAuthorizationOptionBadge | UNAuthorizationOptionSound | UNAuthorizationOptionAlert | UNAuthorizationOptionCarPlay. Should be called before registering for pushes
|
|
164
|
+
- (void)additionalAuthorizationOptions:(CDVInvokedUrlCommand *)command {
|
|
165
|
+
NSDictionary *options = [command.arguments firstObject];
|
|
166
|
+
NSString* critical = options[@"UNAuthorizationOptionCriticalAlert"];
|
|
167
|
+
NSString* provisional = options[@"UNAuthorizationOptionProvisional"];
|
|
168
|
+
NSString* providesSettings = options[@"UNAuthorizationOptionProvidesAppNotificationSettings"];
|
|
169
|
+
|
|
170
|
+
UNAuthorizationOptions authOptions = 0;
|
|
171
|
+
if (@available(iOS 12.0, *)) {
|
|
172
|
+
if (critical) {
|
|
173
|
+
authOptions |= UNAuthorizationOptionCriticalAlert;
|
|
174
|
+
}
|
|
175
|
+
if (provisional) {
|
|
176
|
+
authOptions |= UNAuthorizationOptionProvisional;
|
|
177
|
+
}
|
|
178
|
+
if (providesSettings) {
|
|
179
|
+
authOptions |= UNAuthorizationOptionProvidesAppNotificationSettings;
|
|
180
|
+
}
|
|
181
|
+
[Pushwoosh sharedInstance].additionalAuthorizationOptions = authOptions;
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
|
|
163
185
|
- (void)dispatchPushReceive:(NSDictionary *)pushData {
|
|
164
186
|
NSData *json = [NSJSONSerialization dataWithJSONObject:pushData options:NSJSONWritingPrettyPrinted error:nil];
|
|
165
187
|
NSString *jsonString = [[NSString alloc] initWithData:json encoding:NSUTF8StringEncoding];
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/www/PushNotification.js
CHANGED
|
@@ -79,6 +79,26 @@ PushNotification.prototype.registerDevice = function(success, fail) {
|
|
|
79
79
|
exec(success, fail, "PushNotification", "registerDevice", []);
|
|
80
80
|
};
|
|
81
81
|
|
|
82
|
+
//Function: additionalAuthorizationOptions
|
|
83
|
+
//[ios] Authorization options in addition to UNAuthorizationOptionBadge | UNAuthorizationOptionSound | UNAuthorizationOptionAlert | UNAuthorizationOptionCarPlay.
|
|
84
|
+
//Should be called before registering for pushes
|
|
85
|
+
//
|
|
86
|
+
//Parameters:
|
|
87
|
+
// "options.UNAuthorizationOptionCriticalAlert" - adds UNAuthorizationOptionCriticalAlert option
|
|
88
|
+
// "options.UNAuthorizationOptionProvisional" - adds UNAuthorizationOptionProvisional option
|
|
89
|
+
// "options.UNAuthorizationOptionProvidesAppNotificationSettings" - adds UNAuthorizationOptionProvidesAppNotificationSettings option
|
|
90
|
+
//
|
|
91
|
+
//Example:
|
|
92
|
+
//(start code)
|
|
93
|
+
// pushwoosh.additionalAuthorizationOptions({
|
|
94
|
+
// "UNAuthorizationOptionCriticalAlert" : 1,
|
|
95
|
+
// "UNAuthorizationOptionProvisional": 0 // set 0 or don't specify the option if you don't want to add it to your app.
|
|
96
|
+
// });
|
|
97
|
+
//(end)
|
|
98
|
+
PushNotification.prototype.additionalAuthorizationOptions = function(options) {
|
|
99
|
+
exec(null, null, "PushNotification", "additionalAuthorizationOptions", options ? [options] : []);
|
|
100
|
+
}
|
|
101
|
+
|
|
82
102
|
//Function: unregisterDevice
|
|
83
103
|
//[android, ios, wp8, windows] Unregister device form receiving push notifications
|
|
84
104
|
//
|