1.2.2广告策略调整
This commit is contained in:
parent
87edde2707
commit
6ea3f5943c
@ -1923,7 +1923,7 @@
|
|||||||
CODE_SIGN_IDENTITY = "Apple Development";
|
CODE_SIGN_IDENTITY = "Apple Development";
|
||||||
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
|
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
|
||||||
CODE_SIGN_STYLE = Manual;
|
CODE_SIGN_STYLE = Manual;
|
||||||
CURRENT_PROJECT_VERSION = 1.2.1.1;
|
CURRENT_PROJECT_VERSION = 1.2.2.1;
|
||||||
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
|
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
|
||||||
DEVELOPMENT_TEAM = "";
|
DEVELOPMENT_TEAM = "";
|
||||||
"DEVELOPMENT_TEAM[sdk=iphoneos*]" = RAQJ4FNZUH;
|
"DEVELOPMENT_TEAM[sdk=iphoneos*]" = RAQJ4FNZUH;
|
||||||
@ -1944,7 +1944,7 @@
|
|||||||
"$(inherited)",
|
"$(inherited)",
|
||||||
"@executable_path/Frameworks",
|
"@executable_path/Frameworks",
|
||||||
);
|
);
|
||||||
MARKETING_VERSION = 1.2.1;
|
MARKETING_VERSION = 1.2.2;
|
||||||
PRODUCT_BUNDLE_IDENTIFIER = relax.offline.mp3.music;
|
PRODUCT_BUNDLE_IDENTIFIER = relax.offline.mp3.music;
|
||||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||||
PROVISIONING_PROFILE_SPECIFIER = "";
|
PROVISIONING_PROFILE_SPECIFIER = "";
|
||||||
@ -1969,7 +1969,7 @@
|
|||||||
CODE_SIGN_IDENTITY = "Apple Development";
|
CODE_SIGN_IDENTITY = "Apple Development";
|
||||||
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
|
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
|
||||||
CODE_SIGN_STYLE = Manual;
|
CODE_SIGN_STYLE = Manual;
|
||||||
CURRENT_PROJECT_VERSION = 1.2.1.1;
|
CURRENT_PROJECT_VERSION = 1.2.2.1;
|
||||||
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
|
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
|
||||||
DEVELOPMENT_TEAM = "";
|
DEVELOPMENT_TEAM = "";
|
||||||
"DEVELOPMENT_TEAM[sdk=iphoneos*]" = RAQJ4FNZUH;
|
"DEVELOPMENT_TEAM[sdk=iphoneos*]" = RAQJ4FNZUH;
|
||||||
@ -1990,7 +1990,7 @@
|
|||||||
"$(inherited)",
|
"$(inherited)",
|
||||||
"@executable_path/Frameworks",
|
"@executable_path/Frameworks",
|
||||||
);
|
);
|
||||||
MARKETING_VERSION = 1.2.1;
|
MARKETING_VERSION = 1.2.2;
|
||||||
PRODUCT_BUNDLE_IDENTIFIER = relax.offline.mp3.music;
|
PRODUCT_BUNDLE_IDENTIFIER = relax.offline.mp3.music;
|
||||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||||
PROVISIONING_PROFILE_SPECIFIER = "";
|
PROVISIONING_PROFILE_SPECIFIER = "";
|
||||||
|
|||||||
Binary file not shown.
@ -102,17 +102,30 @@ class AppDelegate: UIResponder, UIApplicationDelegate {
|
|||||||
print("Failed to set type:\(error.localizedDescription)")
|
print("Failed to set type:\(error.localizedDescription)")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//停止播放器会话
|
///停止播放器会话
|
||||||
func setAudioStop() {
|
func setAudioStop() {
|
||||||
// //设置会话
|
//设置会话
|
||||||
// let session = AVAudioSession.sharedInstance()
|
let session = AVAudioSession.sharedInstance()
|
||||||
// do {
|
do {
|
||||||
// //中止会话
|
//中止会话
|
||||||
// try session.setActive(false)
|
try session.setActive(false)
|
||||||
// print("中止会话")
|
print("中止会话")
|
||||||
// } catch {
|
} catch {
|
||||||
// print("Failed to set type:\(error.localizedDescription)")
|
print("Failed to set type:\(error.localizedDescription)")
|
||||||
// }
|
}
|
||||||
|
}
|
||||||
|
///激活播放器会话
|
||||||
|
func setAudioActive() {
|
||||||
|
//设置会话
|
||||||
|
let session = AVAudioSession.sharedInstance()
|
||||||
|
do {
|
||||||
|
//中止会话
|
||||||
|
try session.setCategory(.playAndRecord, mode: .default, options: [ .allowAirPlay, .allowBluetoothA2DP,.defaultToSpeaker])
|
||||||
|
try session.setActive(true)
|
||||||
|
print("恢复会话")
|
||||||
|
} catch {
|
||||||
|
print("Failed to set type:\(error.localizedDescription)")
|
||||||
|
}
|
||||||
}
|
}
|
||||||
//活跃天数计算
|
//活跃天数计算
|
||||||
private func ActiveDaysCalculation() {
|
private func ActiveDaysCalculation() {
|
||||||
@ -178,6 +191,8 @@ class AppDelegate: UIResponder, UIApplicationDelegate {
|
|||||||
func applicationDidEnterBackground(_ application: UIApplication) {
|
func applicationDidEnterBackground(_ application: UIApplication) {
|
||||||
//更新当前后台时间节点
|
//更新当前后台时间节点
|
||||||
backgroundEntryTime = Date()
|
backgroundEntryTime = Date()
|
||||||
|
//保持会话激活
|
||||||
|
setAudioActive()
|
||||||
}
|
}
|
||||||
|
|
||||||
//将要进入前台
|
//将要进入前台
|
||||||
|
|||||||
@ -90,7 +90,8 @@ var isUpDateReminder:Bool = false{
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
///UUID
|
||||||
|
public let app_UUID = UIDevice.current.identifierForVendor?.uuidString ?? UUID().uuidString
|
||||||
//MARK: - 全局变量与方法
|
//MARK: - 全局变量与方法
|
||||||
//存储默认配置值
|
//存储默认配置值
|
||||||
func coreDefaultValues() {
|
func coreDefaultValues() {
|
||||||
|
|||||||
@ -85,6 +85,27 @@ class MP_ADSimpleManager: NSObject {
|
|||||||
deinit{
|
deinit{
|
||||||
NotificationCenter.default.removeObserver(self)
|
NotificationCenter.default.removeObserver(self)
|
||||||
}
|
}
|
||||||
|
///调整广告静音声音
|
||||||
|
func isAdMuted() {
|
||||||
|
DispatchQueue.main.async {
|
||||||
|
if MP_PlayerManager.shared.getPlayState() == .Playing {
|
||||||
|
GADMobileAds.sharedInstance().audioVideoManager.audioSessionIsApplicationManaged = true
|
||||||
|
GADMobileAds.sharedInstance().applicationMuted = true
|
||||||
|
}else {
|
||||||
|
GADMobileAds.sharedInstance().audioVideoManager.audioSessionIsApplicationManaged = false
|
||||||
|
GADMobileAds.sharedInstance().applicationMuted = false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
///调整广告恢复声音
|
||||||
|
func isAdSounded() {
|
||||||
|
DispatchQueue.main.async {
|
||||||
|
if GADMobileAds.sharedInstance().applicationMuted == true {
|
||||||
|
GADMobileAds.sharedInstance().audioVideoManager.audioSessionIsApplicationManaged = false
|
||||||
|
GADMobileAds.sharedInstance().applicationMuted = false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
//启动广告初始化
|
//启动广告初始化
|
||||||
func start() {
|
func start() {
|
||||||
MP_AdMobManager.shared.start()
|
MP_AdMobManager.shared.start()
|
||||||
@ -118,6 +139,7 @@ class MP_ADSimpleManager: NSObject {
|
|||||||
guard openAdStatus, internalAdStatus else {
|
guard openAdStatus, internalAdStatus else {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
isAdMuted()
|
||||||
if platform {
|
if platform {
|
||||||
if let block = completion {
|
if let block = completion {
|
||||||
MP_AppLovinManager.shared.showOpenAdIfAvailable {[weak self] ad in
|
MP_AppLovinManager.shared.showOpenAdIfAvailable {[weak self] ad in
|
||||||
@ -141,6 +163,7 @@ class MP_ADSimpleManager: NSObject {
|
|||||||
///展示搜索广告
|
///展示搜索广告
|
||||||
func showSearchInterstitialAdIfAvailable(completion:((AnyObject, Bool) -> Void)?) {
|
func showSearchInterstitialAdIfAvailable(completion:((AnyObject, Bool) -> Void)?) {
|
||||||
guard openAdStatus, internalAdStatus else {return}
|
guard openAdStatus, internalAdStatus else {return}
|
||||||
|
isAdMuted()
|
||||||
if platform {
|
if platform {
|
||||||
if let block = completion {
|
if let block = completion {
|
||||||
MP_AppLovinManager.shared.showSearchInterstitialAdIfAvailable { ad in
|
MP_AppLovinManager.shared.showSearchInterstitialAdIfAvailable { ad in
|
||||||
@ -165,6 +188,7 @@ class MP_ADSimpleManager: NSObject {
|
|||||||
completion?(nil, false)
|
completion?(nil, false)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
isAdMuted()
|
||||||
if platform {
|
if platform {
|
||||||
if let block = completion {
|
if let block = completion {
|
||||||
MP_AppLovinManager.shared.showPlayInterstitialAdIfAvailable { ad in
|
MP_AppLovinManager.shared.showPlayInterstitialAdIfAvailable { ad in
|
||||||
@ -186,6 +210,7 @@ class MP_ADSimpleManager: NSObject {
|
|||||||
///展示曲库广告
|
///展示曲库广告
|
||||||
func showLibraryInterstitialAdIfAvailable(completion:((AnyObject) -> Void)?) {
|
func showLibraryInterstitialAdIfAvailable(completion:((AnyObject) -> Void)?) {
|
||||||
guard openAdStatus, internalAdStatus else {return}
|
guard openAdStatus, internalAdStatus else {return}
|
||||||
|
isAdMuted()
|
||||||
if platform {
|
if platform {
|
||||||
if let block = completion {
|
if let block = completion {
|
||||||
MP_AppLovinManager.shared.showLibraryInterstitialAdIfAvailable { ad in
|
MP_AppLovinManager.shared.showLibraryInterstitialAdIfAvailable { ad in
|
||||||
|
|||||||
@ -106,7 +106,6 @@ class MP_AdMobManager: NSObject, GADAudioVideoManagerDelegate, GADFullScreenCont
|
|||||||
super.init()
|
super.init()
|
||||||
NotificationCenter.notificationKey.add(observer: self, selector: #selector(netWorkReachableAction(_:)), notificationName: .net_switch_reachable)
|
NotificationCenter.notificationKey.add(observer: self, selector: #selector(netWorkReachableAction(_:)), notificationName: .net_switch_reachable)
|
||||||
GADMobileAds.sharedInstance().audioVideoManager.delegate = self
|
GADMobileAds.sharedInstance().audioVideoManager.delegate = self
|
||||||
GADMobileAds.sharedInstance().audioVideoManager.audioSessionIsApplicationManaged = true
|
|
||||||
// GADMobileAds.sharedInstance().audioVideoManager.
|
// GADMobileAds.sharedInstance().audioVideoManager.
|
||||||
|
|
||||||
reloadAdMobIDs()
|
reloadAdMobIDs()
|
||||||
@ -471,7 +470,7 @@ class MP_AdMobManager: NSObject, GADAudioVideoManagerDelegate, GADFullScreenCont
|
|||||||
}
|
}
|
||||||
isLoadingOpenAd = true
|
isLoadingOpenAd = true
|
||||||
let request = GADRequest()
|
let request = GADRequest()
|
||||||
|
MP_ADSimpleManager.shared.isAdSounded()
|
||||||
//判断需要生成什么广告
|
//判断需要生成什么广告
|
||||||
if item.type == .Open {
|
if item.type == .Open {
|
||||||
//生成开屏广告
|
//生成开屏广告
|
||||||
@ -678,6 +677,7 @@ class MP_AdMobManager: NSObject, GADAudioVideoManagerDelegate, GADFullScreenCont
|
|||||||
///将加载的搜索原生广告添加到页面中
|
///将加载的搜索原生广告添加到页面中
|
||||||
func layoutSearchNativeAd(in containerView: UIView) {
|
func layoutSearchNativeAd(in containerView: UIView) {
|
||||||
guard openAdStatus, internalAdStatus else {return}
|
guard openAdStatus, internalAdStatus else {return}
|
||||||
|
MP_ADSimpleManager.shared.isAdMuted()
|
||||||
containerView.subviews.forEach { item in
|
containerView.subviews.forEach { item in
|
||||||
item.removeFromSuperview()
|
item.removeFromSuperview()
|
||||||
}
|
}
|
||||||
@ -754,6 +754,7 @@ class MP_AdMobManager: NSObject, GADAudioVideoManagerDelegate, GADFullScreenCont
|
|||||||
isLoadingSearchInterstitialAd = true
|
isLoadingSearchInterstitialAd = true
|
||||||
let item = SearchINSERTID[level]
|
let item = SearchINSERTID[level]
|
||||||
let request = GADRequest()
|
let request = GADRequest()
|
||||||
|
MP_ADSimpleManager.shared.isAdSounded()
|
||||||
//加载搜索插页广告
|
//加载搜索插页广告
|
||||||
GADInterstitialAd.load(withAdUnitID: item.identifier, request: request) { ad, error in
|
GADInterstitialAd.load(withAdUnitID: item.identifier, request: request) { ad, error in
|
||||||
DispatchQueue.main.async { [weak self] in
|
DispatchQueue.main.async { [weak self] in
|
||||||
@ -871,6 +872,7 @@ class MP_AdMobManager: NSObject, GADAudioVideoManagerDelegate, GADFullScreenCont
|
|||||||
isLoadingPlayInterstitialAd = true
|
isLoadingPlayInterstitialAd = true
|
||||||
let item = PlayerINSERTID[level]
|
let item = PlayerINSERTID[level]
|
||||||
let request = GADRequest()
|
let request = GADRequest()
|
||||||
|
MP_ADSimpleManager.shared.isAdSounded()
|
||||||
//加载播放插页广告
|
//加载播放插页广告
|
||||||
GADInterstitialAd.load(withAdUnitID: item.identifier, request: request) { ad, error in
|
GADInterstitialAd.load(withAdUnitID: item.identifier, request: request) { ad, error in
|
||||||
DispatchQueue.main.async { [weak self] in
|
DispatchQueue.main.async { [weak self] in
|
||||||
@ -1252,6 +1254,7 @@ class MP_AdMobManager: NSObject, GADAudioVideoManagerDelegate, GADFullScreenCont
|
|||||||
///将加载的曲库原生广告添加到页面中
|
///将加载的曲库原生广告添加到页面中
|
||||||
func layoutLibraryNativeAd(in containerView: UIView, index:Int, completion:(() -> Void)? = nil) {
|
func layoutLibraryNativeAd(in containerView: UIView, index:Int, completion:(() -> Void)? = nil) {
|
||||||
guard openAdStatus, internalAdStatus else {return}
|
guard openAdStatus, internalAdStatus else {return}
|
||||||
|
MP_ADSimpleManager.shared.isAdMuted()
|
||||||
containerView.subviews.forEach { item in
|
containerView.subviews.forEach { item in
|
||||||
item.removeFromSuperview()
|
item.removeFromSuperview()
|
||||||
}
|
}
|
||||||
@ -1365,6 +1368,7 @@ class MP_AdMobManager: NSObject, GADAudioVideoManagerDelegate, GADFullScreenCont
|
|||||||
isLoadingLibraryInterstitialAd = true
|
isLoadingLibraryInterstitialAd = true
|
||||||
let item = LibraryINSERTID[level]
|
let item = LibraryINSERTID[level]
|
||||||
let request = GADRequest()
|
let request = GADRequest()
|
||||||
|
MP_ADSimpleManager.shared.isAdSounded()
|
||||||
//加载曲库插页广告
|
//加载曲库插页广告
|
||||||
GADInterstitialAd.load(withAdUnitID: item.identifier, request: request) { ad, error in
|
GADInterstitialAd.load(withAdUnitID: item.identifier, request: request) { ad, error in
|
||||||
DispatchQueue.main.async { [weak self] in
|
DispatchQueue.main.async { [weak self] in
|
||||||
@ -1548,12 +1552,12 @@ class MP_AdMobManager: NSObject, GADAudioVideoManagerDelegate, GADFullScreenCont
|
|||||||
}
|
}
|
||||||
//广告将要播放音频
|
//广告将要播放音频
|
||||||
func audioVideoManagerWillPlayAudio(_ audioVideoManager: GADAudioVideoManager) {
|
func audioVideoManagerWillPlayAudio(_ audioVideoManager: GADAudioVideoManager) {
|
||||||
accessAppdelegate.setAudioResume()
|
accessAppdelegate.setAudioActive()
|
||||||
}
|
}
|
||||||
//广告停止播放音频
|
//广告停止播放音频
|
||||||
func audioVideoManagerDidStopPlayingAudio(_ audioVideoManager: GADAudioVideoManager) {
|
func audioVideoManagerDidStopPlayingAudio(_ audioVideoManager: GADAudioVideoManager) {
|
||||||
DispatchQueue.main.asyncAfter(deadline: .now()+0.1) {
|
DispatchQueue.main.asyncAfter(deadline: .now()+0.1) {
|
||||||
accessAppdelegate.setAudioResume()
|
accessAppdelegate.setAudioActive()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//MARK: - 覆盖型广告代理 GADFullScreenContentDelegate
|
//MARK: - 覆盖型广告代理 GADFullScreenContentDelegate
|
||||||
|
|||||||
@ -193,12 +193,11 @@ class MP_AppLovinManager: NSObject {
|
|||||||
let initConfig = ALSdkInitializationConfiguration(sdkKey: SDKKey) { builder in
|
let initConfig = ALSdkInitializationConfiguration(sdkKey: SDKKey) { builder in
|
||||||
builder.mediationProvider = ALMediationProviderMAX
|
builder.mediationProvider = ALMediationProviderMAX
|
||||||
}
|
}
|
||||||
//AppLovin初始化
|
|
||||||
ALSdk.shared().initialize(with: initConfig) { sdkConfig in
|
|
||||||
//开始加载AppLovin广告
|
|
||||||
}
|
|
||||||
//设置全部静音
|
//设置全部静音
|
||||||
ALSdk.shared().settings.isMuted = true
|
ALSdk.shared().settings.isMuted = true
|
||||||
|
ALSdk.shared().settings.userIdentifier = app_UUID
|
||||||
|
//AppLovin初始化
|
||||||
|
ALSdk.shared().initialize(with: initConfig)
|
||||||
}
|
}
|
||||||
///更新广告ID
|
///更新广告ID
|
||||||
func reloadAppLovinIDs() {
|
func reloadAppLovinIDs() {
|
||||||
|
|||||||
@ -92,7 +92,7 @@ class MP_DownloadManager: NSObject {
|
|||||||
if url.scheme == "file" {
|
if url.scheme == "file" {
|
||||||
print("用户对同一首歌删除又下载")
|
print("用户对同一首歌删除又下载")
|
||||||
//出现这种情况是用户在播放器界面移除了下载歌曲,又继续点了下载同一首歌,当前歌曲资源的并未刷新,提供的路径资源仍旧是下载后的本地资源,需要重新调用网络请求获取
|
//出现这种情况是用户在播放器界面移除了下载歌曲,又继续点了下载同一首歌,当前歌曲资源的并未刷新,提供的路径资源仍旧是下载后的本地资源,需要重新调用网络请求获取
|
||||||
MP_NetWorkManager.shared.requestNextList("", videoId: videoId, clickTrackingParams: nil){
|
MP_NetWorkManager.shared.requestNextList(song.playListID ?? "", videoId: videoId, clickTrackingParams: nil){
|
||||||
[weak self] listSongs in
|
[weak self] listSongs in
|
||||||
guard let self = self, let first = listSongs.first else {
|
guard let self = self, let first = listSongs.first else {
|
||||||
return
|
return
|
||||||
|
|||||||
@ -544,6 +544,7 @@ class MP_PlayerManager:NSObject{
|
|||||||
//MARK: - 音乐播放结束
|
//MARK: - 音乐播放结束
|
||||||
//当前音乐播放结束时
|
//当前音乐播放结束时
|
||||||
@objc private func playerDidFinishPlaying(_ sender:Notification) {
|
@objc private func playerDidFinishPlaying(_ sender:Notification) {
|
||||||
|
guard let item = sender.object as? MP_AVPlayerItem else {return}
|
||||||
//检索播放器对象
|
//检索播放器对象
|
||||||
guard playState == .Playing else {
|
guard playState == .Playing else {
|
||||||
return
|
return
|
||||||
@ -584,7 +585,7 @@ class MP_PlayerManager:NSObject{
|
|||||||
}else {
|
}else {
|
||||||
//不为空,调整数据
|
//不为空,调整数据
|
||||||
if let item = results.first {
|
if let item = results.first {
|
||||||
if (item.level ?? 0) < level {
|
if (item.level) < level {
|
||||||
item.level = level
|
item.level = level
|
||||||
}
|
}
|
||||||
item.addTime = Date()
|
item.addTime = Date()
|
||||||
|
|||||||
@ -93,7 +93,7 @@ class MPPositive_MoreSongOperationsViewController: UIViewController, UIViewContr
|
|||||||
guard let self = self else {return}
|
guard let self = self else {return}
|
||||||
// MP_HUD.loading()
|
// MP_HUD.loading()
|
||||||
//发起网络请求补全数据
|
//发起网络请求补全数据
|
||||||
MP_NetWorkManager.shared.requestNextList("", videoId: browseViewModel.browseItem.videoId ?? "", clickTrackingParams: browseViewModel.browseItem.clickTrackingParams) { [weak self] listSongs in
|
MP_NetWorkManager.shared.requestNextList(browseViewModel.browseItem.playListId ?? "", videoId: browseViewModel.browseItem.videoId ?? "", clickTrackingParams: browseViewModel.browseItem.clickTrackingParams) { [weak self] listSongs in
|
||||||
guard let first = listSongs.first else {return}
|
guard let first = listSongs.first else {return}
|
||||||
let group = DispatchGroup()
|
let group = DispatchGroup()
|
||||||
group.enter()
|
group.enter()
|
||||||
@ -133,7 +133,7 @@ class MPPositive_MoreSongOperationsViewController: UIViewController, UIViewContr
|
|||||||
guard let self = self else {return}
|
guard let self = self else {return}
|
||||||
// MP_HUD.loading()
|
// MP_HUD.loading()
|
||||||
//发起网络请求补全数据
|
//发起网络请求补全数据
|
||||||
MP_NetWorkManager.shared.requestNextList("", videoId: searchResultItemViewModel.item.videoId ?? "", clickTrackingParams: searchResultItemViewModel.item.clickTrackingParams) { [weak self] listSongs in
|
MP_NetWorkManager.shared.requestNextList(searchResultItemViewModel.item.playListId ?? "", videoId: searchResultItemViewModel.item.videoId ?? "", clickTrackingParams: searchResultItemViewModel.item.clickTrackingParams) { [weak self] listSongs in
|
||||||
guard let first = listSongs.first else {return}
|
guard let first = listSongs.first else {return}
|
||||||
let group = DispatchGroup()
|
let group = DispatchGroup()
|
||||||
group.enter()
|
group.enter()
|
||||||
|
|||||||
@ -187,7 +187,7 @@ class MPPositive_OfflineSongsViewController: MPPositive_BaseViewController {
|
|||||||
}
|
}
|
||||||
//刷新常态展示组
|
//刷新常态展示组
|
||||||
private func reloadShow() {
|
private func reloadShow() {
|
||||||
tableView.showMessage(offlines.count, title: "No Songs")
|
// tableView.showMessage(offlines.count, title: "No Songs")
|
||||||
switch sortType {
|
switch sortType {
|
||||||
case 0://从新到旧
|
case 0://从新到旧
|
||||||
showSongs = offlines.sorted(by: { item1, item2 in
|
showSongs = offlines.sorted(by: { item1, item2 in
|
||||||
|
|||||||
@ -245,7 +245,7 @@ class MPPositive_ArtistShowSongTableViewCell: UITableViewCell, PKDownloadButtonD
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
//检索当前歌曲是否下载过
|
//检索当前歌曲是否下载过
|
||||||
guard let videoId = itemView.browseItem.videoId else {
|
guard let videoId = itemView?.browseItem.videoId else {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
//未下载
|
//未下载
|
||||||
@ -253,7 +253,7 @@ class MPPositive_ArtistShowSongTableViewCell: UITableViewCell, PKDownloadButtonD
|
|||||||
//切换为准备状态
|
//切换为准备状态
|
||||||
downloadButton.state = .pending
|
downloadButton.state = .pending
|
||||||
//通过网络请求获取当前预览项资源(转为Song)
|
//通过网络请求获取当前预览项资源(转为Song)
|
||||||
MP_NetWorkManager.shared.requestNextList("", videoId: itemView.browseItem.videoId ?? "", clickTrackingParams: itemView.browseItem.clickTrackingParams){
|
MP_NetWorkManager.shared.requestNextList(itemView?.browseItem.playListId ?? "", videoId: itemView?.browseItem.videoId ?? "", clickTrackingParams: itemView.browseItem.clickTrackingParams){
|
||||||
[weak self] listSongs in
|
[weak self] listSongs in
|
||||||
guard let self = self, let first = listSongs.first else {
|
guard let self = self, let first = listSongs.first else {
|
||||||
//获取资源失败
|
//获取资源失败
|
||||||
|
|||||||
@ -237,14 +237,14 @@ class MPPositive_HomeSingleCollectionViewCell: UICollectionViewCell, PKDownloadB
|
|||||||
// return
|
// return
|
||||||
// }
|
// }
|
||||||
//检索当前歌曲是否下载过
|
//检索当前歌曲是否下载过
|
||||||
guard let videoId = itemViewModel.browseItem.videoId else {
|
guard let videoId = itemViewModel?.browseItem.videoId else {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
MP_ADSimpleManager.shared.showLibraryInterstitialAdIfAvailable(completion: nil)
|
MP_ADSimpleManager.shared.showLibraryInterstitialAdIfAvailable(completion: nil)
|
||||||
//切换为准备状态
|
//切换为准备状态
|
||||||
downloadButton.state = .pending
|
downloadButton.state = .pending
|
||||||
//通过网络请求获取当前预览项资源(转为Song)
|
//通过网络请求获取当前预览项资源(转为Song)
|
||||||
MP_NetWorkManager.shared.requestNextList("", videoId: videoId, clickTrackingParams: nil){
|
MP_NetWorkManager.shared.requestNextList(itemViewModel?.browseItem.playListId ?? "", videoId: videoId, clickTrackingParams: nil){
|
||||||
[weak self] listSongs in
|
[weak self] listSongs in
|
||||||
guard let self = self, let first = listSongs.first else {
|
guard let self = self, let first = listSongs.first else {
|
||||||
//获取资源失败
|
//获取资源失败
|
||||||
|
|||||||
@ -270,14 +270,14 @@ class MPPositive_MusicItemShowTableViewCell: UITableViewCell, PKDownloadButtonDe
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
//检索当前歌曲是否下载过
|
//检索当前歌曲是否下载过
|
||||||
guard let videoId = itemView.browseItem.videoId else {
|
guard let videoId = itemView?.browseItem.videoId else {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
MP_ADSimpleManager.shared.showLibraryInterstitialAdIfAvailable(completion: nil)
|
MP_ADSimpleManager.shared.showLibraryInterstitialAdIfAvailable(completion: nil)
|
||||||
//切换为准备状态
|
//切换为准备状态
|
||||||
downloadButton.state = .pending
|
downloadButton.state = .pending
|
||||||
//通过网络请求获取当前预览项资源(转为Song)
|
//通过网络请求获取当前预览项资源(转为Song)
|
||||||
MP_NetWorkManager.shared.requestNextList("", videoId: videoId, clickTrackingParams: nil){
|
MP_NetWorkManager.shared.requestNextList(itemView?.browseItem.playListId ?? "", videoId: videoId, clickTrackingParams: nil){
|
||||||
[weak self] listSongs in
|
[weak self] listSongs in
|
||||||
guard let self = self, let first = listSongs.first else {
|
guard let self = self, let first = listSongs.first else {
|
||||||
//获取资源失败
|
//获取资源失败
|
||||||
|
|||||||
@ -297,17 +297,22 @@ class MPPositive_SearchResultShowTableViewCell: UITableViewCell, PKDownloadButto
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
var videoId:String?
|
var videoId:String?
|
||||||
|
var playListId:String?
|
||||||
if let itemView = itemView {
|
if let itemView = itemView {
|
||||||
videoId = itemView.item.videoId
|
videoId = itemView.item.videoId
|
||||||
|
playListId = itemView.item.playListId
|
||||||
}
|
}
|
||||||
if let songViewModel = songViewModel {
|
if let songViewModel = songViewModel {
|
||||||
videoId = songViewModel.collectionSong.videoId
|
videoId = songViewModel.collectionSong.videoId
|
||||||
|
playListId = ""
|
||||||
}
|
}
|
||||||
if let loadViewModel = loadViewModel {
|
if let loadViewModel = loadViewModel {
|
||||||
videoId = loadViewModel.loadItem.videoId
|
videoId = loadViewModel.loadItem.videoId
|
||||||
|
playListId = loadViewModel.loadItem.playListID
|
||||||
}
|
}
|
||||||
if let videoModel = videoModel {
|
if let videoModel = videoModel {
|
||||||
videoId = videoModel.videoId
|
videoId = videoModel.videoId
|
||||||
|
playListId = ""
|
||||||
}
|
}
|
||||||
//检索当前歌曲是否下载过
|
//检索当前歌曲是否下载过
|
||||||
guard let videoId = videoId else {
|
guard let videoId = videoId else {
|
||||||
@ -318,7 +323,7 @@ class MPPositive_SearchResultShowTableViewCell: UITableViewCell, PKDownloadButto
|
|||||||
//切换为准备状态
|
//切换为准备状态
|
||||||
downloadButton.state = .pending
|
downloadButton.state = .pending
|
||||||
//通过网络请求获取当前预览项资源(转为Song)
|
//通过网络请求获取当前预览项资源(转为Song)
|
||||||
MP_NetWorkManager.shared.requestNextList("", videoId: videoId, clickTrackingParams: nil){
|
MP_NetWorkManager.shared.requestNextList(playListId ?? "", videoId: videoId, clickTrackingParams: nil){
|
||||||
[weak self] listSongs in
|
[weak self] listSongs in
|
||||||
guard let self = self, let first = listSongs.first else {
|
guard let self = self, let first = listSongs.first else {
|
||||||
//获取资源失败
|
//获取资源失败
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user