You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
해당 함수가 실행되는 시점에 인증이 이루어지는 것으로 오해할 수 있음.
하지만 실제로 인증은 지도 API 사용 횟수와 연관 되어 있으므로, 지도 API 사용 횟수가 차감되는 시점인 매 지도를 켜는 시점에 이루어짐. (NaverMap SDK 내부적으로 이는 효율적으로 캐싱되어 처리되는 것으로 보이기에 성공하였을 경우 매번 실행되지는 않음).
인증 실패 콜백 역시 인증에 실패할 경우 실행되기에, 이를 개발자가 이해하고 쓰기에 부족할 수 있음.
해당 시점에 인증에 대한 작업하는 것은 clientId를 세팅하는 것 뿐이며 이는 (일정부분) 동기적으로 이루어지고,
인증 이외의 작업인 androidSdkVersion을 가져오는 것만이 비동기 작업이 됨. (androidSdkVersion을 가져오는 것은 과거 버전별 이슈를 해결하기 위해 _PlatformViewCreator.createPlatformView에서 해당 값을 참조하여 displayMode를 초기화해주어야 했기 때문임. 지금은 사용되지 않으므로 삭제해도 무방함. #152)
따라서, 총 2가지를 수행해야할 것으로 보임.
init의 메서드 대신 사용할 setClientId 메서드를 새로이 추가한다.
이때, 반환값은 void이면 가장 좋지만, 네이티브에 값이 설정되었음을 보장해야 하므로 Future<void>로 반환한다.
또한, 현재는 불가능한 값 재설정을 수행가능하도록 변경한다. (remove reinit guard)
onAuthFailed는 onMapReady처럼 NaverMap 위젯에 추가한다.
추가로 고민해야 하는 부분은 지도가 여러개 떠있을 때(혹은 stack에 떠 있을 때), 모든 onAuthFailed callback에 broadcast되지 않도록 해야하는 부분입니다.
Additional Description
이 제안은 #308 검토 당시 onCustomStyleLoaded/onCustomStyleLoadFailed를 NaverMap 위젯에 이벤트 리스너로 추가할 지를 고려하는 과정에서 시작되었습니다.
The text was updated successfully, but these errors were encountered:
Uh oh!
There was an error while loading. Please reload this page.
Abstraction
현재
FlutterNaverMap().init
을 사용할 때,clientId
와onAuthFailed
callback을 받고 있어,해당 함수가 실행되는 시점에 인증이 이루어지는 것으로 오해할 수 있음.
하지만 실제로 인증은 지도 API 사용 횟수와 연관 되어 있으므로, 지도 API 사용 횟수가 차감되는 시점인 매 지도를 켜는 시점에 이루어짐. (NaverMap SDK 내부적으로 이는 효율적으로 캐싱되어 처리되는 것으로 보이기에 성공하였을 경우 매번 실행되지는 않음).
인증 실패 콜백 역시 인증에 실패할 경우 실행되기에, 이를 개발자가 이해하고 쓰기에 부족할 수 있음.
해당 시점에 인증에 대한 작업하는 것은 clientId를 세팅하는 것 뿐이며 이는 (일정부분) 동기적으로 이루어지고,
인증 이외의 작업인
androidSdkVersion
을 가져오는 것만이 비동기 작업이 됨. (androidSdkVersion을 가져오는 것은 과거 버전별 이슈를 해결하기 위해_PlatformViewCreator.createPlatformView
에서 해당 값을 참조하여 displayMode를 초기화해주어야 했기 때문임. 지금은 사용되지 않으므로 삭제해도 무방함. #152)따라서, 총 2가지를 수행해야할 것으로 보임.
init
의 메서드 대신 사용할setClientId
메서드를 새로이 추가한다.이때, 반환값은
void
이면 가장 좋지만, 네이티브에 값이 설정되었음을 보장해야 하므로Future<void>
로 반환한다.또한, 현재는 불가능한 값 재설정을 수행가능하도록 변경한다. (remove reinit guard)
onAuthFailed
는onMapReady
처럼NaverMap
위젯에 추가한다.추가로 고민해야 하는 부분은 지도가 여러개 떠있을 때(혹은 stack에 떠 있을 때), 모든
onAuthFailed
callback에 broadcast되지 않도록 해야하는 부분입니다.Additional Description
이 제안은 #308 검토 당시
onCustomStyleLoaded
/onCustomStyleLoadFailed
를NaverMap
위젯에 이벤트 리스너로 추가할 지를 고려하는 과정에서 시작되었습니다.The text was updated successfully, but these errors were encountered: