react-native-notify-kit 10.1.0 → 10.2.1
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 +99 -96
- package/android/build.gradle +2 -2
- package/android/src/main/AndroidManifest.xml +0 -1
- package/android/src/main/java/app/notifee/core/ForegroundService.java +1 -0
- package/android/src/main/java/app/notifee/core/NotificationManager.java +21 -8
- package/android/src/main/java/app/notifee/core/RebootBroadcastReceiver.java +16 -0
- package/android/src/main/java/app/notifee/core/ReceiverService.java +18 -13
- package/android/src/main/java/app/notifee/core/model/NotificationAndroidActionModel.java +1 -2
- package/android/src/main/java/app/notifee/core/model/NotificationAndroidPressActionModel.java +3 -9
- package/android/src/main/java/app/notifee/core/model/TimestampTriggerModel.java +42 -27
- package/android/src/main/java/app/notifee/core/utility/IntentUtils.java +0 -28
- package/android/src/main/java/app/notifee/core/utility/PowerManagerUtils.java +79 -41
- package/android/src/main/java/app/notifee/core/utility/ResourceUtils.java +5 -1
- package/android/src/main/kotlin/io/invertase/notifee/NotifeeApiModule.kt +6 -6
- package/android/src/main/kotlin/io/invertase/notifee/NotifeeReactUtils.kt +1 -2
- package/android/src/test/java/app/notifee/core/model/TimestampTriggerModelTest.java +150 -0
- package/cli/dist/lib/patchPodfile.d.ts +3 -1
- package/cli/dist/lib/patchPodfile.js +125 -33
- package/cli/dist/lib/patchPodfile.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/types/Module.d.ts +27 -13
- package/dist/types/Notification.d.ts +1 -1
- package/dist/types/NotificationIOS.d.ts +44 -21
- package/dist/types/NotificationIOS.js +15 -1
- package/dist/types/NotificationIOS.js.map +1 -1
- package/dist/types/PowerManagerInfo.d.ts +9 -4
- package/dist/types/Trigger.d.ts +45 -2
- package/dist/types/Trigger.js +22 -0
- package/dist/types/Trigger.js.map +1 -1
- package/dist/validators/validateIOSCategory.js +2 -2
- package/dist/validators/validateIOSCategory.js.map +1 -1
- package/dist/validators/validateTrigger.js +26 -1
- package/dist/validators/validateTrigger.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/ios/NotifeeCore/NotifeeCore+NSNotificationCenter.m +20 -10
- package/ios/NotifeeCore/NotifeeCore+UNUserNotificationCenter.h +1 -2
- package/ios/NotifeeCore/NotifeeCore+UNUserNotificationCenter.m +44 -35
- package/ios/NotifeeCore/NotifeeCore.m +1042 -119
- package/ios/NotifeeCore/NotifeeCoreUtil.h +36 -1
- package/ios/NotifeeCore/NotifeeCoreUtil.m +533 -9
- package/ios/RNNotifee/NotifeeApiModule.mm +2 -2
- package/package.json +1 -1
- package/src/index.ts +2 -0
- package/src/types/Module.ts +27 -13
- package/src/types/Notification.ts +1 -1
- package/src/types/NotificationIOS.ts +43 -28
- package/src/types/PowerManagerInfo.ts +9 -4
- package/src/types/Trigger.ts +45 -1
- package/src/validators/validateIOSCategory.ts +4 -2
- package/src/validators/validateTrigger.ts +38 -0
- package/src/version.ts +1 -1
|
@@ -66,24 +66,19 @@ export interface NotificationIOS {
|
|
|
66
66
|
*/
|
|
67
67
|
threadId?: string;
|
|
68
68
|
/**
|
|
69
|
-
*
|
|
70
|
-
*
|
|
71
|
-
* See `IOSCategory.summaryFormat`.
|
|
69
|
+
* Kept for compatibility. No-op on supported iOS versions because notification summary
|
|
70
|
+
* arguments are ignored by iOS 15+.
|
|
72
71
|
*
|
|
73
72
|
* @platform ios iOS >= 12
|
|
73
|
+
* @deprecated May be removed in a future major release.
|
|
74
74
|
*/
|
|
75
75
|
summaryArgument?: string;
|
|
76
76
|
/**
|
|
77
|
-
*
|
|
78
|
-
*
|
|
79
|
-
* For example if a messages app sends one notification for 3 new messages in a group chat,
|
|
80
|
-
* the summaryArgument could be the name of the group chat and the summaryArgumentCount should be 3.
|
|
81
|
-
*
|
|
82
|
-
* If set, value cannot be 0 or less.
|
|
83
|
-
*
|
|
84
|
-
* See `IOSCategory.summaryFormat`.
|
|
77
|
+
* Kept for compatibility. No-op on supported iOS versions because notification summary
|
|
78
|
+
* arguments are ignored by iOS 15+.
|
|
85
79
|
*
|
|
86
80
|
* @platform ios iOS >= 12
|
|
81
|
+
* @deprecated May be removed in a future major release.
|
|
87
82
|
*/
|
|
88
83
|
summaryArgumentCount?: number;
|
|
89
84
|
/**
|
|
@@ -97,7 +92,7 @@ export interface NotificationIOS {
|
|
|
97
92
|
/**
|
|
98
93
|
* Optional property to customise how notifications are presented when the app is in the foreground.
|
|
99
94
|
*
|
|
100
|
-
* By default,
|
|
95
|
+
* By default, Notify Kit will show iOS notifications in heads-up mode if your app is currently in the foreground.
|
|
101
96
|
*/
|
|
102
97
|
foregroundPresentationOptions?: IOSForegroundPresentationOptions;
|
|
103
98
|
/**
|
|
@@ -127,7 +122,7 @@ export interface IOSCommunicationInfoPerson {
|
|
|
127
122
|
/**
|
|
128
123
|
* An interface to customise how notifications are shown when the app is in the foreground.
|
|
129
124
|
*
|
|
130
|
-
* By default,
|
|
125
|
+
* By default, Notify Kit will show iOS notifications in heads-up mode if your app is currently in the foreground.
|
|
131
126
|
*
|
|
132
127
|
* View the [Foreground Notifications](/react-native/ios/appearance#foreground-notifications) to learn
|
|
133
128
|
* more.
|
|
@@ -157,16 +152,12 @@ export interface IOSForegroundPresentationOptions {
|
|
|
157
152
|
/**
|
|
158
153
|
* Present the notification as a banner
|
|
159
154
|
*
|
|
160
|
-
* For iOS 13 and lower, will be equivalent to setting `alert` to true
|
|
161
|
-
*
|
|
162
155
|
* Defaults to true
|
|
163
156
|
*/
|
|
164
157
|
banner?: boolean;
|
|
165
158
|
/**
|
|
166
159
|
* Show the notification in Notification Center
|
|
167
160
|
*
|
|
168
|
-
* For iOS 13 and lower, will be equivalent to setting `alert` to true
|
|
169
|
-
*
|
|
170
161
|
* Defaults to true
|
|
171
162
|
*/
|
|
172
163
|
list?: boolean;
|
|
@@ -223,11 +214,13 @@ export interface IOSNotificationPermissions {
|
|
|
223
214
|
*/
|
|
224
215
|
provisional?: boolean;
|
|
225
216
|
/**
|
|
226
|
-
*
|
|
217
|
+
* Explicit announcement authorization requests are no longer needed because announcement
|
|
218
|
+
* authorization is included by iOS on supported versions. Kept for API compatibility.
|
|
227
219
|
*
|
|
228
220
|
* Defaults to false.
|
|
229
221
|
*
|
|
230
222
|
* @platform ios iOS >= 13
|
|
223
|
+
* @deprecated May be removed in a future major release.
|
|
231
224
|
*/
|
|
232
225
|
announcement?: boolean;
|
|
233
226
|
}
|
|
@@ -339,12 +332,26 @@ export interface IOSNotificationSettings {
|
|
|
339
332
|
authorizationStatus: AuthorizationStatus;
|
|
340
333
|
}
|
|
341
334
|
/**
|
|
342
|
-
*
|
|
335
|
+
* Intent identifiers used to provide category context to Siri.
|
|
343
336
|
*
|
|
344
337
|
* @platform ios
|
|
345
338
|
*/
|
|
346
339
|
export declare enum IOSIntentIdentifier {
|
|
340
|
+
/**
|
|
341
|
+
* Start a call intent.
|
|
342
|
+
*
|
|
343
|
+
* Maps to Apple's unified `INStartCallIntentIdentifier`.
|
|
344
|
+
*/
|
|
345
|
+
START_CALL = 25,
|
|
346
|
+
/**
|
|
347
|
+
* @deprecated Use `START_CALL` instead. Apple deprecated the separate audio call
|
|
348
|
+
* intent identifier in favor of a unified start call identifier.
|
|
349
|
+
*/
|
|
347
350
|
START_AUDIO_CALL = 0,
|
|
351
|
+
/**
|
|
352
|
+
* @deprecated Use `START_CALL` instead. Apple deprecated the separate video call
|
|
353
|
+
* intent identifier in favor of a unified start call identifier.
|
|
354
|
+
*/
|
|
348
355
|
START_VIDEO_CALL = 1,
|
|
349
356
|
SEARCH_CALL_HISTORY = 2,
|
|
350
357
|
SET_AUDIO_SOURCE_IN_CAR = 3,
|
|
@@ -396,10 +403,26 @@ export interface IOSNotificationCategory {
|
|
|
396
403
|
* Defaults to `false`.
|
|
397
404
|
*/
|
|
398
405
|
allowInCarPlay?: boolean;
|
|
406
|
+
/**
|
|
407
|
+
* Kept for compatibility. No-op on supported iOS versions because announcement category
|
|
408
|
+
* options are ignored by iOS 15+.
|
|
409
|
+
*
|
|
410
|
+
* Defaults to `false`.
|
|
411
|
+
*
|
|
412
|
+
* @deprecated May be removed in a future major release.
|
|
413
|
+
*/
|
|
399
414
|
allowAnnouncement?: boolean;
|
|
400
415
|
hiddenPreviewsShowTitle?: boolean;
|
|
401
416
|
hiddenPreviewsShowSubtitle?: boolean;
|
|
402
417
|
hiddenPreviewsBodyPlaceholder?: string;
|
|
418
|
+
/**
|
|
419
|
+
* Intent identifiers used by the system to provide category context to Siri.
|
|
420
|
+
*
|
|
421
|
+
* Use `IOSIntentIdentifier.START_CALL` for call categories. Legacy
|
|
422
|
+
* `START_AUDIO_CALL` and `START_VIDEO_CALL` values remain accepted for source
|
|
423
|
+
* compatibility, but both map to Apple's unified start call intent identifier.
|
|
424
|
+
* Categories read back from iOS can return `START_CALL` for call intents.
|
|
425
|
+
*/
|
|
403
426
|
intentIdentifiers?: IOSIntentIdentifier[];
|
|
404
427
|
actions?: IOSNotificationCategoryAction[];
|
|
405
428
|
}
|
|
@@ -544,11 +567,11 @@ export type IOSNotificationInterruptionLevel = 'active' | 'critical' | 'passive'
|
|
|
544
567
|
*/
|
|
545
568
|
export interface IOSNotificationConfig {
|
|
546
569
|
/**
|
|
547
|
-
* Whether
|
|
570
|
+
* Whether Notify Kit should handle remote (push) notifications on iOS.
|
|
548
571
|
*
|
|
549
572
|
* When set to `false`, remote notifications (e.g. from Firebase Cloud Messaging)
|
|
550
573
|
* will be forwarded to the original notification delegate instead of being
|
|
551
|
-
* processed by
|
|
574
|
+
* processed by Notify Kit. This allows libraries like React Native Firebase
|
|
552
575
|
* Messaging to receive tap events via `onNotificationOpenedApp()` and
|
|
553
576
|
* `getInitialNotification()`.
|
|
554
577
|
*
|
|
@@ -54,13 +54,27 @@ export var IOSNotificationSetting;
|
|
|
54
54
|
IOSNotificationSetting[IOSNotificationSetting["ENABLED"] = 1] = "ENABLED";
|
|
55
55
|
})(IOSNotificationSetting || (IOSNotificationSetting = {}));
|
|
56
56
|
/**
|
|
57
|
-
*
|
|
57
|
+
* Intent identifiers used to provide category context to Siri.
|
|
58
58
|
*
|
|
59
59
|
* @platform ios
|
|
60
60
|
*/
|
|
61
61
|
export var IOSIntentIdentifier;
|
|
62
62
|
(function (IOSIntentIdentifier) {
|
|
63
|
+
/**
|
|
64
|
+
* Start a call intent.
|
|
65
|
+
*
|
|
66
|
+
* Maps to Apple's unified `INStartCallIntentIdentifier`.
|
|
67
|
+
*/
|
|
68
|
+
IOSIntentIdentifier[IOSIntentIdentifier["START_CALL"] = 25] = "START_CALL";
|
|
69
|
+
/**
|
|
70
|
+
* @deprecated Use `START_CALL` instead. Apple deprecated the separate audio call
|
|
71
|
+
* intent identifier in favor of a unified start call identifier.
|
|
72
|
+
*/
|
|
63
73
|
IOSIntentIdentifier[IOSIntentIdentifier["START_AUDIO_CALL"] = 0] = "START_AUDIO_CALL";
|
|
74
|
+
/**
|
|
75
|
+
* @deprecated Use `START_CALL` instead. Apple deprecated the separate video call
|
|
76
|
+
* intent identifier in favor of a unified start call identifier.
|
|
77
|
+
*/
|
|
64
78
|
IOSIntentIdentifier[IOSIntentIdentifier["START_VIDEO_CALL"] = 1] = "START_VIDEO_CALL";
|
|
65
79
|
IOSIntentIdentifier[IOSIntentIdentifier["SEARCH_CALL_HISTORY"] = 2] = "SEARCH_CALL_HISTORY";
|
|
66
80
|
IOSIntentIdentifier[IOSIntentIdentifier["SET_AUDIO_SOURCE_IN_CAR"] = 3] = "SET_AUDIO_SOURCE_IN_CAR";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NotificationIOS.js","sourceRoot":"","sources":["../../src/types/NotificationIOS.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"NotificationIOS.js","sourceRoot":"","sources":["../../src/types/NotificationIOS.ts"],"names":[],"mappings":"AAAA;;GAEG;AA6QH;;;;;;;GAOG;AACH,MAAM,CAAN,IAAY,sBAqBX;AArBD,WAAY,sBAAsB;IAChC;;;OAGG;IACH,sFAAkB,CAAA;IAElB;;OAEG;IACH,qEAAS,CAAA;IAET;;OAEG;IACH,uEAAU,CAAA;IAEV;;OAEG;IACH,+FAAsB,CAAA;AACxB,CAAC,EArBW,sBAAsB,KAAtB,sBAAsB,QAqBjC;AAED;;;;;;;GAOG;AACH,MAAM,CAAN,IAAY,sBAgBX;AAhBD,WAAY,sBAAsB;IAChC;;;OAGG;IACH,sFAAkB,CAAA;IAElB;;OAEG;IACH,2EAAY,CAAA;IAEZ;;OAEG;IACH,yEAAW,CAAA;AACb,CAAC,EAhBW,sBAAsB,KAAtB,sBAAsB,QAgBjC;AAsED;;;;GAIG;AACH,MAAM,CAAN,IAAY,mBAiEX;AAjED,WAAY,mBAAmB;IAC7B;;;;OAIG;IACH,0EAAe,CAAA;IAEf;;;OAGG;IACH,qFAAoB,CAAA;IAEpB;;;OAGG;IACH,qFAAoB,CAAA;IAEpB,2FAAuB,CAAA;IAEvB,mGAA2B,CAAA;IAE3B,2GAA+B,CAAA;IAE/B,+GAAiC,CAAA;IAEjC,qGAA4B,CAAA;IAE5B,yFAAsB,CAAA;IAEtB,2FAAuB,CAAA;IAEvB,+EAAiB,CAAA;IAEjB,gFAAkB,CAAA;IAElB,4EAAgB,CAAA;IAEhB,kFAAmB,CAAA;IAEnB,kFAAmB,CAAA;IAEnB,wFAAsB,CAAA;IAEtB,8EAAiB,CAAA;IAEjB,4FAAwB,CAAA;IAExB,gGAA0B,CAAA;IAE1B,8EAAiB,CAAA;IAEjB,oFAAoB,CAAA;IAEpB,wFAAsB,CAAA;IAEtB,8FAAyB,CAAA;IAEzB,wFAAsB,CAAA;IAEtB,8EAAiB,CAAA;IAEjB,oFAAoB,CAAA;AACtB,CAAC,EAjEW,mBAAmB,KAAnB,mBAAmB,QAiE9B"}
|
|
@@ -25,12 +25,17 @@ export interface PowerManagerInfo {
|
|
|
25
25
|
*/
|
|
26
26
|
version?: string;
|
|
27
27
|
/**
|
|
28
|
-
* The
|
|
28
|
+
* The known vendor-settings activity candidate for this device manufacturer.
|
|
29
29
|
*
|
|
30
|
-
*
|
|
31
|
-
*
|
|
30
|
+
* This value is based on Notify Kit's manufacturer mapping. It is not prevalidated
|
|
31
|
+
* with `PackageManager`, and it is not a guarantee that the activity is installed
|
|
32
|
+
* or accessible on the current device firmware.
|
|
32
33
|
*
|
|
33
|
-
*
|
|
34
|
+
* Use this as a best-effort indicator of what steps the user may have to perform,
|
|
35
|
+
* in-order to prevent your app from being killed. `openPowerManagerSettings()`
|
|
36
|
+
* handles unavailable or rejected candidates safely.
|
|
37
|
+
*
|
|
38
|
+
* If no known activity candidate exists, value will be null.
|
|
34
39
|
*/
|
|
35
40
|
activity?: string | null;
|
|
36
41
|
}
|
package/dist/types/Trigger.d.ts
CHANGED
|
@@ -20,12 +20,33 @@ export interface TimestampTrigger {
|
|
|
20
20
|
* if set to `RepeatFrequency.HOURLY`, the notification will repeat every hour from the timestamp specified.
|
|
21
21
|
* if set to `RepeatFrequency.DAILY`, the notification will repeat every day from the timestamp specified.
|
|
22
22
|
* if set to `RepeatFrequency.WEEKLY`, the notification will repeat every week from the timestamp specified.
|
|
23
|
+
* if set to `RepeatFrequency.MONTHLY`, the notification will repeat every calendar month from the timestamp specified.
|
|
24
|
+
*
|
|
25
|
+
* Yearly recurrence is not supported.
|
|
23
26
|
*/
|
|
24
27
|
repeatFrequency?: RepeatFrequency;
|
|
28
|
+
/**
|
|
29
|
+
* Multiplier applied to `repeatFrequency` for timestamp triggers.
|
|
30
|
+
*
|
|
31
|
+
* For example, `repeatFrequency: RepeatFrequency.DAILY` with
|
|
32
|
+
* `repeatInterval: 2` repeats every 2 days. `RepeatFrequency.WEEKLY`
|
|
33
|
+
* with `repeatInterval: 2` repeats every 2 weeks, and
|
|
34
|
+
* `RepeatFrequency.MONTHLY` with `repeatInterval: 3` repeats every
|
|
35
|
+
* 3 months.
|
|
36
|
+
*
|
|
37
|
+
* Valid only when `repeatFrequency` is set to a repeating value. It is
|
|
38
|
+
* not valid without `repeatFrequency` or with `RepeatFrequency.NONE`.
|
|
39
|
+
* Must be a positive integer.
|
|
40
|
+
*
|
|
41
|
+
* Defaults to `1` when `repeatFrequency` is set.
|
|
42
|
+
*/
|
|
43
|
+
repeatInterval?: number;
|
|
25
44
|
/**
|
|
26
45
|
* Choose to schedule your trigger notification with Android's AlarmManager API.
|
|
27
46
|
*
|
|
28
|
-
* By default, trigger notifications
|
|
47
|
+
* By default, timestamp trigger notifications use AlarmManager on Android. Set
|
|
48
|
+
* this to `false` to opt out to WorkManager. `RepeatFrequency.MONTHLY` is not
|
|
49
|
+
* supported when this is `false`.
|
|
29
50
|
*
|
|
30
51
|
* @platform android
|
|
31
52
|
*/
|
|
@@ -65,14 +86,36 @@ export interface TimestampTriggerAlarmManager {
|
|
|
65
86
|
}
|
|
66
87
|
/**
|
|
67
88
|
* An interface representing the different frequencies which can be used with `TimestampTrigger.repeatFrequency`.
|
|
89
|
+
* Supported timestamp repeat frequencies are hourly, daily, weekly, and monthly.
|
|
90
|
+
* Yearly recurrence is not supported.
|
|
68
91
|
*
|
|
69
92
|
* View the [Triggers](/react-native/triggers) documentation to learn more.
|
|
70
93
|
*/
|
|
71
94
|
export declare enum RepeatFrequency {
|
|
95
|
+
/**
|
|
96
|
+
* Do not repeat. `TimestampTrigger.repeatInterval` cannot be used with `NONE`.
|
|
97
|
+
*/
|
|
72
98
|
NONE = -1,
|
|
99
|
+
/**
|
|
100
|
+
* Repeat every calendar hour from the timestamp.
|
|
101
|
+
*/
|
|
73
102
|
HOURLY = 0,
|
|
103
|
+
/**
|
|
104
|
+
* Repeat every calendar day from the timestamp.
|
|
105
|
+
*/
|
|
74
106
|
DAILY = 1,
|
|
75
|
-
|
|
107
|
+
/**
|
|
108
|
+
* Repeat every calendar week from the timestamp.
|
|
109
|
+
*/
|
|
110
|
+
WEEKLY = 2,
|
|
111
|
+
/**
|
|
112
|
+
* Repeat every calendar month from the timestamp.
|
|
113
|
+
*
|
|
114
|
+
* Use `TimestampTrigger.repeatInterval` for intervals such as every 3 months.
|
|
115
|
+
* Monthly repeats use native calendar semantics; dates that do not exist in a
|
|
116
|
+
* target month are adjusted by the platform calendar.
|
|
117
|
+
*/
|
|
118
|
+
MONTHLY = 3
|
|
76
119
|
}
|
|
77
120
|
/**
|
|
78
121
|
* Interface for building a trigger that repeats at a specified interval.
|
package/dist/types/Trigger.js
CHANGED
|
@@ -13,15 +13,37 @@ export var AlarmType;
|
|
|
13
13
|
})(AlarmType || (AlarmType = {}));
|
|
14
14
|
/**
|
|
15
15
|
* An interface representing the different frequencies which can be used with `TimestampTrigger.repeatFrequency`.
|
|
16
|
+
* Supported timestamp repeat frequencies are hourly, daily, weekly, and monthly.
|
|
17
|
+
* Yearly recurrence is not supported.
|
|
16
18
|
*
|
|
17
19
|
* View the [Triggers](/react-native/triggers) documentation to learn more.
|
|
18
20
|
*/
|
|
19
21
|
export var RepeatFrequency;
|
|
20
22
|
(function (RepeatFrequency) {
|
|
23
|
+
/**
|
|
24
|
+
* Do not repeat. `TimestampTrigger.repeatInterval` cannot be used with `NONE`.
|
|
25
|
+
*/
|
|
21
26
|
RepeatFrequency[RepeatFrequency["NONE"] = -1] = "NONE";
|
|
27
|
+
/**
|
|
28
|
+
* Repeat every calendar hour from the timestamp.
|
|
29
|
+
*/
|
|
22
30
|
RepeatFrequency[RepeatFrequency["HOURLY"] = 0] = "HOURLY";
|
|
31
|
+
/**
|
|
32
|
+
* Repeat every calendar day from the timestamp.
|
|
33
|
+
*/
|
|
23
34
|
RepeatFrequency[RepeatFrequency["DAILY"] = 1] = "DAILY";
|
|
35
|
+
/**
|
|
36
|
+
* Repeat every calendar week from the timestamp.
|
|
37
|
+
*/
|
|
24
38
|
RepeatFrequency[RepeatFrequency["WEEKLY"] = 2] = "WEEKLY";
|
|
39
|
+
/**
|
|
40
|
+
* Repeat every calendar month from the timestamp.
|
|
41
|
+
*
|
|
42
|
+
* Use `TimestampTrigger.repeatInterval` for intervals such as every 3 months.
|
|
43
|
+
* Monthly repeats use native calendar semantics; dates that do not exist in a
|
|
44
|
+
* target month are adjusted by the platform calendar.
|
|
45
|
+
*/
|
|
46
|
+
RepeatFrequency[RepeatFrequency["MONTHLY"] = 3] = "MONTHLY";
|
|
25
47
|
})(RepeatFrequency || (RepeatFrequency = {}));
|
|
26
48
|
/**
|
|
27
49
|
* An interface representing the different units of time which can be used with `IntervalTrigger.timeUnit`.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Trigger.js","sourceRoot":"","sources":["../../src/types/Trigger.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Trigger.js","sourceRoot":"","sources":["../../src/types/Trigger.ts"],"names":[],"mappings":"AA0DA;;;;GAIG;AACH,MAAM,CAAN,IAAY,SAMX;AAND,WAAY,SAAS;IACnB,uCAAG,CAAA;IACH,iFAAwB,CAAA;IACxB,mDAAS,CAAA;IACT,6FAA8B,CAAA;IAC9B,+DAAe,CAAA;AACjB,CAAC,EANW,SAAS,KAAT,SAAS,QAMpB;AAwBD;;;;;;GAMG;AACH,MAAM,CAAN,IAAY,eAyBX;AAzBD,WAAY,eAAe;IACzB;;OAEG;IACH,sDAAS,CAAA;IACT;;OAEG;IACH,yDAAU,CAAA;IACV;;OAEG;IACH,uDAAS,CAAA;IACT;;OAEG;IACH,yDAAU,CAAA;IACV;;;;;;OAMG;IACH,2DAAW,CAAA;AACb,CAAC,EAzBW,eAAe,KAAf,eAAe,QAyB1B;AAgCD;;;;GAIG;AACH,MAAM,CAAN,IAAY,QAKX;AALD,WAAY,QAAQ;IAClB,+BAAmB,CAAA;IACnB,+BAAmB,CAAA;IACnB,2BAAe,CAAA;IACf,yBAAa,CAAA;AACf,CAAC,EALW,QAAQ,KAAR,QAAQ,QAKnB;AAED;;;;GAIG;AACH,MAAM,CAAN,IAAY,WAGX;AAHD,WAAY,WAAW;IACrB,uDAAa,CAAA;IACb,qDAAY,CAAA;AACd,CAAC,EAHW,WAAW,KAAX,WAAW,QAGtB"}
|
|
@@ -86,10 +86,10 @@ export default function validateIOSCategory(category) {
|
|
|
86
86
|
if (!isArray(category.intentIdentifiers)) {
|
|
87
87
|
throw new Error("'category.intentIdentifiers' expected an array value.");
|
|
88
88
|
}
|
|
89
|
-
const identifiers = Object.values(IOSIntentIdentifier);
|
|
89
|
+
const identifiers = Object.values(IOSIntentIdentifier).filter((identifier) => typeof identifier === 'number');
|
|
90
90
|
for (let i = 0; i < category.intentIdentifiers.length; i++) {
|
|
91
91
|
const intentIdentifier = category.intentIdentifiers[i];
|
|
92
|
-
if (!identifiers.includes(intentIdentifier)) {
|
|
92
|
+
if (typeof intentIdentifier !== 'number' || !identifiers.includes(intentIdentifier)) {
|
|
93
93
|
throw new Error(`'category.intentIdentifiers' unexpected intentIdentifier "${intentIdentifier}" at array index "${i}".`);
|
|
94
94
|
}
|
|
95
95
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validateIOSCategory.js","sourceRoot":"","sources":["../../src/validators/validateIOSCategory.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"validateIOSCategory.js","sourceRoot":"","sources":["../../src/validators/validateIOSCategory.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EACL,mBAAmB,GAGpB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,iBAAiB,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrF,OAAO,yBAAyB,MAAM,6BAA6B,CAAC;AAEpE,MAAM,CAAC,OAAO,UAAU,mBAAmB,CACzC,QAAiC;IAEjC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;IAC1D,CAAC;IAED;;OAEG;IACH,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;IAC5D,CAAC;IAED,cAAc;IACd,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;IAC/D,CAAC;IAED,MAAM,GAAG,GAA4B;QACnC,EAAE,EAAE,QAAQ,CAAC,EAAE;QACf,cAAc,EAAE,KAAK;QACrB,iBAAiB,EAAE,KAAK;QACxB,uBAAuB,EAAE,KAAK;QAC9B,0BAA0B,EAAE,KAAK;KAClC,CAAC;IAEF;;OAEG;IACH,IAAI,iBAAiB,CAAC,QAAQ,EAAE,eAAe,CAAC,EAAE,CAAC;QACjD,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;YACtC,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;QACvE,CAAC;QAED,GAAG,CAAC,aAAa,GAAG,QAAQ,CAAC,aAAa,CAAC;IAC7C,CAAC;IAED;;OAEG;IACH,IAAI,iBAAiB,CAAC,QAAQ,EAAE,gBAAgB,CAAC,EAAE,CAAC;QAClD,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;YACxC,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;QACzE,CAAC;QAED,GAAG,CAAC,cAAc,GAAG,QAAQ,CAAC,cAAc,CAAC;IAC/C,CAAC;IAED;;OAEG;IACH,IAAI,iBAAiB,CAAC,QAAQ,EAAE,mBAAmB,CAAC,EAAE,CAAC;QACrD,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC;YAC3C,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;QAC5E,CAAC;QAED,GAAG,CAAC,iBAAiB,GAAG,QAAQ,CAAC,iBAAiB,CAAC;IACrD,CAAC;IAED;;OAEG;IACH,IAAI,iBAAiB,CAAC,QAAQ,EAAE,yBAAyB,CAAC,EAAE,CAAC;QAC3D,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,uBAAuB,CAAC,EAAE,CAAC;YACjD,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC,CAAC;QAClF,CAAC;QAED,GAAG,CAAC,uBAAuB,GAAG,QAAQ,CAAC,uBAAuB,CAAC;IACjE,CAAC;IAED;;OAEG;IACH,IAAI,iBAAiB,CAAC,QAAQ,EAAE,4BAA4B,CAAC,EAAE,CAAC;QAC9D,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,0BAA0B,CAAC,EAAE,CAAC;YACpD,MAAM,IAAI,KAAK,CAAC,iEAAiE,CAAC,CAAC;QACrF,CAAC;QAED,GAAG,CAAC,0BAA0B,GAAG,QAAQ,CAAC,0BAA0B,CAAC;IACvE,CAAC;IAED;;OAEG;IACH,IAAI,iBAAiB,CAAC,QAAQ,EAAE,+BAA+B,CAAC,EAAE,CAAC;QACjE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,6BAA6B,CAAC,EAAE,CAAC;YACtD,MAAM,IAAI,KAAK,CAAC,mEAAmE,CAAC,CAAC;QACvF,CAAC;QAED,GAAG,CAAC,6BAA6B,GAAG,QAAQ,CAAC,6BAA6B,CAAC;IAC7E,CAAC;IAED;;OAEG;IACH,IAAI,iBAAiB,CAAC,QAAQ,EAAE,mBAAmB,CAAC,EAAE,CAAC;QACrD,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC;YACzC,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;QAC3E,CAAC;QAED,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC,MAAM,CAC3D,CAAC,UAAU,EAAqC,EAAE,CAAC,OAAO,UAAU,KAAK,QAAQ,CAClF,CAAC;QAEF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC3D,MAAM,gBAAgB,GAAG,QAAQ,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;YAEvD,IAAI,OAAO,gBAAgB,KAAK,QAAQ,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC;gBACpF,MAAM,IAAI,KAAK,CACb,6DAA6D,gBAAgB,qBAAqB,CAAC,IAAI,CACxG,CAAC;YACJ,CAAC;QACH,CAAC;QAED,GAAG,CAAC,iBAAiB,GAAG,QAAQ,CAAC,iBAAiB,CAAC;IACrD,CAAC;IAED;;OAEG;IACH,IAAI,iBAAiB,CAAC,QAAQ,EAAE,SAAS,CAAC,EAAE,CAAC;QAC3C,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;QACjE,CAAC;QAED,MAAM,OAAO,GAAoC,EAAE,CAAC;QAEpD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACjD,IAAI,CAAC;gBACH,OAAO,CAAC,CAAC,CAAC,GAAG,yBAAyB,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;YAC9D,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAC7E,CAAC;QACH,CAAC;QAED,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC;IACxB,CAAC;IAED,OAAO,GAAG,CAAC;AACb,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*
|
|
2
2
|
* Copyright (c) 2016-present Invertase Limited
|
|
3
3
|
*/
|
|
4
|
-
import { objectHasProperty, isNumber, isObject, isValidEnum, isUndefined, isBoolean, } from '../utils';
|
|
4
|
+
import { objectHasProperty, isNumber, isObject, isValidEnum, isUndefined, isBoolean, isAndroid, } from '../utils';
|
|
5
5
|
import { TimeUnit, RepeatFrequency, TriggerType, AlarmType, } from '../types/Trigger';
|
|
6
6
|
const MINIMUM_INTERVAL = 15;
|
|
7
7
|
function isMinimumInterval(interval, timeUnit) {
|
|
@@ -65,6 +65,26 @@ function validateTimestampTrigger(trigger) {
|
|
|
65
65
|
}
|
|
66
66
|
out.repeatFrequency = trigger.repeatFrequency;
|
|
67
67
|
}
|
|
68
|
+
const hasRepeatFrequency = objectHasProperty(trigger, 'repeatFrequency') && !isUndefined(trigger.repeatFrequency);
|
|
69
|
+
const isRepeating = hasRepeatFrequency && trigger.repeatFrequency !== RepeatFrequency.NONE;
|
|
70
|
+
if (objectHasProperty(trigger, 'repeatInterval') && !isUndefined(trigger.repeatInterval)) {
|
|
71
|
+
if (!hasRepeatFrequency) {
|
|
72
|
+
throw new Error("'trigger.repeatInterval' requires a repeatFrequency value.");
|
|
73
|
+
}
|
|
74
|
+
if (trigger.repeatFrequency === RepeatFrequency.NONE) {
|
|
75
|
+
throw new Error("'trigger.repeatInterval' requires a repeating repeatFrequency value.");
|
|
76
|
+
}
|
|
77
|
+
if (!isNumber(trigger.repeatInterval) ||
|
|
78
|
+
!Number.isFinite(trigger.repeatInterval) ||
|
|
79
|
+
!Number.isInteger(trigger.repeatInterval) ||
|
|
80
|
+
trigger.repeatInterval <= 0) {
|
|
81
|
+
throw new Error("'trigger.repeatInterval' expected a positive integer value.");
|
|
82
|
+
}
|
|
83
|
+
out.repeatInterval = trigger.repeatInterval;
|
|
84
|
+
}
|
|
85
|
+
else if (isRepeating) {
|
|
86
|
+
out.repeatInterval = 1;
|
|
87
|
+
}
|
|
68
88
|
if (objectHasProperty(trigger, 'alarmManager') && !isUndefined(trigger.alarmManager)) {
|
|
69
89
|
if (isBoolean(trigger.alarmManager)) {
|
|
70
90
|
if (trigger.alarmManager) {
|
|
@@ -85,6 +105,11 @@ function validateTimestampTrigger(trigger) {
|
|
|
85
105
|
// Default to AlarmManager for reliable delivery when app is killed
|
|
86
106
|
out.alarmManager = validateTimestampAlarmManager();
|
|
87
107
|
}
|
|
108
|
+
if (isAndroid &&
|
|
109
|
+
trigger.alarmManager === false &&
|
|
110
|
+
out.repeatFrequency === RepeatFrequency.MONTHLY) {
|
|
111
|
+
throw new Error("'trigger.repeatFrequency' MONTHLY is not supported when 'trigger.alarmManager' is false.");
|
|
112
|
+
}
|
|
88
113
|
return out;
|
|
89
114
|
}
|
|
90
115
|
function validateTimestampAlarmManager(alarmManager) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validateTrigger.js","sourceRoot":"","sources":["../../src/validators/validateTrigger.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"validateTrigger.js","sourceRoot":"","sources":["../../src/validators/validateTrigger.ts"],"names":[],"mappings":"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"}
|
package/dist/version.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const version = "10.1
|
|
1
|
+
export declare const version = "10.2.1";
|
package/dist/version.js
CHANGED
|
@@ -18,6 +18,11 @@
|
|
|
18
18
|
#import <UIKit/UIKit.h>
|
|
19
19
|
#import "NotifeeCore+NSNotificationCenter.h"
|
|
20
20
|
#import "NotifeeCore+UNUserNotificationCenter.h"
|
|
21
|
+
#import "NotifeeCore.h"
|
|
22
|
+
|
|
23
|
+
@interface NotifeeCore (RollingTimestampTopUp)
|
|
24
|
+
+ (void)topUpRollingTimestampTriggersWithCompletion:(void (^)(NSError *error))completion;
|
|
25
|
+
@end
|
|
21
26
|
|
|
22
27
|
@implementation NotifeeCoreNSNotificationCenter
|
|
23
28
|
|
|
@@ -42,6 +47,11 @@
|
|
|
42
47
|
selector:@selector(application_onDidFinishLaunchingNotification:)
|
|
43
48
|
name:UIApplicationDidFinishLaunchingNotification
|
|
44
49
|
object:nil];
|
|
50
|
+
[[NSNotificationCenter defaultCenter]
|
|
51
|
+
addObserver:strongSelf
|
|
52
|
+
selector:@selector(application_didBecomeActiveNotification:)
|
|
53
|
+
name:UIApplicationDidBecomeActiveNotification
|
|
54
|
+
object:nil];
|
|
45
55
|
[[NSNotificationCenter defaultCenter]
|
|
46
56
|
addObserver:strongSelf
|
|
47
57
|
selector:@selector(messaging_didReceiveRemoteNotification:)
|
|
@@ -58,21 +68,21 @@
|
|
|
58
68
|
#pragma mark Application Notifications
|
|
59
69
|
|
|
60
70
|
- (void)application_onDidFinishLaunchingNotification:(nonnull NSNotification *)notification {
|
|
61
|
-
|
|
62
|
-
#pragma clang diagnostic ignored "-Wdeprecated-declarations"
|
|
63
|
-
// UIApplicationLaunchOptionsLocalNotificationKey is deprecated since iOS 10.
|
|
64
|
-
// On modern iOS, initial notification is delivered via didReceiveNotificationResponse:
|
|
65
|
-
// which sets _initialNotification and _notificationOpenedAppID directly.
|
|
66
|
-
// This legacy path only works for UILocalNotification (pre-iOS 10).
|
|
67
|
-
UILocalNotification *launchNotification =
|
|
68
|
-
(UILocalNotification *)notification.userInfo[UIApplicationLaunchOptionsLocalNotificationKey];
|
|
69
|
-
[[NotifeeCoreUNUserNotificationCenter instance]
|
|
70
|
-
onDidFinishLaunchingNotification:launchNotification.userInfo];
|
|
71
|
+
[[NotifeeCoreUNUserNotificationCenter instance] markInitialNotificationGathered];
|
|
71
72
|
[[NotifeeCoreUNUserNotificationCenter instance] getInitialNotification];
|
|
72
73
|
|
|
73
74
|
[[NotifeeCoreUNUserNotificationCenter instance] observe];
|
|
74
75
|
}
|
|
75
76
|
|
|
77
|
+
- (void)application_didBecomeActiveNotification:(nonnull NSNotification *)notification {
|
|
78
|
+
[NotifeeCore topUpRollingTimestampTriggersWithCompletion:^(NSError *error) {
|
|
79
|
+
if (error != nil) {
|
|
80
|
+
NSLog(@"NotifeeCore: Failed to top up rolling timestamp triggers after app became active: %@",
|
|
81
|
+
error);
|
|
82
|
+
}
|
|
83
|
+
}];
|
|
84
|
+
}
|
|
85
|
+
|
|
76
86
|
- (void)messaging_didReceiveRemoteNotification:(nonnull NSNotification *)notification {
|
|
77
87
|
// Intentionally empty: remote notifications are handled via
|
|
78
88
|
// UNUserNotificationCenterDelegate (willPresentNotification:,
|
|
@@ -30,7 +30,6 @@ NS_ASSUME_NONNULL_BEGIN
|
|
|
30
30
|
@property(strong, nullable) NSDictionary *initialNotification;
|
|
31
31
|
@property bool initialNotificationGathered;
|
|
32
32
|
@property(nullable) notifeeMethodNSDictionaryBlock initialNotificationBlock;
|
|
33
|
-
@property NSString *initialNoticationID;
|
|
34
33
|
@property NSString *notificationOpenedAppID;
|
|
35
34
|
|
|
36
35
|
+ (_Nonnull instancetype)instance;
|
|
@@ -39,7 +38,7 @@ NS_ASSUME_NONNULL_BEGIN
|
|
|
39
38
|
|
|
40
39
|
- (nullable NSDictionary *)getInitialNotification;
|
|
41
40
|
|
|
42
|
-
- (void)
|
|
41
|
+
- (void)markInitialNotificationGathered;
|
|
43
42
|
|
|
44
43
|
@end
|
|
45
44
|
|