안드로이드에서 WalletConnect 를 이용한 연결이 원활하지 않습니다.
Klip 지갑에서 WalletConnect 연결이 ios는 정상작동하나 android에서는 정상작동하지 않는것으로 보입니다.
WalletConnect의 연결 과정은 Connect 이후 Sign을 진행하는 방향으로 진행하였습니다.
connection 이후에 session을 이용하여 sign 작업을 수행하게 되는데, WallectConnect에 연결되는 리다이렉트 딥링크가 정상작동하지 않는 것으로 보입니다.
저희는 openSea의 WalletConnect 과정을 똑같이 진행하고 있습니다. openSea 에서도 WalletConnect를 통해 Klip지갑을 지원하는 것으로보이지만, 정상작동하지않습니다. 이 역시 connection 이후 sign 으로 넘어가지 않는 문제가 있습니다.
-
안녕하세요!
Klip 팀에서 재현을 해 본 결과 Opensea에 로그인 시도시 Connection 이후 Sign message로 잘 넘어가며 정상적으로 연결 되는 것을 확인 했습니다. 다시 한 번 시도해보실 수 있을까요?
만약 실패한다면 저희가 재현해 볼 수 있게 dApp 정보, 디바이스 정보 등과 함께 이슈 재현 영상 부탁드립니다.
감사합니다!
0 -
안녕하세요 먼저 빠른답변에 대해서 감사드립니다.
저희가 테스트해본 환경은 android mobile chrome 에서 opensea에 접속했을때에 환경이었습니다.
답변받은 이후로 android에서 opensea app에서는 정상작동을 하는것을 확인하였습니다.
그런데 klip의 연결 프로세스가 다른 지갑 앱들과 다른점이 있어 이에 추가 문의 드립니다.
android에서 walletConnet로 연결하는 경우 connect를 하는 시점에서는 "wc:" uriScheme을 이용하여 사용자가 직접 앱을 선택하게되고, 이후에 결과값으로 받은 session의 redirect native uri를 이용하여 이후 sign을 하는 시점에서는 redirect native uri를 uriScheme으로 사용하여 앱에 진입하게 됩니다.
하지만 Klip의 경우에는 session의 redirect native uri가 "kotlin-web3wallet:/request" 로 설정되어있어 uriScheme을 정상적으로 이용하지 못하는것으로 보입니다. 그래서 uriScheme 으로 "wc:" 만을 이용하여 진입해야 하는데 이때 connect 와 sign을 할 때마다 각각 선택창이 나오고 모두 같은 어플을 선택해야만 정상적으로 작동하는것을 확인하였습니다.
ios에서는 "klipwallet://wc?uri=${wcURI}" 의 형태로 deeplink를 이용하여 klip 지갑에 connect을 요청하고 해당 uriScheme으로 진입하여 sign까지 진행할 수 있었습니다.(아이폰의 safari 에서 opensea에 로그인 하는 과정이 이렇게 진행됩니다)
android 에서는 "klipwallet://wc?uri=${wcURI}" 의 형태나 공식문서에 있는 "kakaotalk://klipwallet/open?uri=${wcURI}" 등의 링크로도 uriScheme에 진입할 수 없었습니다.
혹시 android에서도 이와 같은 방법으로 진입할 수 있는 방법이 있을까요?
추가적으로 ios와 android 모두 walletConnect 프로세스이후 수동으로 지갑을 나가서 기존의 dApp으로 돌아와야 하는데, 이부분에 대해서도 자동 redirect를 할 수 있는 방법이 없는지 질문드립니다.
요약하자면 다음과 같습니다
1. android에서 uriScheme을 이용한 deepLink로 klip의 WalletConnect에 바로 접근할수 있을까요?
2. WalletConnect프로세스 이후 기존 dApp으로 redirect가 가능할까요?
쓰다보니 글이 길어졌네요 제가 이해를 잘못한 부분이 있으면 말씀해주세요
감사합니다
0 -
안녕하세요!
추가적으로 질문 주신 부분은 내부 검토 중에 있습니다. 빠른 검토 후 회신 드리겠습니다. 감사합니다!
0 -
안녕하세요!
답변 기다려 주셔서 감사드립니다. Klip 개발팀에서 검토해 보고 다음과 같이 답변 및 추가 질문 주셨습니다. 검토해 보시고 답변 주시면 F/U 하겠습니다. 감사합니다.
1. android에서 walletConnet로 연결하는 경우 connect를 하는 시점에서는 "wc:" appScheme을 이용하여 사용자가 직접 앱을 선택하게되고, 이후에 결과값으로 받은 session의 redirect native uri를 이용하여 이후 sign을 하는 시점에서는 redirect native uri를 appScheme으로 사용하여 앱에 진입하게 됩니다. 하지만 Klip의 경우에는 session의 redirect native uri가 "kotlin-web3wallet:/request" 로 설정되어있어 appScheme을 정상적으로 이용하지 못하는것으로 보입니다. 그래서 appScheme 으로 "wc:" 만을 이용하여 진입해야 하는데 connect 와 sign을 할 때 두번의 선택창이 나오고 모두 같은 어플을 선택해야만 합니다.
-> 말씀해주신 것처럼 redirect native uri가 "kotlin-web3wallet:/request"되어 있긴 합니다. 하지만 이를 다른 유효한 스킴으로 변경해봐도 말씀해주신 시나리오(이후에 결과값으로 받은 session의 redirect native uri를 이용하여 이후 sign을 하는 시점에서는 redirect native uri를 appScheme으로 사용하여 앱에 진입하게 됩니다.)처럼 동작하지는 않았습니다. 이는 월렛커넥트 > 메타마스크를 이용해서 테스트 해보았을 때도 동일했는데요. 혹시 저희가 참고할만한 사례가 있다면 공유해주시면 좋을 것 같습니다. 구체적으로 동작을 살펴보고 보완이 필요한 부분은 대응하겠습니다.
2. android에서 appScheme을 이용한 deepLink로 WalletConnect에 바로 접근할수 있을까요?
-> dApp SDK를 사용하시는 경우라면 android의 deepLink를 직접 호출하실 경우가 없을 것 같습니다. 혹시 어떤 시나리오로 접근하는 것을 고려하고 계신지 여쭤봐도 될까요?
3. WalletConnect프로세스 이후 기존 dApp으로 redirect가 가능할까요?
-> 아쉽지만 현재는 지원이 불가능합니다. 현시점에 다른 지갑 앱들도 매끄럽게 전환이 안되는 것 같습니다. 이 부분은 WalletConnect에서 공식적으로 wallet과 dApp간에 전환 가능한 방법을 제공해주는 것이 우선인 것 같습니다. 저희도 문의 주신 사항을 검토하는 과정에서 보완할 부분(연결 자체와 관련 서명 요청이 간혹 무시되는 현상)을 발견하여 이 부분에 대해서는 이번 정기배포에 수정할 예정입니다.
0
댓글을 남기려면 로그인하세요.
댓글
댓글 4개