release build
This commit is contained in:
@@ -2917,7 +2917,7 @@
|
||||
"$(inherited)",
|
||||
"@executable_path/Frameworks",
|
||||
);
|
||||
MARKETING_VERSION = 25.1.8;
|
||||
MARKETING_VERSION = 25.1.9;
|
||||
PRODUCT_BUNDLE_IDENTIFIER = com.app.woka;
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
SUPPORTED_PLATFORMS = "iphoneos iphonesimulator";
|
||||
@@ -2960,7 +2960,7 @@
|
||||
"$(inherited)",
|
||||
"@executable_path/Frameworks",
|
||||
);
|
||||
MARKETING_VERSION = 25.1.8;
|
||||
MARKETING_VERSION = 25.1.9;
|
||||
PRODUCT_BUNDLE_IDENTIFIER = com.app.woka;
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
SUPPORTED_PLATFORMS = "iphoneos iphonesimulator";
|
||||
@@ -3054,7 +3054,8 @@
|
||||
buildSettings = {
|
||||
CODE_SIGN_ENTITLEMENTS = OneSignalNotificationServiceExtension/OneSignalNotificationServiceExtension.entitlements;
|
||||
CODE_SIGN_STYLE = Automatic;
|
||||
CURRENT_PROJECT_VERSION = 6;
|
||||
CURRENT_PROJECT_VERSION = 1;
|
||||
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
|
||||
DEVELOPMENT_TEAM = 4S9A74ZB6H;
|
||||
ENABLE_USER_SCRIPT_SANDBOXING = YES;
|
||||
GENERATE_INFOPLIST_FILE = YES;
|
||||
@@ -3067,13 +3068,17 @@
|
||||
"@executable_path/Frameworks",
|
||||
"@executable_path/../../Frameworks",
|
||||
);
|
||||
MARKETING_VERSION = 25.1.6;
|
||||
MARKETING_VERSION = 25.1.9;
|
||||
PRODUCT_BUNDLE_IDENTIFIER = com.app.woka.OneSignalNotificationServiceExtension;
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
SKIP_INSTALL = YES;
|
||||
SUPPORTED_PLATFORMS = "iphoneos iphonesimulator";
|
||||
SUPPORTS_MACCATALYST = NO;
|
||||
SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO;
|
||||
SUPPORTS_XR_DESIGNED_FOR_IPHONE_IPAD = NO;
|
||||
SWIFT_EMIT_LOC_STRINGS = YES;
|
||||
SWIFT_VERSION = 5.0;
|
||||
TARGETED_DEVICE_FAMILY = "1,2";
|
||||
TARGETED_DEVICE_FAMILY = 1;
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
@@ -3082,7 +3087,7 @@
|
||||
buildSettings = {
|
||||
CODE_SIGN_ENTITLEMENTS = OneSignalNotificationServiceExtension/OneSignalNotificationServiceExtension.entitlements;
|
||||
CODE_SIGN_STYLE = Automatic;
|
||||
CURRENT_PROJECT_VERSION = 6;
|
||||
CURRENT_PROJECT_VERSION = 1;
|
||||
DEVELOPMENT_TEAM = 4S9A74ZB6H;
|
||||
ENABLE_USER_SCRIPT_SANDBOXING = YES;
|
||||
GENERATE_INFOPLIST_FILE = YES;
|
||||
@@ -3095,13 +3100,17 @@
|
||||
"@executable_path/Frameworks",
|
||||
"@executable_path/../../Frameworks",
|
||||
);
|
||||
MARKETING_VERSION = 25.1.6;
|
||||
MARKETING_VERSION = 25.1.9;
|
||||
PRODUCT_BUNDLE_IDENTIFIER = com.app.woka.OneSignalNotificationServiceExtension;
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
SKIP_INSTALL = YES;
|
||||
SUPPORTED_PLATFORMS = "iphoneos iphonesimulator";
|
||||
SUPPORTS_MACCATALYST = NO;
|
||||
SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO;
|
||||
SUPPORTS_XR_DESIGNED_FOR_IPHONE_IPAD = NO;
|
||||
SWIFT_EMIT_LOC_STRINGS = YES;
|
||||
SWIFT_VERSION = 5.0;
|
||||
TARGETED_DEVICE_FAMILY = "1,2";
|
||||
TARGETED_DEVICE_FAMILY = 1;
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
|
||||
@@ -36,7 +36,8 @@ class JWKaraokePlayerVC: JWPlayerViewController, JWPlayerViewControllerDelegate
|
||||
var videoID = Int()
|
||||
|
||||
var vm = JWKaraokePlayerVM()
|
||||
|
||||
var errorCount = 0
|
||||
|
||||
deinit{
|
||||
NotificationCenter.default.removeObserver(self,name: UIApplication.didEnterBackgroundNotification, object: nil)
|
||||
NotificationCenter.default.removeObserver(self,name: UIApplication.willEnterForegroundNotification, object: nil)
|
||||
@@ -228,6 +229,31 @@ class JWKaraokePlayerVC: JWPlayerViewController, JWPlayerViewControllerDelegate
|
||||
override func jwplayer(_ player: JWPlayer, failedWithError code: UInt, message: String) {
|
||||
super.jwplayer(player, failedWithError: code, message: message)
|
||||
// if no internet then add network observer
|
||||
// try reconnect 3 times else show retry
|
||||
if errorCount < 4{
|
||||
errorCount += 1
|
||||
self.player.configurePlayer(with: config)
|
||||
self.player.play()
|
||||
return
|
||||
}
|
||||
DispatchQueue.main.async {
|
||||
Utilities.alertWithBtnCancelCompletion(title: "Error", msgBody: message, okBtnStr: "Connect", vc: self) { [weak self] isDone in
|
||||
guard let self else{
|
||||
self?.player.stop()
|
||||
self?.dismiss(animated: true)
|
||||
return
|
||||
}
|
||||
errorCount = 0
|
||||
|
||||
if isDone{ // retry
|
||||
self.player.configurePlayer(with: config)
|
||||
self.player.play()
|
||||
}else{ // cancel
|
||||
self.player.stop()
|
||||
self.dismiss(animated: true)
|
||||
}
|
||||
}
|
||||
}
|
||||
print("Error: \(code) - \(message)")
|
||||
}
|
||||
|
||||
|
||||
@@ -28,6 +28,9 @@ enum AdsEnum : String{
|
||||
case gameWebView = "game-web-view"
|
||||
case gameInterestial = "game-interestial"
|
||||
case fm = "fm"
|
||||
case liveTvAd = "live-tv-ad"
|
||||
case webSeriesVideoAd = "web-series-video-ad"
|
||||
case more = "more"
|
||||
}
|
||||
|
||||
class AuthFunc{
|
||||
|
||||
@@ -76,6 +76,7 @@ class JWPlayerManager {
|
||||
print("Invalid live stream URL")
|
||||
return
|
||||
}
|
||||
|
||||
let item = try JWPlayerItemBuilder()
|
||||
.file(URL(string: liveStreamItem.url)!)
|
||||
.title(liveStreamItem.titles ?? "Trailer")
|
||||
@@ -183,16 +184,20 @@ class JWPlayerManager {
|
||||
.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=
|
||||
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: .midroll(percent: 40)),
|
||||
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)),
|
||||
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))
|
||||
])
|
||||
|
||||
finalConfig = try JWPlayerConfigurationBuilder()
|
||||
.playlist(items: items)
|
||||
.autostart(false)
|
||||
.advertising(adConfigs!)
|
||||
.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: [AdBreakItemStruct(adUrl: URL(string: "https://pubads.g.doubleclick.net/gampad/ads?iu=/23204950200/testingvideo&description_url=https%3A%2F%2Fwokaland.com&tfcd=0&npa=0&sz=640x180%7C1280x720%7C1280x720&min_ad_duration=0&max_ad_duration=30000&gdfp_req=1&unviewed_position_start=1&output=vast&env=vp&impl=s&correlator=&vad_type=linear")!, offset: .midroll(percent: 40)),
|
||||
AdBreakItemStruct(adUrl: URL(string: "https://pubads.g.doubleclick.net/gampad/ads?iu=/23204950200/VideoAd&description_ss url=https%3A%2F%2Fwokaland.com&tfcd=0&npa=0&sz=640x480%7C1280x720&min_ad_duration=5000&max_ad_duration=30000&gdfp_req=1&unviewed_position_start=1&output=vast&env=vp&impl=s&correlator=")!, offset: .midroll(percent: 80)),
|
||||
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))]){
|
||||
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())])
|
||||
|
||||
|
||||
@@ -21,7 +21,6 @@ class SplashVM{
|
||||
|
||||
|
||||
func initView(){
|
||||
|
||||
if AuthFunc.shareInstance.staticURLs == nil{
|
||||
AuthFunc.shareInstance.getStaticURLs()
|
||||
}
|
||||
|
||||
@@ -98,7 +98,9 @@ class ThemeOneVC: UIViewController {
|
||||
}
|
||||
|
||||
override func viewDidAppear(_ animated: Bool) {
|
||||
// OFF In Production
|
||||
// AuthFunc.shareInstance.getAds()
|
||||
|
||||
K.GVar.topView = .theme1
|
||||
|
||||
vm.shouldAnimate = true
|
||||
|
||||
@@ -53,8 +53,9 @@ class MoreVM{
|
||||
}
|
||||
}
|
||||
|
||||
AdReusable.sharedInstance.setupBannerAd(bannerView: headerBannerView, in: vc.trailerTask, adUnitID: K.GoogleAdIDs.splashBanner2, viewController: self.vc, height: 5, width: 15)
|
||||
|
||||
if let adsData = AuthFunc.shareInstance.adsData, let moreAd = adsData.result?.filter({$0.slug == AdsEnum.more.rawValue}).first, moreAd.googleAd != nil{
|
||||
AdReusable.sharedInstance.setupBannerAd(bannerView: headerBannerView, in: vc.trailerTask, adUnitID: K.GoogleAdIDs.splashBanner2, viewController: self.vc, height: 5, width: 15)
|
||||
}
|
||||
}
|
||||
|
||||
func setupAudioSession() {
|
||||
|
||||
@@ -533,49 +533,35 @@ class ThemeOneVM{
|
||||
}
|
||||
|
||||
let videoSourceBuilder = try JWVideoSourceBuilder()
|
||||
// .defaultVideo(true)
|
||||
.file(liveStreamURL)
|
||||
.label(title)
|
||||
.build()
|
||||
|
||||
// Create a JWPlayerItem
|
||||
let item = try JWPlayerItemBuilder()
|
||||
// .file(liveStreamURL)
|
||||
.videoSources([videoSourceBuilder])
|
||||
.title(title)
|
||||
.build()
|
||||
|
||||
// Create the ad break
|
||||
let adBreakBuilder = JWAdBreakBuilder()
|
||||
.offset(.preroll())
|
||||
.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=")!])
|
||||
|
||||
|
||||
|
||||
guard let adBreak = try? adBreakBuilder.build() else {
|
||||
print("Ad error")
|
||||
// Handle build error
|
||||
return
|
||||
// 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
|
||||
}
|
||||
|
||||
// Create the ad config
|
||||
let adConfigBuilder = JWImaAdvertisingConfigBuilder()
|
||||
.schedule([adBreak])
|
||||
guard let adConfig = try? adConfigBuilder.build() else {
|
||||
// Handle build error
|
||||
return
|
||||
}
|
||||
|
||||
// Create a JWPlayerConfiguration
|
||||
let config = try JWPlayerConfigurationBuilder()
|
||||
.playlist(items: [item])
|
||||
// .preload(JWPreload(rawValue: 20) ?? .none)
|
||||
.autostart(true)
|
||||
.advertising(adConfig)
|
||||
// .playerId("X57dFDmV")
|
||||
.build()
|
||||
|
||||
vc.config = config
|
||||
|
||||
vc.dismissTapped = self.tapped
|
||||
vc.contentType = .liveStream
|
||||
if let streamID = AuthFunc.shareInstance.staticURLs?.liveData?.first?.id{
|
||||
|
||||
Reference in New Issue
Block a user