개요
Base Account가 연결되고 Coinbase Wallet SDK가 요청을 받으면, keys.coinbase.com을 팝업 창에서 열고 처리를 위해 요청을 팝업으로 전달합니다. Base Account 팝업을 사용할 때 다음 사항을 염두에 두세요.기본 차단 동작
- 대부분의 최신 브라우저는 클릭으로 트리거되지 않는 한 기본적으로 모든 팝업을 차단합니다.
- 팝업이 차단되면 브라우저가 사용자에게 알림을 표시하여 팝업 설정을 관리할 수 있게 합니다.
대처 방법
- 버튼 클릭과 Base Account 팝업을 여는 요청 사이에 추가 로직이 없도록 하세요. 브라우저가 요청을 프로그래밍 방식으로 시작된 것으로 인식할 수 있습니다.
- 로직이 불가피한 경우 최소화하고 지원되는 모든 브라우저에서 철저히 테스트하세요.
Cross-Origin-Opener-Policy
Base Account 팝업이 열리면서 오류 또는 무한 스피너가 표시되는 경우, dapp의 Cross-Origin-Opener-Policy 설정 때문일 수 있습니다. Base Account 팝업이 작동할 수 있도록 허용하는 지시문을 사용해야 합니다.
- ✅ Base Account 팝업 작동 허용
unsafe-none(기본값)same-origin-allow-popups(권장)
- ❌ Base Account 팝업 중단
same-origin
Base Account 팝업 ‘지연’ 동작
- 때로는 dapp이 이전 요청의 응답을 기반으로 후속 요청을 프로그래밍 방식으로 수행할 수 있습니다. 일반적으로 브라우저는 이러한 프로그래밍 방식의 팝업 열기 요청을 차단합니다.
- 이를 해결하기 위해, Base Account 팝업이 요청에 응답한 후 닫히기 전에 200ms 동안 대기하며 다른 수신 요청을 청취합니다.
- 이 200ms 창 내에 요청이 수신되면 동일한 팝업 창 내에서 수신 및 처리됩니다.
- 200ms 창 이후 팝업이 닫힌 뒤 요청이 수신되면 Base Account 팝업 열기가 브라우저에 의해 차단됩니다.