스플래시 페이지 추가
This commit is contained in:
		@@ -6,12 +6,81 @@
 | 
			
		||||
//
 | 
			
		||||
 | 
			
		||||
import SwiftUI
 | 
			
		||||
import AppTrackingTransparency
 | 
			
		||||
 | 
			
		||||
import FirebaseDynamicLinks
 | 
			
		||||
 | 
			
		||||
@main
 | 
			
		||||
struct SodaLiveApp: App {
 | 
			
		||||
    
 | 
			
		||||
    @UIApplicationDelegateAdaptor(AppDelegate.self) var appDelegate
 | 
			
		||||
    
 | 
			
		||||
    func handleIncomingDynamicLink(_ dynamicLink: DynamicLink) {
 | 
			
		||||
        guard let url = dynamicLink.url else {
 | 
			
		||||
            DEBUG_LOG("That's weired. My dynamic link object has no url")
 | 
			
		||||
            return
 | 
			
		||||
        }
 | 
			
		||||
        
 | 
			
		||||
        DEBUG_LOG("incoming link parameter is \(url.absoluteString)")
 | 
			
		||||
        
 | 
			
		||||
        let queryItems = URLComponents(url: url, resolvingAgainstBaseURL: true)?.queryItems
 | 
			
		||||
        let roomId = queryItems?.filter({$0.name == "room_id"}).first?.value
 | 
			
		||||
        let channelId = queryItems?.filter({$0.name == "channel_id"}).first?.value
 | 
			
		||||
        let audioContentId = queryItems?.filter({$0.name == "audio_content_id"}).first?.value
 | 
			
		||||
        
 | 
			
		||||
        if let roomId = roomId {
 | 
			
		||||
            DispatchQueue.main.asyncAfter(deadline: .now() + 0.3) {
 | 
			
		||||
                AppState.shared.pushRoomId = Int(roomId) ?? 0
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
        
 | 
			
		||||
        if let channelId = channelId {
 | 
			
		||||
            DispatchQueue.main.asyncAfter(deadline: .now() + 0.3) {
 | 
			
		||||
                AppState.shared.pushChannelId = Int(channelId) ?? 0
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
        
 | 
			
		||||
        if let audioContentId = audioContentId {
 | 
			
		||||
            DispatchQueue.main.asyncAfter(deadline: .now() + 0.3) {
 | 
			
		||||
                AppState.shared.pushAudioContentId = Int(audioContentId) ?? 0
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
    
 | 
			
		||||
    var body: some Scene {
 | 
			
		||||
        WindowGroup {
 | 
			
		||||
            ContentView()
 | 
			
		||||
                .onReceive(NotificationCenter.default.publisher(for: UIApplication.didBecomeActiveNotification)) { _ in
 | 
			
		||||
                    UIApplication.shared.applicationIconBadgeNumber = 0
 | 
			
		||||
                    
 | 
			
		||||
                    ATTrackingManager.requestTrackingAuthorization { _ in }
 | 
			
		||||
                }
 | 
			
		||||
                .onOpenURL { url in
 | 
			
		||||
                    DEBUG_LOG("I have received a URL through a custom scheme! \(url.absoluteString)")
 | 
			
		||||
                    if let scheme = url.scheme {
 | 
			
		||||
                        if scheme == "kr.co.vividnext.yozm" {
 | 
			
		||||
                            if let dynamicLink = DynamicLinks.dynamicLinks().dynamicLink(fromCustomSchemeURL: url) {
 | 
			
		||||
                                self.handleIncomingDynamicLink(dynamicLink)
 | 
			
		||||
                            } else {
 | 
			
		||||
                                DEBUG_LOG("dynamic link fail")
 | 
			
		||||
                            }
 | 
			
		||||
                        } else {
 | 
			
		||||
                            DynamicLinks.dynamicLinks().handleUniversalLink(url) { dynamicLink, error in
 | 
			
		||||
                                guard error == nil else {
 | 
			
		||||
                                    DEBUG_LOG("Found an error! \(error!.localizedDescription)")
 | 
			
		||||
                                    DEBUG_LOG("dynamic link fail")
 | 
			
		||||
                                    return
 | 
			
		||||
                                }
 | 
			
		||||
                                
 | 
			
		||||
                                if let dynamicLink = dynamicLink {
 | 
			
		||||
                                    self.handleIncomingDynamicLink(dynamicLink)
 | 
			
		||||
                                } else {
 | 
			
		||||
                                    DEBUG_LOG("dynamic link fail")
 | 
			
		||||
                                }
 | 
			
		||||
                            }
 | 
			
		||||
                        }
 | 
			
		||||
                    }
 | 
			
		||||
                }
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user