react-native Linking_ 페이스북 딥링크 테스트
[공식문서] react-native linking: Linking
수신 및 발신 앱 링크 모두와 상호 작용할 수 있는 일반 인터페이스를 제공
addEventListener(type, handler);
getInitialURL();
removeEventListener(type, handler);
딥링크 테스트
딥링크 처리
✔️딥 링크 처리
앱을 여는 URL을 처리하는 방법에는 두 가지가 있는데
1) 앱이 이미 열려 있으면 앱이 foreground되고 Linking 'url' 이벤트가 발생
2) 앱이 아직 열려 있지 않은 경우 앱이 열리고 url
이 initialURL
로 전달
딥링크 테스트 준비
1. AppContainer 셋팅
const AppContainer = () => {
const screens = {
Intro: '/welcome',
MainStack: {
screens: {
MainTabNav: {
screens: {
Home: {
screens: {
Index: '/',
Search: '/search',
},
},
},
},
},
},
ChallengeDetailScreen: '/MainStack/challengedetail/:id',
};
const linking = {
prefixes: [
'myapp://',
],
// IOS && ANDROID : 앱이 딥링크로 처음 실행될때, 앱이 열려있지 않을 때
// getInitialURL(): 앱 실행이 앱 링크에 의해 트리거된 경우 링크 url을 제공하고 그렇지 않으면 null
async getInitialURL() {
const url = await Linking.getInitialURL();
if (url != null) {
return url;
}
return null;
},
subscribe(listener) {
const onReceiveURL = (event) => {
const { url } = event;
return listener(url);
};
// IOS : 앱이 딥링크로 처음 실행될때, 앱이 열려있지 않을 때 && 앱이 실행 중일 때
// ANDROID : 앱이 실행 중일 때
// addEventListener(type, handler): url이벤트 유형 을 수신하고 핸들러를 제공하여 링크 변경에 핸들러를 추가하기
Linking.addEventListener('url', onReceiveURL);
return () => {
Linking.removeEventListener('url', onReceiveURL);
};
},
config: { screens },
};
return (
<NavigationContainer
linking={linking}
>
...
</NavigationContainer>
)
}
딥링크 테스트
✔️ 터미널로 테스트 하기
// iOS
npx uri-scheme open myapp://mycontents --ios
// 안드로이드
npx uri-scheme open myapp://mycontents --android
✔️ 페이스북 앱 광고 지원 도구에서 테스트 하기
1) https://developers.facebook.com/tools/ 접속
2) 앱 광고 지원 도구 클릭
3) 앱 선택 후 진입
4) 하단 > 테스트 링크 전송하기
Author And Source
이 문제에 관하여(react-native Linking_ 페이스북 딥링크 테스트), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@april_5/FBsdk-페이스북-딥링크-테스트저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)