shpongle2634 / react-native-kakao-links

React-Native Kakao Link Module

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

iosExecutionParams 에 어떤걸 넣어야하나요

hckcksrl opened this issue · comments

iosExecutionParams에 넣을 url을 몰라서 react-navigation 을 보고 그대로 따라했습니다.
이때 ' xcrun simctl openurl booted URLSchema://Route?params=id ' 를 했더니 시뮬레이터에서는 바로 Route/parmas=id , 지정한 네비게이션화면으로 바로 넘어갔습니다.
그래서 디바이스 에서도 작동이 잘되나 해봣습니다. iosExecutionParams :"Route?params=id" 넣고 링크를 걸어봣는데 계속 메인화면만 뜹니다. 왜이러는 걸까요.
Route 앞에 "/" , "//" 다 넣어봣는데도 지정한 네비게이션화면을 가지않고 메인화면만뜹니다.
어떻게 iosExecutionParams 넣어야하나요?

안녕하세요,

iosExecutionParams :"Route?params=id"

이부분이 문제가 있는듯합니다.

카카오 링크 가이드에 의하면
iosExecutionParams 에는 Route가 포함되지 않은 key=value 형태로 값을 주셔야 합니다.

따라서 시뮬레이터 테스트를 위해서 커맨드에서 입력한 URLSchema://Route?params=id 는
path="Route", params="id" 라는 정상적인 URL로 라우트가 가능하지만

iosExecutionParams :"Route?params=id"

로 링크를 눌렀을때는 URLSchema://?Route?params=id 이런 형태로 url이 들어가지 않을까 싶습니다

즉, path="Route", param= "id" 가 아닌
path="", Route?param = "id" 로 읽는것 같습니다.
Route?param 전체를 변수 이름으로 읽어서 라우트가 안되는것 같네요..!

iosExecutionParams ="path=Route&param=id"와 같이
Route 정보도 쿼리스트링 변수 형태로 넣는건 어떠신가요?

말해주신대로
iosExecutionParams ="path=Route&param=id"
iosExecutionParams ="path=Route?param=id"
iosExecutionParams ="params=Route&param=id"
iosExecutionParams ="params=Route?param=id"
이렇게 다 해봣는데 안되네요.ㅜㅜ

Duplicate of #3

이 질문글 참고하시면 좋을 것 같습니다

질문글에 제가 남겨드린 답변처럼,

Deep Linking이 아닌 수동으로 특정 컴포넌트에 url 을 navigate 하는 방식으로 구현하시면 좋을 것 같네요.

제가 link를 뽑아봣는데 URLSchema://kakaolink?param=id 이렇게 나오더라고요
가운데에 kakaolink가 있어서 안되는거엿나봐요.

앱이 켜져있을때는 param 을 지정한 화면으로 갔는데
앱을 아예 끄고 카카오링크를 눌렀을때 Linking이 안되서 메인화면으로가지네요
kakaolink? 이부분을 없애면 react-navigation routename 으로 이동할수 있을거같네요

네 아래 RN App State 관련 ref를 보시면 알 수 있듯,
inactive | background 상태에서 링크를 눌렀을때에 대해서도 고려를 해주셔야합니다
상위 컴포넌트에서 AppState가 active로 전환시 link 처리를 하는 방식으로 구현하시면 좋지 않을까 싶네요 ^^

https://facebook.github.io/react-native/docs/appstate