From 9c95bf0a4720f0baf7a5e53bbf17f2cd9e9f6a27 Mon Sep 17 00:00:00 2001 From: BilalKhanWDI Date: Tue, 8 Oct 2024 19:23:16 +0530 Subject: [PATCH] - testig image loader --- WOKA/Main/JWPlayerManager.swift | 130 ++++++------------ .../Controller/TabBarVC.swift | 2 +- WOKA/Theme/ViewModel/ThemeOneVM.swift | 52 +++---- 3 files changed, 68 insertions(+), 116 deletions(-) diff --git a/WOKA/Main/JWPlayerManager.swift b/WOKA/Main/JWPlayerManager.swift index 5e2aa46..bb41f75 100644 --- a/WOKA/Main/JWPlayerManager.swift +++ b/WOKA/Main/JWPlayerManager.swift @@ -112,103 +112,53 @@ class JWPlayerManager { return } -// // Create an ad break for 30% into the video -// let adBreakBuilder2 = JWAdBreakBuilder() -// .offset(.from(string: "pre")!) -// -// .tags([URL(string: generateAdTagUrl())!]) -// -// guard let adBreak2 = try? adBreakBuilder2.build() else { -// print("Ad error 1") -// // Handle build error -// return -// } -// -// // Create an ad break for 30% into the video -// let adBreakBuilder1 = JWAdBreakBuilder() -// .offset(.midroll(percent: 20)) -//// .offset(.from(string: "20%")!) -//// .tags([URL(string: "https://pubads.g.doubleclick.net/gampad/ads?iu=/21775744923/external/single_preroll_skippable&sz=640x480&ciu_szs=300x250,728x90&gdfp_req=1&output=vast4&unviewed_position_start=1&env=vp&impl=s&correlator=7898879")!]) -// .tags([URL(string: "https://pubads.g.doubleclick.net/gampad/ads?iu=/23204950200/VideoAd&description_url=https%3A%2F%2Fwokaland.com%2F&tfcd=0&npa=0&sz=480x320%7C640x480&ciu_szs=480x320&min_ad_duration=5000&max_ad_duration=20000&gdfp_req=1&unviewed_position_start=1&output=vast&env=vp&impl=s&correlator=")!]) -// -// guard let adBreak1 = try? adBreakBuilder1.build() else { -// print("Ad error 2") -// // Handle build error -// return -// } -// -// let adBreakBuilder3 = JWAdBreakBuilder() -// .offset(.midroll(percent: 50)) -//// .offset(.from(string: "50%")!) -// .tags([URL(string: "https://pubads.g.doubleclick.net/gampad/live/ads?iu=/23204950200/VideoAd&description_url=https%3A%2F%2Fwokaland.com%2F&tfcd=0&npa=0&ad_type=audio_video&sz=640x480%7C1280x720&gdfp_req=1&unviewed_position_start=1&output=vast&env=vp&impl=s&correlator=&nofb=1")!]) -// -// guard let adBreak3 = try? adBreakBuilder3.build() else { -// print("Ad error 2") -// // Handle build error -// return -// } -// -// let adBreakBuilder4 = JWAdBreakBuilder() -// .offset(.midroll(percent: 80)) -//// .offset(.from(string: "50%")!) -// .tags([URL(string: "https://pubads.g.doubleclick.net/gampad/ads?iu=/21775744923/external/single_preroll_skippable&sz=640x480&ciu_szs=300x250%2C728x90&gdfp_req=1&output=vast&unviewed_position_start=1&env=vp&impl=s&correlator=90")!]) -// -// guard let adBreak4 = try? adBreakBuilder4.build() else { -// print("Ad error 2") -// // Handle build error -// return -// } -// -// let adConfigBuilder = JWImaAdvertisingConfigBuilder() -// .schedule([adBreak1,adBreak3, adBreak4]) -// guard let adConfig = try? adConfigBuilder.build() else { -// -// // Handle build error -// return -// } - - + // Create an ad break for 30% into the video let finalConfig : JWPlayerConfiguration? - - let ad1 = AdBreakItemStruct(adUrl: URL(string: "https://pubads.g.doubleclick.net/gampad/ads?iu=/23204950200/VideoAd&description_url=https%3A%2F%2Fwokaland.com%2F&tfcd=0&npa=0&ad_type=audio_video&sz=640x480%7C1280x720&gdfp_req=1&unviewed_position_start=1&output=vast&env=vp&impl=s&correlator=")!, offset: .midroll(percent: 40)) - let ad2 = AdBreakItemStruct(adUrl: URL(string: "https://pubads.g.doubleclick.net/gampad/live/ads?iu=/23204950200/VideoAd&description_url=https%3A%2F%2Fwokaland.com%2F&tfcd=0&npa=0&ad_type=audio_video&sz=640x480%7C1280x720&gdfp_req=1&unviewed_position_start=1&output=vast&env=vp&impl=s&correlator=&nofb=1")!, offset: .midroll(percent: 80)) - let ad3 = AdBreakItemStruct(adUrl: URL(string: "https://pubads.g.doubleclick.net/gampad/ads?iu=/21775744923/external/single_preroll_skippable&sz=640x480&ciu_szs=300x250%2C728x90&gdfp_req=1&output=vast&unviewed_position_start=1&env=vp&impl=s&correlator=90")!, offset: .midroll(percent: 90)) + // + // let ad1 = AdBreakItemStruct(adUrl: URL(string: "https://pubads.g.doubleclick.net/gampad/ads?iu=/23204950200/VideoAd&description_url=https%3A%2F%2Fwokaland.com%2F&tfcd=0&npa=0&ad_type=audio_video&sz=640x480%7C1280x720&gdfp_req=1&unviewed_position_start=1&output=vast&env=vp&impl=s&correlator=")!, offset: .midroll(percent: 40)) + // let ad2 = AdBreakItemStruct(adUrl: URL(string: "https://pubads.g.doubleclick.net/gampad/live/ads?iu=/23204950200/VideoAd&description_url=https%3A%2F%2Fwokaland.com%2F&tfcd=0&npa=0&ad_type=audio_video&sz=640x480%7C1280x720&gdfp_req=1&unviewed_position_start=1&output=vast&env=vp&impl=s&correlator=&nofb=1")!, offset: .midroll(percent: 80)) + // let ad3 = AdBreakItemStruct(adUrl: URL(string: "https://pubads.g.doubleclick.net/gampad/ads?iu=/21775744923/external/single_preroll_skippable&sz=640x480&ciu_szs=300x250%2C728x90&gdfp_req=1&output=vast&unviewed_position_start=1&env=vp&impl=s&correlator=90")!, offset: .midroll(percent: 90)) switch contentType{ case .audioBooks: - if let adConfigs = JWAdsBuilder.shareInstace.createAds(adsData: [ad1,ad2,ad3]){ - finalConfig = try JWPlayerConfigurationBuilder() - .playlist(items: items) - .autostart(true) - .advertising(adConfigs) - .build() - }else{ - finalConfig = try JWPlayerConfigurationBuilder() - .playlist(items: items) - .autostart(true) - .build() - } - case .webSeries: - //https://pubads.g.doubleclick.net/gampad/ads?iu=/23204950200/VideoAd&description_url=https%3A%2F%2Fwokaland.com%2F&tfcd=0&npa=0&sz=480x320%7C640x480&ciu_szs=480x320&min_ad_duration=5000&max_ad_duration=20000&gdfp_req=1&unviewed_position_start=1&output=vast&env=vp&impl=s&correlator= - if let adsData = AuthFunc.shareInstance.adsData, let webSeriesVideoAd = adsData.result?.filter({$0.slug == AdsEnum.webSeriesVideoAd.rawValue}).first, webSeriesVideoAd.googleAd != nil, let adConfigs = JWAdsBuilder.shareInstace.createAds(adsData: [ad1, ad2, ad3]){ - finalConfig = try JWPlayerConfigurationBuilder() - .playlist(items: items) - .autostart(false) - .advertising(adConfigs) - .build() - }else{ - finalConfig = try JWPlayerConfigurationBuilder() - .playlist(items: items) - .autostart(false) - .build() - } - case .masilaSongs: - let adConfigs = JWAdsBuilder.shareInstace.createAds(adsData: [AdBreakItemStruct(adUrl: URL(string: "https://pubads.g.doubleclick.net/gampad/ads?iu=/23204950200/VideoAd&description_url=https%3A%2F%2Fwokaland.com%2F&tfcd=0&npa=0&ad_type=audio_video&sz=640x480%7C1280x720&gdfp_req=1&unviewed_position_start=1&output=vast&env=vp&impl=s&correlator=")!, offset: .preroll())]) - finalConfig = try JWPlayerConfigurationBuilder() .playlist(items: items) .autostart(true) - .advertising(adConfigs!) + .build() + // if let adConfigs = JWAdsBuilder.shareInstace.createAds(adsData: [ad1,ad2,ad3]){ + // finalConfig = try JWPlayerConfigurationBuilder() + // .playlist(items: items) + // .autostart(true) + // .advertising(adConfigs) + // .build() + // }else{ + // finalConfig = try JWPlayerConfigurationBuilder() + // .playlist(items: items) + // .autostart(true) + // .build() + // } + case .webSeries: + finalConfig = try JWPlayerConfigurationBuilder() + .playlist(items: items) + .autostart(false) + .build() + // if let adsData = AuthFunc.shareInstance.adsData, let webSeriesVideoAd = adsData.result?.filter({$0.slug == AdsEnum.webSeriesVideoAd.rawValue}).first, webSeriesVideoAd.googleAd != nil, let adConfigs = JWAdsBuilder.shareInstace.createAds(adsData: [ad1, ad2, ad3]){ +// finalConfig = try JWPlayerConfigurationBuilder() +// .playlist(items: items) +// .autostart(false) +// .advertising(adConfigs) +// .build() +// }else{ +// finalConfig = try JWPlayerConfigurationBuilder() +// .playlist(items: items) +// .autostart(false) +// .build() +// } + case .masilaSongs: + finalConfig = try JWPlayerConfigurationBuilder() + .playlist(items: items) + .autostart(true) +// .advertising(adConfigs!) .build() case .trailer: finalConfig = try JWPlayerConfigurationBuilder() diff --git a/WOKA/TabBar & SideMenu/Controller/TabBarVC.swift b/WOKA/TabBar & SideMenu/Controller/TabBarVC.swift index 08748ae..7f17696 100644 --- a/WOKA/TabBar & SideMenu/Controller/TabBarVC.swift +++ b/WOKA/TabBar & SideMenu/Controller/TabBarVC.swift @@ -23,7 +23,7 @@ class TabBarVC: UITabBarController { self.addCustomTabBarView() NotificationCenter.default.addObserver(self, selector: #selector(languageDidChange), name: .languageDidChange, object: nil) NotificationCenter.default.addObserver(self, selector: #selector(linkPush), name: .linkPush, object: nil) - + customizeTabBarItemIconSize() customizeTabBarItemFont() diff --git a/WOKA/Theme/ViewModel/ThemeOneVM.swift b/WOKA/Theme/ViewModel/ThemeOneVM.swift index 56c94bb..8fbbef2 100644 --- a/WOKA/Theme/ViewModel/ThemeOneVM.swift +++ b/WOKA/Theme/ViewModel/ThemeOneVM.swift @@ -51,7 +51,7 @@ class ThemeOneVM{ func initView(){ GoogleInterstistialADSetup.shareInstance.setupGoogleIntersitialAD() - requestIDFA() +// requestIDFA() AuthFunc.shareInstance.initTimePeriods() startInitialTimer() // moveCloudView() @@ -73,9 +73,6 @@ class ThemeOneVM{ }, completion: {_ in }) -// DispatchQueue.main.async { -// -// } if let adsData = AuthFunc.shareInstance.adsData{ // check if ads data contains ad for webseries @@ -547,23 +544,28 @@ class ThemeOneVM{ .build() // Create a JWPlayerConfiguration. - if let adsData = AuthFunc.shareInstance.adsData, let liveTVAd = adsData.result?.filter({$0.slug == AdsEnum.liveTvAd.rawValue}).first, liveTVAd.googleAd != nil, let adConfig = JWAdsBuilder.shareInstace.createAds(adsData: [AdBreakItemStruct(adUrl: URL(string: "https://pubads.g.doubleclick.net/gampad/ads?iu=/21775744923/external/single_preroll_skippable&sz=640x480&ciu_szs=300x250%2C728x90&gdfp_req=1&output=vast&unviewed_position_start=1&env=vp&impl=s&correlator=90")!, offset: .preroll())]){ - let config = try JWPlayerConfigurationBuilder() - .playlist(items: [item]) - .autostart(true) - .advertising(adConfig) - .build() - - vc.config = config - }else{ - let config = try JWPlayerConfigurationBuilder() - .playlist(items: [item]) - .autostart(true) - .build() - - vc.config = config - } +// if let adsData = AuthFunc.shareInstance.adsData, let liveTVAd = adsData.result?.filter({$0.slug == AdsEnum.liveTvAd.rawValue}).first, liveTVAd.googleAd != nil, let adConfig = JWAdsBuilder.shareInstace.createAds(adsData: [AdBreakItemStruct(adUrl: URL(string: "https://pubads.g.doubleclick.net/gampad/ads?iu=/21775744923/external/single_preroll_skippable&sz=640x480&ciu_szs=300x250%2C728x90&gdfp_req=1&output=vast&unviewed_position_start=1&env=vp&impl=s&correlator=90")!, offset: .preroll())]){ +// let config = try JWPlayerConfigurationBuilder() +// .playlist(items: [item]) +// .autostart(true) +// .advertising(adConfig) +// .build() +// +// vc.config = config +// }else{ +// let config = try JWPlayerConfigurationBuilder() +// .playlist(items: [item]) +// .autostart(true) +// .build() +// +// vc.config = config +// } + let config = try JWPlayerConfigurationBuilder() + .playlist(items: [item]) + .autostart(true) + .build() + vc.config = config vc.dismissTapped = self.tapped vc.contentType = .liveStream @@ -618,8 +620,8 @@ class ThemeOneVM{ let details = period.details // Update view's background color with a gradient or single color - DispatchQueue.main.async { [weak self] in - guard let self else{return} +// DispatchQueue.main.async { [weak self] in +// guard let self else{return} if period.details.dayCycle == .night{ startStarGlowAnimation() }else{ @@ -629,14 +631,14 @@ class ThemeOneVM{ !image.isHidden ? image.isHidden = true : nil } } -// DispatchQueue.main.asyncAfter(deadline: .now() + 0.1, execute: { + DispatchQueue.main.async { self.vc.gradientView.applyGradient(colors: [details.color1, details.color2], startPoint: CGPoint(x: 0, y: 0), endPoint: CGPoint(x: 0, y: 0.8)) self.vc.nameLabel.textColor = details.textColor self.vc.HelloLabel.textColor = details.textColor self.vc.welcomeLabel.textColor = details.textColor self.vc.homeGrass.image = UIImage(named: details.grass) -// }) - } + } +// } break } }