#react-native #push-notification #linker #deep-linking
#react-native #push-уведомление #компоновщик #глубокая компоновка
Вопрос:
Для ios, если push-уведомление получено, когда приложение находится на переднем плане, когда пользователь нажимает на push-уведомление, Linking.addEventListener не выполняется.
Требуется переместить пользователя на определенную страницу после нажатия push-уведомления.
Если приложение не запущено или приложение открыто, но в фоновом режиме. В обоих случаях Linking.addEventListener работает должным образом.
** Код из appdelegate.m
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url
sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
{
return [RCTLinkingManager application:application openURL:url
sourceApplication:sourceApplication annotation:annotation];
}
// Only if your app is using [Universal Links](https://developer.apple.com/library/prerelease/ios/documentation/General/Conceptual/AppSearch/UniversalLinks.html).
- (BOOL)application:(UIApplication *)application continueUserActivity:(NSUserActivity *)userActivity
restorationHandler:(void (^)(NSArray * _Nullable))restorationHandler
{
return [RCTLinkingManager application:application
continueUserActivity:userActivity
restorationHandler:restorationHandler];
}
react-собственный код для обработки глубоких ссылок
if (Platform.OS === 'android') {
Linking.getInitialURL().then(url => {
const { navigate } = this.props.navigation;
let c = url.replace("abcdapp://abcd/", "")
navigate(c)
});
} else {
Linking.addEventListener('url', this.handleOpenURL);
}
Linking.addEventListener('url', this.handleOpenURL);
Комментарии:
1. Вы решаете это?
2. Вы решили эту проблему, если да, пожалуйста, помогите мне, я также сталкиваюсь с этой проблемой для IOS.