- testig image loader

This commit is contained in:
2024-10-08 19:23:16 +05:30
parent 6628061420
commit 9c95bf0a47
3 changed files with 68 additions and 116 deletions

View File

@@ -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()

View File

@@ -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()

View File

@@ -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
}
}