2017-09-19 14 views
0

IOSのネイティブなプロジェクトで作業しています。アプリケーションが強制終了されると、プッシュ通知後にアクションを実行します。react-native、IOS

アプリが死んでいるとプッシュ通知を受信する -

私はアプリは、通知のペイロードに基づいて別のページに移動します。 アプリがフォアグラウンドまたはバックグラウンドの場合、すべて正常に機能します。 アプリが殺されたとき - アプリはちょうどそれ自身を開きます。

が私のAppdelegate.mコードです。 私は通知をキャッチしてコンソールに記録しますが、反応ネイティブに送信する方法はわかりません。あなたはアプリのdeep linkingのいくつかの並べ替えを実装する必要があり、このような動作を実現するには(ExpoKitに切り離さ)RN 0.46

博覧会19

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler 
{ 
    _window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds]; 
    _window.backgroundColor = [UIColor whiteColor]; 
    [[ExpoKit sharedInstance] application:application didFinishLaunchingWithOptions:launchOptions]; 
    _rootViewController = [ExpoKit sharedInstance].rootViewController; 
    _window.rootViewController = _rootViewController; 

    [_rootViewController loadReactApplication]; 
    [_window makeKeyAndVisible]; 


    if ([launchOptions objectForKey:UIApplicationLaunchOptionsRemoteNotificationKey]) { 
      NSDictionary *notification = [launchOptions objectForKey:UIApplicationLaunchOptionsRemoteNotificationKey]; 
      if (notification) { 
       //logs the notification's payload 
       NSLog(@"app recieved notification from remote%@",notification); 
      } else { 
       NSLog(@"app did not recieve notification"); 
      } 

    } 

    return YES; 
} 

https://jsfiddle.net/nirbenya/pxojj7qv/

答えて

0

を使用して

。これにより、反応したネイティブのアプリでペイロードをリッスンし、正しい画面に移動できます。 react-navigationおよびreact-native-navigationには、ディープリンクのための独自の実装があります。反応ネイティブドキュメントから

、アプリがあなたが望む任意のコンポーネントからアクセスして処理することができ あなたのアプリに登録されている外部のURLから起動された場合にはディープリンク

の取り扱い

componentDidMount() { 
    Linking.getInitialURL().then((url) => { 
    if (url) { 
     console.log('Initial url is: ' + url); 
    } 
    }).catch(err => console.error('An error occurred', err)); 
} 
+0

おかげで、私のアプリは外部URLから起動されませんでした。それは起動しました –

+0

@ NirBen-Yair通知を送信するためにどのサービスを使用していますか? – bennygenel

+0

通常のPushNotificationsIOSはreact-nativeに付属しています。 1つの信号や火災基地のようなカスタムはありません。私も博覧会から出てきました、そして、私はそれが関連しているかもしれないと思います。 –

関連する問題