Chore: Upgrade react-native-notifications to 4.2.4 (#3958)
Co-authored-by: Diego Mello <diegolmello@gmail.com>
This commit is contained in:
parent
cd0c8abced
commit
5494037f78
|
@ -277,14 +277,14 @@ android {
|
||||||
dependencies {
|
dependencies {
|
||||||
addUnimodulesDependencies()
|
addUnimodulesDependencies()
|
||||||
implementation project(':@react-native-community_viewpager')
|
implementation project(':@react-native-community_viewpager')
|
||||||
playImplementation project(':reactnativenotifications')
|
playImplementation project(':react-native-notifications')
|
||||||
|
playImplementation 'com.google.firebase:firebase-core:16.0.0'
|
||||||
playImplementation project(':@react-native-firebase_app')
|
playImplementation project(':@react-native-firebase_app')
|
||||||
playImplementation project(':@react-native-firebase_analytics')
|
playImplementation project(':@react-native-firebase_analytics')
|
||||||
playImplementation project(':@react-native-firebase_crashlytics')
|
playImplementation project(':@react-native-firebase_crashlytics')
|
||||||
implementation fileTree(dir: "libs", include: ["*.jar"])
|
implementation fileTree(dir: "libs", include: ["*.jar"])
|
||||||
//noinspection GradleDynamicVersion
|
//noinspection GradleDynamicVersion
|
||||||
implementation "com.facebook.react:react-native:+" // From node_modules
|
implementation "com.facebook.react:react-native:+" // From node_modules
|
||||||
playImplementation "com.google.firebase:firebase-messaging:18.0.0"
|
|
||||||
implementation "androidx.swiperefreshlayout:swiperefreshlayout:1.0.0"
|
implementation "androidx.swiperefreshlayout:swiperefreshlayout:1.0.0"
|
||||||
debugImplementation("com.facebook.flipper:flipper:${FLIPPER_VERSION}") {
|
debugImplementation("com.facebook.flipper:flipper:${FLIPPER_VERSION}") {
|
||||||
exclude group:'com.facebook.fbjni'
|
exclude group:'com.facebook.fbjni'
|
||||||
|
|
|
@ -3,7 +3,6 @@ package chat.rocket.reactnative;
|
||||||
import android.app.Application;
|
import android.app.Application;
|
||||||
|
|
||||||
import com.facebook.react.ReactPackage;
|
import com.facebook.react.ReactPackage;
|
||||||
import com.wix.reactnativenotifications.RNNotificationsPackage;
|
|
||||||
|
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
@ -17,8 +16,7 @@ public class AdditionalModules {
|
||||||
return Arrays.<ReactPackage>asList(
|
return Arrays.<ReactPackage>asList(
|
||||||
new ReactNativeFirebaseAnalyticsPackage(),
|
new ReactNativeFirebaseAnalyticsPackage(),
|
||||||
new ReactNativeFirebaseAppPackage(),
|
new ReactNativeFirebaseAppPackage(),
|
||||||
new ReactNativeFirebaseCrashlyticsPackage(),
|
new ReactNativeFirebaseCrashlyticsPackage()
|
||||||
new RNNotificationsPackage(application)
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,8 +2,6 @@ apply from: '../node_modules/react-native-unimodules/gradle.groovy'
|
||||||
includeUnimodulesProjects()
|
includeUnimodulesProjects()
|
||||||
|
|
||||||
rootProject.name = 'RocketChatRN'
|
rootProject.name = 'RocketChatRN'
|
||||||
include ':reactnativenotifications'
|
|
||||||
project(':reactnativenotifications').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-notifications/android/app')
|
|
||||||
include ':@react-native-community_viewpager'
|
include ':@react-native-community_viewpager'
|
||||||
project(':@react-native-community_viewpager').projectDir = new File(rootProject.projectDir, '../node_modules/@react-native-community/viewpager/android')
|
project(':@react-native-community_viewpager').projectDir = new File(rootProject.projectDir, '../node_modules/@react-native-community/viewpager/android')
|
||||||
include ':@react-native-firebase_app'
|
include ':@react-native-firebase_app'
|
||||||
|
|
|
@ -1,13 +1,15 @@
|
||||||
export interface INotification {
|
export interface INotification {
|
||||||
message: string;
|
payload: {
|
||||||
style: string;
|
message: string;
|
||||||
ejson: string;
|
style: string;
|
||||||
collapse_key: string;
|
ejson: string;
|
||||||
notId: string;
|
collapse_key: string;
|
||||||
msgcnt: string;
|
notId: string;
|
||||||
title: string;
|
msgcnt: string;
|
||||||
from: string;
|
title: string;
|
||||||
image: string;
|
from: string;
|
||||||
soundname: string;
|
image: string;
|
||||||
getData: () => INotification;
|
soundname: string;
|
||||||
|
};
|
||||||
|
identifier: string;
|
||||||
}
|
}
|
||||||
|
|
|
@ -17,9 +17,9 @@ interface IEjson {
|
||||||
}
|
}
|
||||||
|
|
||||||
export const onNotification = (push: INotification): void => {
|
export const onNotification = (push: INotification): void => {
|
||||||
if (push) {
|
if (push.payload) {
|
||||||
try {
|
try {
|
||||||
const notification = push?.getData();
|
const notification = push.payload;
|
||||||
const { rid, name, sender, type, host, messageType, messageId }: IEjson = EJSON.parse(notification.ejson);
|
const { rid, name, sender, type, host, messageType, messageId }: IEjson = EJSON.parse(notification.ejson);
|
||||||
|
|
||||||
const types: Record<string, string> = {
|
const types: Record<string, string> = {
|
||||||
|
@ -40,7 +40,6 @@ export const onNotification = (push: INotification): void => {
|
||||||
path: `${types[type]}/${roomName}`,
|
path: `${types[type]}/${roomName}`,
|
||||||
isCall: messageType === 'jitsi_call_started'
|
isCall: messageType === 'jitsi_call_started'
|
||||||
};
|
};
|
||||||
// TODO REDUX MIGRATION TO TS
|
|
||||||
store.dispatch(deepLinkingOpen(params));
|
store.dispatch(deepLinkingOpen(params));
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
console.warn(e);
|
console.warn(e);
|
||||||
|
|
|
@ -1,63 +0,0 @@
|
||||||
// @ts-ignore
|
|
||||||
// TODO BUMP LIB VERSION
|
|
||||||
import NotificationsIOS, { NotificationAction, NotificationCategory, Notification } from 'react-native-notifications';
|
|
||||||
|
|
||||||
import { store as reduxStore } from '../../lib/store/auxStore';
|
|
||||||
import I18n from '../../i18n';
|
|
||||||
import { INotification } from '../../definitions/INotification';
|
|
||||||
|
|
||||||
class PushNotification {
|
|
||||||
onNotification: (notification: Notification) => void;
|
|
||||||
deviceToken: string;
|
|
||||||
|
|
||||||
constructor() {
|
|
||||||
this.onNotification = () => {};
|
|
||||||
this.deviceToken = '';
|
|
||||||
|
|
||||||
NotificationsIOS.addEventListener('remoteNotificationsRegistered', (deviceToken: string) => {
|
|
||||||
this.deviceToken = deviceToken;
|
|
||||||
});
|
|
||||||
|
|
||||||
NotificationsIOS.addEventListener('notificationOpened', (notification: Notification, completion: () => void) => {
|
|
||||||
// TODO REDUX MIGRATION TO TS
|
|
||||||
const { background } = reduxStore.getState().app;
|
|
||||||
if (background) {
|
|
||||||
this.onNotification(notification);
|
|
||||||
}
|
|
||||||
completion();
|
|
||||||
});
|
|
||||||
|
|
||||||
const actions = [
|
|
||||||
new NotificationCategory({
|
|
||||||
identifier: 'MESSAGE',
|
|
||||||
actions: [
|
|
||||||
new NotificationAction({
|
|
||||||
activationMode: 'background',
|
|
||||||
title: I18n.t('Reply'),
|
|
||||||
textInput: {
|
|
||||||
buttonTitle: I18n.t('Reply'),
|
|
||||||
placeholder: I18n.t('Type_message')
|
|
||||||
},
|
|
||||||
identifier: 'REPLY_ACTION'
|
|
||||||
})
|
|
||||||
]
|
|
||||||
})
|
|
||||||
];
|
|
||||||
NotificationsIOS.requestPermissions(actions);
|
|
||||||
}
|
|
||||||
|
|
||||||
getDeviceToken() {
|
|
||||||
return this.deviceToken;
|
|
||||||
}
|
|
||||||
|
|
||||||
setBadgeCount = (count = 0) => {
|
|
||||||
NotificationsIOS.setBadgesCount(count);
|
|
||||||
};
|
|
||||||
|
|
||||||
async configure(onNotification: (notification: INotification) => void) {
|
|
||||||
this.onNotification = onNotification;
|
|
||||||
const initial = await NotificationsIOS.getInitialNotification();
|
|
||||||
return Promise.resolve(initial);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
export default new PushNotification();
|
|
|
@ -1,35 +1,87 @@
|
||||||
// @ts-ignore
|
import {
|
||||||
// TODO BUMP LIB VERSION
|
Notifications,
|
||||||
import { NotificationsAndroid, PendingNotifications, Notification } from 'react-native-notifications';
|
Registered,
|
||||||
|
RegistrationError,
|
||||||
|
NotificationCompletion,
|
||||||
|
Notification,
|
||||||
|
NotificationAction,
|
||||||
|
NotificationCategory
|
||||||
|
} from 'react-native-notifications';
|
||||||
|
|
||||||
import { INotification } from '../../definitions/INotification';
|
import { INotification } from '../../definitions/INotification';
|
||||||
|
import { isIOS } from '../../utils/deviceInfo';
|
||||||
|
import { store as reduxStore } from '../../lib/store/auxStore';
|
||||||
|
import I18n from '../../i18n';
|
||||||
|
|
||||||
class PushNotification {
|
class PushNotification {
|
||||||
onNotification: (notification: Notification) => void;
|
onNotification: (notification: any) => void;
|
||||||
deviceToken: string;
|
deviceToken: string;
|
||||||
constructor() {
|
constructor() {
|
||||||
this.onNotification = () => {};
|
this.onNotification = () => {};
|
||||||
this.deviceToken = '';
|
this.deviceToken = '';
|
||||||
|
if (isIOS) {
|
||||||
|
// init
|
||||||
|
Notifications.ios.registerRemoteNotifications();
|
||||||
|
|
||||||
NotificationsAndroid.setRegistrationTokenUpdateListener((deviceToken: string) => {
|
// setCategories
|
||||||
this.deviceToken = deviceToken;
|
const notificationAction = new NotificationAction('REPLY_ACTION', 'background', I18n.t('Reply'), true, {
|
||||||
|
buttonTitle: I18n.t('Reply'),
|
||||||
|
placeholder: I18n.t('Type_message')
|
||||||
|
});
|
||||||
|
const notificationCategory = new NotificationCategory('MESSAGE', [notificationAction]);
|
||||||
|
Notifications.setCategories([notificationCategory]);
|
||||||
|
} else {
|
||||||
|
// init
|
||||||
|
Notifications.android.registerRemoteNotifications();
|
||||||
|
}
|
||||||
|
|
||||||
|
Notifications.events().registerRemoteNotificationsRegistered((event: Registered) => {
|
||||||
|
this.deviceToken = event.deviceToken;
|
||||||
});
|
});
|
||||||
|
|
||||||
NotificationsAndroid.setNotificationOpenedListener((notification: Notification) => {
|
Notifications.events().registerRemoteNotificationsRegistrationFailed((event: RegistrationError) => {
|
||||||
this.onNotification(notification);
|
// TODO: Handle error
|
||||||
|
console.log(event);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
Notifications.events().registerNotificationReceivedForeground(
|
||||||
|
(notification: Notification, completion: (response: NotificationCompletion) => void) => {
|
||||||
|
completion({ alert: true, sound: true, badge: false });
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
Notifications.events().registerNotificationOpened((notification: Notification, completion: () => void) => {
|
||||||
|
if (isIOS) {
|
||||||
|
const { background } = reduxStore.getState().app;
|
||||||
|
if (background) {
|
||||||
|
this.onNotification(notification);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
this.onNotification(notification);
|
||||||
|
}
|
||||||
|
completion();
|
||||||
|
});
|
||||||
|
|
||||||
|
Notifications.events().registerNotificationReceivedBackground(
|
||||||
|
(notification: Notification, completion: (response: any) => void) => {
|
||||||
|
completion({ alert: true, sound: true, badge: false });
|
||||||
|
}
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
getDeviceToken() {
|
getDeviceToken() {
|
||||||
return this.deviceToken;
|
return this.deviceToken;
|
||||||
}
|
}
|
||||||
|
|
||||||
setBadgeCount = (_?: number) => {};
|
setBadgeCount = (count?: number) => {
|
||||||
|
if (isIOS && count) {
|
||||||
|
Notifications.ios.setBadgeCount(count);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
configure(onNotification: (notification: INotification) => void) {
|
configure(onNotification: (notification: INotification) => void): Promise<any> {
|
||||||
this.onNotification = onNotification;
|
this.onNotification = onNotification;
|
||||||
NotificationsAndroid.refreshToken();
|
return Notifications.getInitialNotification();
|
||||||
return PendingNotifications.getInitialNotification();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -415,8 +415,8 @@ PODS:
|
||||||
- React-Core
|
- React-Core
|
||||||
- react-native-netinfo (6.0.0):
|
- react-native-netinfo (6.0.0):
|
||||||
- React-Core
|
- React-Core
|
||||||
- react-native-notifications (2.1.7):
|
- react-native-notifications (4.2.4):
|
||||||
- React
|
- React-Core
|
||||||
- react-native-orientation-locker (1.1.8):
|
- react-native-orientation-locker (1.1.8):
|
||||||
- React
|
- React
|
||||||
- react-native-restart (0.0.22):
|
- react-native-restart (0.0.22):
|
||||||
|
@ -1004,7 +1004,7 @@ SPEC CHECKSUMS:
|
||||||
react-native-jitsi-meet: 3e3ac5d0445091154119f94342efd55c8b1124ce
|
react-native-jitsi-meet: 3e3ac5d0445091154119f94342efd55c8b1124ce
|
||||||
react-native-mmkv-storage: 88bcb10bbe85a8122061d17d03abcc64a02fe1c9
|
react-native-mmkv-storage: 88bcb10bbe85a8122061d17d03abcc64a02fe1c9
|
||||||
react-native-netinfo: e849fc21ca2f4128a5726c801a82fc6f4a6db50d
|
react-native-netinfo: e849fc21ca2f4128a5726c801a82fc6f4a6db50d
|
||||||
react-native-notifications: ee8fd739853e72694f3af8b374c8ccb106b7b227
|
react-native-notifications: 3de8ef9cd800e5db0225d9aa46b228d2b94ce51e
|
||||||
react-native-orientation-locker: f0ca1a8e5031dab6b74bfb4ab33a17ed2c2fcb0d
|
react-native-orientation-locker: f0ca1a8e5031dab6b74bfb4ab33a17ed2c2fcb0d
|
||||||
react-native-restart: 733a51ad137f15b0f8dc34c4082e55af7da00979
|
react-native-restart: 733a51ad137f15b0f8dc34c4082e55af7da00979
|
||||||
react-native-safe-area-context: f0906bf8bc9835ac9a9d3f97e8bde2a997d8da79
|
react-native-safe-area-context: f0906bf8bc9835ac9a9d3f97e8bde2a997d8da79
|
||||||
|
|
|
@ -98,7 +98,7 @@
|
||||||
"react-native-mmkv-storage": "0.6.12",
|
"react-native-mmkv-storage": "0.6.12",
|
||||||
"react-native-modal": "11.10.0",
|
"react-native-modal": "11.10.0",
|
||||||
"react-native-navigation-bar-color": "2.0.1",
|
"react-native-navigation-bar-color": "2.0.1",
|
||||||
"react-native-notifications": "2.1.7",
|
"react-native-notifications": "^4.2.4",
|
||||||
"react-native-notifier": "1.6.1",
|
"react-native-notifier": "1.6.1",
|
||||||
"react-native-orientation-locker": "1.1.8",
|
"react-native-orientation-locker": "1.1.8",
|
||||||
"react-native-picker-select": "^8.0.4",
|
"react-native-picker-select": "^8.0.4",
|
||||||
|
|
|
@ -1,28 +0,0 @@
|
||||||
diff --git a/node_modules/react-native-notifications/android/app/src/main/java/com/wix/reactnativenotifications/core/notification/PushNotification.java b/node_modules/react-native-notifications/android/app/src/main/java/com/wix/reactnativenotifications/core/notification/PushNotification.java
|
|
||||||
index 524ff07..70f22d5 100644
|
|
||||||
--- a/node_modules/react-native-notifications/android/app/src/main/java/com/wix/reactnativenotifications/core/notification/PushNotification.java
|
|
||||||
+++ b/node_modules/react-native-notifications/android/app/src/main/java/com/wix/reactnativenotifications/core/notification/PushNotification.java
|
|
||||||
@@ -31,7 +31,7 @@ public class PushNotification implements IPushNotification {
|
|
||||||
final protected AppLifecycleFacade mAppLifecycleFacade;
|
|
||||||
final protected AppLaunchHelper mAppLaunchHelper;
|
|
||||||
final protected JsIOHelper mJsIOHelper;
|
|
||||||
- final protected PushNotificationProps mNotificationProps;
|
|
||||||
+ protected PushNotificationProps mNotificationProps;
|
|
||||||
final protected AppVisibilityListener mAppVisibilityListener = new AppVisibilityListener() {
|
|
||||||
@Override
|
|
||||||
public void onAppVisible() {
|
|
||||||
diff --git a/node_modules/react-native-notifications/android/app/src/reactNative59/java/com/wix/reactnativenotifications/NotificationManagerCompatFacade.java b/node_modules/react-native-notifications/android/app/src/reactNative59/java/com/wix/reactnativenotifications/NotificationManagerCompatFacade.java
|
|
||||||
index f9c858b..94ea188 100644
|
|
||||||
--- a/node_modules/react-native-notifications/android/app/src/reactNative59/java/com/wix/reactnativenotifications/NotificationManagerCompatFacade.java
|
|
||||||
+++ b/node_modules/react-native-notifications/android/app/src/reactNative59/java/com/wix/reactnativenotifications/NotificationManagerCompatFacade.java
|
|
||||||
@@ -2,8 +2,8 @@
|
|
||||||
package com.wix.reactnativenotifications;
|
|
||||||
|
|
||||||
import android.content.Context;
|
|
||||||
-import android.support.annotation.NonNull;
|
|
||||||
-import android.support.v4.app.NotificationManagerCompat;
|
|
||||||
+import androidx.annotation.NonNull;
|
|
||||||
+import androidx.core.app.NotificationManagerCompat;
|
|
||||||
|
|
||||||
public abstract class NotificationManagerCompatFacade {
|
|
||||||
public static NotificationManagerCompat from(@NonNull Context context) {
|
|
|
@ -0,0 +1,79 @@
|
||||||
|
diff --git a/node_modules/react-native-notifications/android/app/src/reactNative59/java/com/wix/reactnativenotifications/NotificationManagerCompatFacade.java b/node_modules/react-native-notifications/android/app/src/reactNative59/java/com/wix/reactnativenotifications/NotificationManagerCompatFacade.java
|
||||||
|
index f9c858b..94ea188 100644
|
||||||
|
--- a/node_modules/react-native-notifications/android/app/src/reactNative59/java/com/wix/reactnativenotifications/NotificationManagerCompatFacade.java
|
||||||
|
+++ b/node_modules/react-native-notifications/android/app/src/reactNative59/java/com/wix/reactnativenotifications/NotificationManagerCompatFacade.java
|
||||||
|
@@ -2,8 +2,8 @@
|
||||||
|
package com.wix.reactnativenotifications;
|
||||||
|
|
||||||
|
import android.content.Context;
|
||||||
|
-import android.support.annotation.NonNull;
|
||||||
|
-import android.support.v4.app.NotificationManagerCompat;
|
||||||
|
+import androidx.annotation.NonNull;
|
||||||
|
+import androidx.core.app.NotificationManagerCompat;
|
||||||
|
|
||||||
|
public abstract class NotificationManagerCompatFacade {
|
||||||
|
public static NotificationManagerCompat from(@NonNull Context context) {
|
||||||
|
diff --git a/node_modules/react-native-notifications/lib/android/app/src/main/java/com/wix/reactnativenotifications/core/notification/PushNotification.java b/node_modules/react-native-notifications/lib/android/app/src/main/java/com/wix/reactnativenotifications/core/notification/PushNotification.java
|
||||||
|
index b93f762..c2b736a 100644
|
||||||
|
--- a/node_modules/react-native-notifications/lib/android/app/src/main/java/com/wix/reactnativenotifications/core/notification/PushNotification.java
|
||||||
|
+++ b/node_modules/react-native-notifications/lib/android/app/src/main/java/com/wix/reactnativenotifications/core/notification/PushNotification.java
|
||||||
|
@@ -28,7 +28,7 @@ public class PushNotification implements IPushNotification {
|
||||||
|
final protected AppLifecycleFacade mAppLifecycleFacade;
|
||||||
|
final protected AppLaunchHelper mAppLaunchHelper;
|
||||||
|
final protected JsIOHelper mJsIOHelper;
|
||||||
|
- final protected PushNotificationProps mNotificationProps;
|
||||||
|
+ protected PushNotificationProps mNotificationProps;
|
||||||
|
final protected AppVisibilityListener mAppVisibilityListener = new AppVisibilityListener() {
|
||||||
|
@Override
|
||||||
|
public void onAppVisible() {
|
||||||
|
diff --git a/node_modules/react-native-notifications/lib/android/app/src/reactNative59/java/com/wix/reactnativenotifications/NotificationManagerCompatFacade.java b/node_modules/react-native-notifications/lib/android/app/src/reactNative59/java/com/wix/reactnativenotifications/NotificationManagerCompatFacade.java
|
||||||
|
index f9c858b..94ea188 100644
|
||||||
|
--- a/node_modules/react-native-notifications/lib/android/app/src/reactNative59/java/com/wix/reactnativenotifications/NotificationManagerCompatFacade.java
|
||||||
|
+++ b/node_modules/react-native-notifications/lib/android/app/src/reactNative59/java/com/wix/reactnativenotifications/NotificationManagerCompatFacade.java
|
||||||
|
@@ -2,8 +2,8 @@
|
||||||
|
package com.wix.reactnativenotifications;
|
||||||
|
|
||||||
|
import android.content.Context;
|
||||||
|
-import android.support.annotation.NonNull;
|
||||||
|
-import android.support.v4.app.NotificationManagerCompat;
|
||||||
|
+import androidx.annotation.NonNull;
|
||||||
|
+import androidx.core.app.NotificationManagerCompat;
|
||||||
|
|
||||||
|
public abstract class NotificationManagerCompatFacade {
|
||||||
|
public static NotificationManagerCompat from(@NonNull Context context) {
|
||||||
|
diff --git a/node_modules/react-native-notifications/lib/ios/RNNotificationCenter.m b/node_modules/react-native-notifications/lib/ios/RNNotificationCenter.m
|
||||||
|
index 4b33656..36aaa47 100644
|
||||||
|
--- a/node_modules/react-native-notifications/lib/ios/RNNotificationCenter.m
|
||||||
|
+++ b/node_modules/react-native-notifications/lib/ios/RNNotificationCenter.m
|
||||||
|
@@ -29,18 +29,20 @@ - (void)requestPermissions:(NSDictionary *)options {
|
||||||
|
authOptions = authOptions | UNAuthorizationOptionAnnouncement;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
+ if(![[[NSBundle mainBundle] bundlePath] hasSuffix:@".appex"]){
|
||||||
|
+ [UNUserNotificationCenter.currentNotificationCenter requestAuthorizationWithOptions:authOptions completionHandler:^(BOOL granted, NSError * _Nullable error) {
|
||||||
|
+ if (!error && granted) {
|
||||||
|
+ [UNUserNotificationCenter.currentNotificationCenter getNotificationSettingsWithCompletionHandler:^(UNNotificationSettings * _Nonnull settings) {
|
||||||
|
+ if (settings.authorizationStatus == UNAuthorizationStatusAuthorized || settings.authorizationStatus == UNAuthorizationStatusProvisional) {
|
||||||
|
+ dispatch_async(dispatch_get_main_queue(), ^{
|
||||||
|
+ [[UIApplication sharedApplication] registerForRemoteNotifications];
|
||||||
|
+ });
|
||||||
|
+ }
|
||||||
|
+ }];
|
||||||
|
+ }
|
||||||
|
+ }];
|
||||||
|
+ }
|
||||||
|
|
||||||
|
- [UNUserNotificationCenter.currentNotificationCenter requestAuthorizationWithOptions:authOptions completionHandler:^(BOOL granted, NSError * _Nullable error) {
|
||||||
|
- if (!error && granted) {
|
||||||
|
- [UNUserNotificationCenter.currentNotificationCenter getNotificationSettingsWithCompletionHandler:^(UNNotificationSettings * _Nonnull settings) {
|
||||||
|
- if (settings.authorizationStatus == UNAuthorizationStatusAuthorized || settings.authorizationStatus == UNAuthorizationStatusProvisional) {
|
||||||
|
- dispatch_async(dispatch_get_main_queue(), ^{
|
||||||
|
- [[UIApplication sharedApplication] registerForRemoteNotifications];
|
||||||
|
- });
|
||||||
|
- }
|
||||||
|
- }];
|
||||||
|
- }
|
||||||
|
- }];
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void)setCategories:(NSArray *)json {
|
|
@ -1,10 +1,5 @@
|
||||||
module.exports = {
|
module.exports = {
|
||||||
dependencies: {
|
dependencies: {
|
||||||
'react-native-notifications': {
|
|
||||||
platforms: {
|
|
||||||
android: null
|
|
||||||
}
|
|
||||||
},
|
|
||||||
'@react-native-firebase/app': {
|
'@react-native-firebase/app': {
|
||||||
platforms: {
|
platforms: {
|
||||||
android: null
|
android: null
|
||||||
|
|
16
yarn.lock
16
yarn.lock
|
@ -14836,13 +14836,10 @@ react-native-navigation-bar-color@2.0.1:
|
||||||
resolved "https://registry.yarnpkg.com/react-native-navigation-bar-color/-/react-native-navigation-bar-color-2.0.1.tgz#ee2be25cc37105f7da355717b0a9a32c9c059ae6"
|
resolved "https://registry.yarnpkg.com/react-native-navigation-bar-color/-/react-native-navigation-bar-color-2.0.1.tgz#ee2be25cc37105f7da355717b0a9a32c9c059ae6"
|
||||||
integrity sha512-1kE/oxWt+HYjRxdZdvke9tJ365xaee5n3+euOQA1En8zQuSbOxiE4SYEGM7TeaWnmLJ0l37mRnPHaB2H4mGh0A==
|
integrity sha512-1kE/oxWt+HYjRxdZdvke9tJ365xaee5n3+euOQA1En8zQuSbOxiE4SYEGM7TeaWnmLJ0l37mRnPHaB2H4mGh0A==
|
||||||
|
|
||||||
react-native-notifications@2.1.7:
|
react-native-notifications@^4.2.4:
|
||||||
version "2.1.7"
|
version "4.2.4"
|
||||||
resolved "https://registry.yarnpkg.com/react-native-notifications/-/react-native-notifications-2.1.7.tgz#ef836f6f8c12bdc5103598035590347811426a70"
|
resolved "https://registry.yarnpkg.com/react-native-notifications/-/react-native-notifications-4.2.4.tgz#0d686eb1576d3d9cb73dd9db1ee4f212e00f7d89"
|
||||||
integrity sha512-m9jfpobP1BpqG2w6pN2kKzKJt2bqrLIRS3QAuH0MU0dpRwib/4ehaAUKOiFj+xVCtuKHALpceb97FHuA0i4dkw==
|
integrity sha512-ffToxERa2bRUsXShCO19yXY6c6l4Esq7MqRKAb4mPSn+T428X7Je7WYvWOIOVw/BMGJ3R0lPrZk52vDpoYqanw==
|
||||||
dependencies:
|
|
||||||
core-js "^1.0.0"
|
|
||||||
uuid "^2.0.3"
|
|
||||||
|
|
||||||
react-native-notifier@1.6.1:
|
react-native-notifier@1.6.1:
|
||||||
version "1.6.1"
|
version "1.6.1"
|
||||||
|
@ -17683,11 +17680,6 @@ utils-merge@1.0.1:
|
||||||
resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713"
|
resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713"
|
||||||
integrity sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=
|
integrity sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=
|
||||||
|
|
||||||
uuid@^2.0.3:
|
|
||||||
version "2.0.3"
|
|
||||||
resolved "https://registry.yarnpkg.com/uuid/-/uuid-2.0.3.tgz#67e2e863797215530dff318e5bf9dcebfd47b21a"
|
|
||||||
integrity sha1-Z+LoY3lyFVMN/zGOW/nc6/1Hsho=
|
|
||||||
|
|
||||||
uuid@^3.0.1, uuid@^3.3.2, uuid@^3.4.0:
|
uuid@^3.0.1, uuid@^3.3.2, uuid@^3.4.0:
|
||||||
version "3.4.0"
|
version "3.4.0"
|
||||||
resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee"
|
resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee"
|
||||||
|
|
Loading…
Reference in New Issue