flarelane / FlareLane-iOS-SDK

FlareLane iOS SDK
MIT License
6 stars 5 forks source link

Add event handling queue #36

Closed johnlee92 closed 4 months ago

johnlee92 commented 4 months ago

Issue

InAppMessageView에서 Close 이벤트 수신 직후 OpenURL 이벤트 수신 시 WebView가 보이지 않음

Fix

Close 이후 WebView가 정상적으로 보여지려면 InAppMessage가 출력되던 Window가 아닌 기존 Window에 UI가 올라가야 함 Close 이후 바로 InAppMessage Window가 제거 되는 것이 아니라 0.25초의 애니메이션 후에 제거가 되고 있음 Close 이벤트 처리 후 약간의 딜레이를 추가하면 이어서 들어오는 OpenURL 처리 시 기존 Window에서 UI를 출력할 수 있음 (InAppMessageJavascriptInterface에 SerialDispatchQueue를 추가하여 Close 이벤트에 딜레이를 추가할 수 있게 수정, 기존에는 Main Queue에서 호출되고 있었음)

Requirement

Example In-App Message의 JS 소스코드에서 OpenURL+Close일 때 순서가 close() 호출 이후 openUrl() 호출하도록 변경되어야 합니다. (순서가 역전되어도 문제가 없으려면 InAppMessage가 출력되던 Window에서 WebView가 출력되어야 하는데 Close가 없이 OpenURL 이벤트만 있는 경우도 고려를 해야 해서 기존 Window에만 WebView를 띄우게 변경할 수는 없습니다.)