Files
sodalive-ios/SodaLive/Sources/App/SodaLiveApp.swift

53 lines
1.9 KiB
Swift

//
// SodaLiveApp.swift
// SodaLive
//
// Created by klaus on 2023/08/09.
//
import SwiftUI
import FBSDKCoreKit
import AppsFlyerLib
@main
struct SodaLiveApp: App {
@UIApplicationDelegateAdaptor(AppDelegate.self) var appDelegate
@ObservedObject var viewModel = AppViewModel()
@StateObject var canPgPaymentViewModel = CanPgPaymentViewModel()
var body: some Scene {
WindowGroup {
ContentView(canPgPaymentViewModel: canPgPaymentViewModel)
.onReceive(NotificationCenter.default.publisher(for: UIApplication.didEnterBackgroundNotification)) { _ in
CreatorCommunityMediaPlayerManager.shared.pauseContent()
}
.onReceive(NotificationCenter.default.publisher(for: UIApplication.didBecomeActiveNotification)) { _ in
UIApplication.shared.applicationIconBadgeNumber = 0
AppsFlyerLib.shared().start()
if !AppState.shared.alreadyUpdatedMarketingInfo {
viewModel.fetchAndUpdateIdfa()
viewModel.getMemberInfo()
}
}
.onOpenURL { url in
DEBUG_LOG("I have received a URL through a custom scheme! \(url.absoluteString)")
if let comps = URLComponents(url: url, resolvingAgainstBaseURL: false),
url.scheme?.lowercased() == APPSCHEME.lowercased(),
comps.host?.lowercased() == "payverse",
comps.path.lowercased() == "/result" {
canPgPaymentViewModel.handleVerifyOpenURL(url)
} else {
ApplicationDelegate.shared.application(UIApplication.shared, open: url, options: [:])
AppsFlyerLib.shared().handleOpen(url)
}
}
}
}
}