본문 바로가기
카테고리 없음

[React Native] ReactNative Deeplink세팅

by 너구리새우깡 2022. 3. 28.

 

환경

- React Native v0.67.3

- React Navigation v6

 

 

iOS 세팅 

1. AppDelegate.m 에 소스 추가

#import <React/RCTLinkingManager.h>

- (BOOL)application:(UIApplication *)applicationopenURL:(NSURL *)urloptions:(NSDictionary<UIApplicationOpenURLOptionsKey,id> *)options{return [RCTLinkingManager application:application openURL:url options:options];}


- (BOOL)application:(UIApplication *)application continueUserActivity:(nonnull NSUserActivity *)userActivity
restorationHandler:(nonnull void (^)(NSArray<id<UIUserActivityRestoring>> * _Nullable))restorationHandler
{
return [RCTLinkingManager application:application
continueUserActivity:userActivity
restorationHandler:restorationHandler];
}

...

@end

 

2. Scheme를 추가한다. 

방법 1. 터미널에 입력하는 방법

npx uri-scheme add 스키마명 --ios

ex) npx uri-scheme add helloapp --ios

 

방법 2. Xcode 에 입력하는 방법

 

Target - Info - URL Types에 Identifier와 scheme 를 입력한다. 

 

 

Android 세팅

3. scheme를 등록한다. 

방법 1. 터미널에 입력하는 방법

npx uri-scheme add 스키마명 --android

ex) npx uri-scheme add helloapp --android

 

방법 2. 안드로이드스튜디오에 입력하는 방법

 

 

4. 테스트 해본다.

iOS

1) npx react-native run-ios 로 앱 실행 후, 앱을 내려놓거나 종료 해둔다.

2) npx uri-scheme open 딥링크 --ios

 ex. npx uri-scheme open helloapp:// --ios

 

Android

1) npx react-native run-android로 앱 실행 후, 앱을 내려놓거나 종료 해둔다.

2) npx uri-scheme open 딥링크 --android

 ex. npx uri-scheme open helloapp:// --android

 

 

 

 

 

참고링크

https://reactnavigation.org/docs/deep-linking

 

https://reactnavigation.org/docs/deep-linking/

 

reactnavigation.org