添加applovin广告,广告流程优化
This commit is contained in:
parent
ffc984babe
commit
a399554e58
@ -122,7 +122,7 @@ extension SceneDelegate {
|
|||||||
window?.rootViewController = guideVc
|
window?.rootViewController = guideVc
|
||||||
window?.makeKeyAndVisible()
|
window?.makeKeyAndVisible()
|
||||||
|
|
||||||
} else if !SPAPPTool.isAppOpen, hasOpenApp == true, SPNetworkReachabilityManager.manager.isReachable == true { //开屏广告
|
} else if !SPAPPTool.isAppOpen, hasOpenApp == true, SPNetworkReachabilityManager.manager.isReachable == true, SPLoginManager.manager.userInfo?.user_level == .ad { //开屏广告
|
||||||
let openAdVC = SPAppOpenAdViewController()
|
let openAdVC = SPAppOpenAdViewController()
|
||||||
openAdVC.didEndBlock = { [weak self] in
|
openAdVC.didEndBlock = { [weak self] in
|
||||||
self?.handleOpenApp()
|
self?.handleOpenApp()
|
||||||
|
@ -15,7 +15,15 @@ class SPAdAPI {
|
|||||||
param.method = .get
|
param.method = .get
|
||||||
|
|
||||||
SPNetwork.request(parameters: param) { (response: SPNetworkResponse<SPAdDataModel>) in
|
SPNetwork.request(parameters: param) { (response: SPNetworkResponse<SPAdDataModel>) in
|
||||||
completer?(response.data?.ad)
|
if response.code != SPNetworkCodeSucceed || response.data?.ad?.platform_key == nil {
|
||||||
|
let adInfo = SPAdInfo()
|
||||||
|
adInfo.platform_key = .google
|
||||||
|
adInfo.ads_id = SPAdManager.manager.admob_rewardedAdUnitID
|
||||||
|
completer?(adInfo)
|
||||||
|
} else {
|
||||||
|
completer?(response.data?.ad)
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -77,6 +77,12 @@ extension SPWebViewController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
} else if name == WebMessageOpenCheckSignIn { //点击点到
|
} else if name == WebMessageOpenCheckSignIn { //点击点到
|
||||||
|
|
||||||
|
guard SPRewardedAdManager.manager.isAdAvailable() else {
|
||||||
|
SPRewardedAdManager.manager.showToast()
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
self.needAutoRefresh = false
|
self.needAutoRefresh = false
|
||||||
let manager = SPRewardedAdManager.manager
|
let manager = SPRewardedAdManager.manager
|
||||||
manager.statScene = .reward
|
manager.statScene = .reward
|
||||||
|
@ -118,11 +118,14 @@ extension SPMineViewController {
|
|||||||
guard SPLoginManager.manager.userInfo?.user_level == .ad else { return }
|
guard SPLoginManager.manager.userInfo?.user_level == .ad else { return }
|
||||||
guard needShowRewardedAd else { return }
|
guard needShowRewardedAd else { return }
|
||||||
needShowRewardedAd = false
|
needShowRewardedAd = false
|
||||||
guard SPRewardedAdManager.manager.isEnable else { return }
|
guard SPRewardedAdManager.manager.isAdAvailable() else {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
let manager = SPRewardedAdManager.manager
|
let manager = SPRewardedAdManager.manager
|
||||||
|
manager.delegate = nil
|
||||||
manager.statScene = .me
|
manager.statScene = .me
|
||||||
manager.loadAndShowRewardedAd()
|
manager.loadAndShowRewardedAd(isShowToast: false)
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -142,6 +142,12 @@ extension SPPlayerListViewModel {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func adUnlockVideo(finish: (() -> Void)?) {
|
func adUnlockVideo(finish: (() -> Void)?) {
|
||||||
|
|
||||||
|
guard SPRewardedAdManager.manager.isAdAvailable() else {
|
||||||
|
SPRewardedAdManager.manager.showToast()
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
let manager = SPRewardedAdManager.manager
|
let manager = SPRewardedAdManager.manager
|
||||||
manager.delegate = self
|
manager.delegate = self
|
||||||
manager.videoInfo = self.currentPlayer?.videoInfo
|
manager.videoInfo = self.currentPlayer?.videoInfo
|
||||||
|
@ -25,9 +25,8 @@ class SPAppOpenAdManager: NSObject {
|
|||||||
|
|
||||||
weak var delegate: SPAppOpenAdManagerDelegate?
|
weak var delegate: SPAppOpenAdManagerDelegate?
|
||||||
|
|
||||||
#if DEBUG
|
let adUnitID = SPAdManager.manager.appOpenAdUnitID
|
||||||
let adUnitID = "ca-app-pub-3940256099942544/5575463023"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
private var appOpenAd: AppOpenAd?
|
private var appOpenAd: AppOpenAd?
|
||||||
private(set) var isLoadingAd = false
|
private(set) var isLoadingAd = false
|
||||||
|
@ -22,9 +22,7 @@ import GoogleMobileAds
|
|||||||
|
|
||||||
class SPBannerAd: NSObject {
|
class SPBannerAd: NSObject {
|
||||||
|
|
||||||
#if DEBUG
|
let adUnitID = SPAdManager.manager.bannerAdUnitID
|
||||||
let adUnitID = "ca-app-pub-3940256099942544/2435281174"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
let size = CGSize.init(width: kSPScreenWidth, height: 59)
|
let size = CGSize.init(width: kSPScreenWidth, height: 59)
|
||||||
|
|
||||||
@ -97,7 +95,7 @@ extension SPBannerAd {
|
|||||||
model.ads_id = adUnitID
|
model.ads_id = adUnitID
|
||||||
model.ad_platform_key = .google
|
model.ad_platform_key = .google
|
||||||
model.error_msg = errorMsg
|
model.error_msg = errorMsg
|
||||||
model.scene = .splash
|
model.scene = .banner
|
||||||
|
|
||||||
SPStatAPI.requestStatAd(model: model)
|
SPStatAPI.requestStatAd(model: model)
|
||||||
}
|
}
|
||||||
|
@ -66,7 +66,7 @@ extension SPRewardedAdManager {
|
|||||||
guard !self.admob_isLoadingRewardedAd else { return }
|
guard !self.admob_isLoadingRewardedAd else { return }
|
||||||
|
|
||||||
#if DEBUG
|
#if DEBUG
|
||||||
adInfo.ads_id = "ca-app-pub-3940256099942544/1712485313"
|
adInfo.ads_id = SPAdManager.manager.admob_rewardedAdUnitID
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
let adUnitID = adInfo.ads_id ?? ""
|
let adUnitID = adInfo.ads_id ?? ""
|
||||||
|
@ -20,7 +20,6 @@ extension SPRewardedAdManager {
|
|||||||
static var appLovin_rewardedAd: Int?
|
static var appLovin_rewardedAd: Int?
|
||||||
static var appLovin_needShowRewardedAd: Int?
|
static var appLovin_needShowRewardedAd: Int?
|
||||||
static var appLovin_isLoadingRewardedAd: Int?
|
static var appLovin_isLoadingRewardedAd: Int?
|
||||||
static var appLovin_retryAttempt: Int?
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#if canImport(AppLovinSDK)
|
#if canImport(AppLovinSDK)
|
||||||
@ -33,15 +32,6 @@ extension SPRewardedAdManager {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private var appLovin_retryAttempt: CGFloat {
|
|
||||||
set {
|
|
||||||
objc_setAssociatedObject(self, &AssociatedKeys.appLovin_retryAttempt, newValue, .OBJC_ASSOCIATION_ASSIGN)
|
|
||||||
}
|
|
||||||
get {
|
|
||||||
return (objc_getAssociatedObject(self, &AssociatedKeys.appLovin_retryAttempt) as? CGFloat) ?? 0
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
///是否需要展示广告,true广告加载完成会直接展示广告
|
///是否需要展示广告,true广告加载完成会直接展示广告
|
||||||
private var appLovin_needShowRewardedAd: Bool {
|
private var appLovin_needShowRewardedAd: Bool {
|
||||||
set {
|
set {
|
||||||
@ -63,13 +53,22 @@ extension SPRewardedAdManager {
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
func appLovin_isReady() -> Bool {
|
||||||
|
#if canImport(AppLovinSDK)
|
||||||
|
return appLovin_rewardedAd?.isReady ?? false
|
||||||
|
#else
|
||||||
|
return false
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
///加载激励广告
|
///加载激励广告
|
||||||
func appLovin_loadRewardedAd() {
|
func appLovin_loadRewardedAd(adInfo: SPAdInfo) {
|
||||||
|
|
||||||
#if canImport(AppLovinSDK)
|
#if canImport(AppLovinSDK)
|
||||||
if !appLovin_isLoadingRewardedAd {
|
if !appLovin_isLoadingRewardedAd {
|
||||||
self.appLovin_isLoadingRewardedAd = true
|
self.appLovin_isLoadingRewardedAd = true
|
||||||
|
|
||||||
appLovin_rewardedAd = MARewardedAd.shared(withAdUnitIdentifier: appLovin_adUnitID)
|
appLovin_rewardedAd = MARewardedAd.shared(withAdUnitIdentifier: adInfo.ads_id ?? "")
|
||||||
appLovin_rewardedAd?.delegate = self
|
appLovin_rewardedAd?.delegate = self
|
||||||
appLovin_rewardedAd?.load()
|
appLovin_rewardedAd?.load()
|
||||||
}
|
}
|
||||||
@ -77,14 +76,14 @@ extension SPRewardedAdManager {
|
|||||||
}
|
}
|
||||||
|
|
||||||
///加载并展示广告
|
///加载并展示广告
|
||||||
func appLovin_loadAndShowRewardedAd() {
|
func appLovin_loadAndShowRewardedAd(adInfo: SPAdInfo) {
|
||||||
#if canImport(AppLovinSDK)
|
#if canImport(AppLovinSDK)
|
||||||
self.appLovin_needShowRewardedAd = true
|
self.appLovin_needShowRewardedAd = true
|
||||||
|
|
||||||
if appLovin_rewardedAd?.isReady == true {
|
if appLovin_rewardedAd?.isReady == true {
|
||||||
self.appLovin_show()
|
self.appLovin_show()
|
||||||
} else {
|
} else {
|
||||||
appLovin_loadRewardedAd()
|
appLovin_loadRewardedAd(adInfo: adInfo)
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
@ -104,55 +103,55 @@ extension SPRewardedAdManager {
|
|||||||
}
|
}
|
||||||
|
|
||||||
#if canImport(AppLovinSDK)
|
#if canImport(AppLovinSDK)
|
||||||
|
//MARK: -------------- MARewardedAdDelegate --------------
|
||||||
extension SPRewardedAdManager: MARewardedAdDelegate {
|
extension SPRewardedAdManager: MARewardedAdDelegate {
|
||||||
|
|
||||||
func didLoad(_ ad: MAAd)
|
func didLoad(_ ad: MAAd)
|
||||||
{
|
{
|
||||||
self.appLovin_isLoadingRewardedAd = false
|
self.appLovin_isLoadingRewardedAd = false
|
||||||
// Rewarded ad is ready to show. '[self.rewardedAd isReady]' now returns 'YES'.
|
|
||||||
|
|
||||||
// Reset retry attempt
|
loadFinishHandler()
|
||||||
appLovin_retryAttempt = 0
|
|
||||||
|
|
||||||
appLovin_show()
|
appLovin_show()
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func didFailToLoadAd(forAdUnitIdentifier adUnitIdentifier: String, withError error: MAError)
|
func didFailToLoadAd(forAdUnitIdentifier adUnitIdentifier: String, withError error: MAError)
|
||||||
{
|
{
|
||||||
// Rewarded ad failed to load
|
self.appLovin_isLoadingRewardedAd = false
|
||||||
// AppLovin recommends that you retry with exponentially higher delays up to a maximum delay (in this case 64 seconds).
|
|
||||||
|
|
||||||
appLovin_retryAttempt += 1
|
let nsError = NSError(domain: error.message, code: error.code.rawValue)
|
||||||
let delaySec = pow(2.0, min(6.0, appLovin_retryAttempt))
|
loadFailHandler(error: nsError)
|
||||||
|
|
||||||
DispatchQueue.main.asyncAfter(deadline: .now() + delaySec) {
|
|
||||||
self.appLovin_rewardedAd?.load()
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func didDisplay(_ ad: MAAd) {}
|
func didDisplay(_ ad: MAAd) {
|
||||||
|
self.didShowHandler()
|
||||||
|
}
|
||||||
|
|
||||||
func didClick(_ ad: MAAd) {}
|
func didClick(_ ad: MAAd) {
|
||||||
|
self.didClickHandler()
|
||||||
|
}
|
||||||
|
|
||||||
func didHide(_ ad: MAAd)
|
func didHide(_ ad: MAAd)
|
||||||
{
|
{
|
||||||
// Rewarded ad is hidden. Pre-load the next ad
|
self.didDismissHandler()
|
||||||
self.appLovin_isLoadingRewardedAd = false
|
|
||||||
appLovin_loadRewardedAd()
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func didFail(toDisplay ad: MAAd, withError error: MAError)
|
func didFail(toDisplay ad: MAAd, withError error: MAError)
|
||||||
{
|
{
|
||||||
// Rewarded ad failed to display. AppLovin recommends that you load the next ad.
|
// Rewarded ad failed to display. AppLovin recommends that you load the next ad.
|
||||||
self.appLovin_isLoadingRewardedAd = false
|
self.appLovin_isLoadingRewardedAd = false
|
||||||
appLovin_loadRewardedAd()
|
// appLovin_loadRewardedAd()
|
||||||
|
|
||||||
|
let nsError = NSError(domain: error.message, code: error.code.rawValue)
|
||||||
|
displayFailHandler(error: nsError)
|
||||||
}
|
}
|
||||||
|
|
||||||
// MARK: MARewardedAdDelegate Protocol
|
|
||||||
|
|
||||||
func didRewardUser(for ad: MAAd, with reward: MAReward)
|
func didRewardUser(for ad: MAAd, with reward: MAReward)
|
||||||
{
|
{
|
||||||
// Rewarded ad was displayed and user should receive the reward
|
// Rewarded ad was displayed and user should receive the reward
|
||||||
|
self.userDidEarnRewardHandler()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -63,16 +63,18 @@ class SPRewardedAdManager: NSObject {
|
|||||||
guard let adInfo = adInfo else { return false }
|
guard let adInfo = adInfo else { return false }
|
||||||
if adInfo.platform_key == .google {
|
if adInfo.platform_key == .google {
|
||||||
return admob_rewardedAd != nil ? true : false
|
return admob_rewardedAd != nil ? true : false
|
||||||
|
} else if adInfo.platform_key == .applovin {
|
||||||
|
return appLovin_isReady()
|
||||||
}
|
}
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
|
||||||
///加载并展示激励广告
|
///加载并展示激励广告
|
||||||
func loadAndShowRewardedAd(isShowLoading: Bool = true, isShowToast: Bool = true) {
|
func loadAndShowRewardedAd(isShowLoading: Bool = false, isShowToast: Bool = true) {
|
||||||
guard isEnable else {
|
guard isEnable else {
|
||||||
let text = "movia_no_ads_tip".localized
|
let text = "movia_no_ads_tip".localized
|
||||||
if isShowToast {
|
if isShowToast {
|
||||||
SPToast.show(text: text)
|
self.showToast(text: text)
|
||||||
}
|
}
|
||||||
self.isShowToast = false
|
self.isShowToast = false
|
||||||
self.isShowLoading = false
|
self.isShowLoading = false
|
||||||
@ -91,6 +93,8 @@ class SPRewardedAdManager: NSObject {
|
|||||||
if let adInfo = adInfo {//已有广告
|
if let adInfo = adInfo {//已有广告
|
||||||
if adInfo.platform_key == .google {
|
if adInfo.platform_key == .google {
|
||||||
self.admob_loadAndShowRewardedAd(adInfo: adInfo)
|
self.admob_loadAndShowRewardedAd(adInfo: adInfo)
|
||||||
|
} else if adInfo.platform_key == .applovin {
|
||||||
|
self.appLovin_loadAndShowRewardedAd(adInfo: adInfo)
|
||||||
}
|
}
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
@ -108,6 +112,8 @@ class SPRewardedAdManager: NSObject {
|
|||||||
self.adInfo = adInfo
|
self.adInfo = adInfo
|
||||||
if adInfo.platform_key == .google {
|
if adInfo.platform_key == .google {
|
||||||
self.admob_loadAndShowRewardedAd(adInfo: adInfo)
|
self.admob_loadAndShowRewardedAd(adInfo: adInfo)
|
||||||
|
} else if adInfo.platform_key == .applovin {
|
||||||
|
self.appLovin_loadAndShowRewardedAd(adInfo: adInfo)
|
||||||
} else {
|
} else {
|
||||||
self.adInfo = nil
|
self.adInfo = nil
|
||||||
}
|
}
|
||||||
@ -135,6 +141,8 @@ class SPRewardedAdManager: NSObject {
|
|||||||
self.adInfo = adInfo
|
self.adInfo = adInfo
|
||||||
if adInfo.platform_key == .google {
|
if adInfo.platform_key == .google {
|
||||||
self.admob_loadRewardedAd(adInfo: adInfo)
|
self.admob_loadRewardedAd(adInfo: adInfo)
|
||||||
|
} else if adInfo.platform_key == .applovin {
|
||||||
|
self.appLovin_loadRewardedAd(adInfo: adInfo)
|
||||||
} else {
|
} else {
|
||||||
self.adInfo = nil
|
self.adInfo = nil
|
||||||
}
|
}
|
||||||
@ -186,7 +194,7 @@ extension SPRewardedAdManager {
|
|||||||
SPHUD.dismiss()
|
SPHUD.dismiss()
|
||||||
}
|
}
|
||||||
if isShowToast {
|
if isShowToast {
|
||||||
SPToast.show(text: "movia_no_ads_tip".localized)
|
self.showToast()
|
||||||
}
|
}
|
||||||
self.isLoadingRewardedAd = false
|
self.isLoadingRewardedAd = false
|
||||||
self.delegate?.rewardedAdManager?(manager: self, didLoadFail: error)
|
self.delegate?.rewardedAdManager?(manager: self, didLoadFail: error)
|
||||||
@ -214,7 +222,7 @@ extension SPRewardedAdManager {
|
|||||||
SPHUD.dismiss()
|
SPHUD.dismiss()
|
||||||
}
|
}
|
||||||
if isShowToast {
|
if isShowToast {
|
||||||
SPToast.show(text: "movia_no_ads_tip".localized)
|
self.showToast()
|
||||||
}
|
}
|
||||||
self.delegate?.rewardedAdManager?(manager: self, didDisplayFail: error)
|
self.delegate?.rewardedAdManager?(manager: self, didDisplayFail: error)
|
||||||
self.requestStatAd(type: "show_failed", errorMsg: error.localizedDescription)
|
self.requestStatAd(type: "show_failed", errorMsg: error.localizedDescription)
|
||||||
@ -263,7 +271,6 @@ extension SPRewardedAdManager {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//MARK: -------------- 统计 --------------
|
|
||||||
extension SPRewardedAdManager {
|
extension SPRewardedAdManager {
|
||||||
|
|
||||||
private func requestStatAd(type: String, seconds: Int = 0, errorMsg: String?, completer: (() -> Void)? = nil) {
|
private func requestStatAd(type: String, seconds: Int = 0, errorMsg: String?, completer: (() -> Void)? = nil) {
|
||||||
@ -288,4 +295,8 @@ extension SPRewardedAdManager {
|
|||||||
|
|
||||||
self.requestStatAd(type: "Interrupt", seconds: 0, errorMsg: nil)
|
self.requestStatAd(type: "Interrupt", seconds: 0, errorMsg: nil)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func showToast(text: String? = "movia_no_ads_tip".localized) {
|
||||||
|
SPToast.show(text: text)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -11,6 +11,7 @@ import SmartCodable
|
|||||||
|
|
||||||
enum SPAdPlatformKey: String, SmartCaseDefaultable {
|
enum SPAdPlatformKey: String, SmartCaseDefaultable {
|
||||||
case google = "google"
|
case google = "google"
|
||||||
|
case applovin = "applovin"
|
||||||
}
|
}
|
||||||
|
|
||||||
class SPAdDataModel: SPModel, SmartCodable {
|
class SPAdDataModel: SPModel, SmartCodable {
|
||||||
|
@ -24,22 +24,56 @@ class SPAdManager: NSObject {
|
|||||||
|
|
||||||
#if canImport(AppLovinSDK)
|
#if canImport(AppLovinSDK)
|
||||||
//初始化
|
//初始化
|
||||||
// let initConfig = ALSdkInitializationConfiguration(sdkKey: "«SDK-key»") { builder in
|
let initConfig = ALSdkInitializationConfiguration(sdkKey: "XW2aulJv9urKD4MIIFT1xcSCuyTHaDZ9qUbDqygnTLS04GkdX7WMQJviGP5vDRWGsk4OJJIyLGRV3mbLqOWx0W") { builder in
|
||||||
// builder.mediationProvider = ALMediationProviderMAX
|
builder.mediationProvider = ALMediationProviderMAX
|
||||||
// }
|
#if DEBUG
|
||||||
//
|
builder.testDeviceAdvertisingIdentifiers = [JXUUID.idfa()]
|
||||||
// // Initialize the SDK with the configuration
|
#endif
|
||||||
// ALSdk.shared().initialize(with: initConfig) { sdkConfig in
|
}
|
||||||
// // Start loading ads
|
|
||||||
// }
|
// Initialize the SDK with the configuration
|
||||||
|
ALSdk.shared().initialize(with: initConfig) { sdkConfig in
|
||||||
|
// Start loading ads
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// SPRewardedAdManager.manager.preloadRewardedAd()
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//MARK: -------------- 单元ID --------------
|
||||||
|
extension SPAdManager {
|
||||||
|
|
||||||
|
///谷歌激励广告单元ID
|
||||||
|
var admob_rewardedAdUnitID: String {
|
||||||
|
#if DEBUG
|
||||||
|
return "ca-app-pub-3940256099942544/1712485313"
|
||||||
|
#else
|
||||||
|
return ""
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
///开屏广告的单元ID
|
||||||
|
var appOpenAdUnitID: String {
|
||||||
|
#if DEBUG
|
||||||
|
return "ca-app-pub-3940256099942544/5575463023"
|
||||||
|
#else
|
||||||
|
return ""
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
///横幅广告单元ID
|
||||||
|
var bannerAdUnitID: String {
|
||||||
|
#if DEBUG
|
||||||
|
return "ca-app-pub-3940256099942544/2435281174"
|
||||||
|
#else
|
||||||
|
return ""
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -51,23 +51,26 @@ class SPUserInfo: SPModel, SmartCodable, NSSecureCoding {
|
|||||||
|
|
||||||
|
|
||||||
func encode(with coder: NSCoder) {
|
func encode(with coder: NSCoder) {
|
||||||
// coder.encode(id, forKey: "id")
|
coder.encode(id, forKey: "id")
|
||||||
// coder.encode(phone, forKey: "phone")
|
coder.encode(customer_id, forKey: "customer_id")
|
||||||
// coder.encode(userToken, forKey: "userToken")
|
coder.encode(user_level?.rawValue, forKey: "user_level")
|
||||||
// coder.encode(ipAddress, forKey: "ipAddress")
|
coder.encode(is_vip, forKey: "is_vip")
|
||||||
// coder.encode(audioNum, forKey: "audioNum")
|
coder.encode(family_name, forKey: "family_name")
|
||||||
// coder.encode(audioSeconds, forKey: "audioSeconds")
|
coder.encode(giving_name, forKey: "giving_name")
|
||||||
}
|
}
|
||||||
|
|
||||||
required init?(coder: NSCoder) {
|
required init?(coder: NSCoder) {
|
||||||
super.init()
|
super.init()
|
||||||
|
|
||||||
// id = coder.decodeObject(of: NSString.self, forKey: "id") as? String
|
id = coder.decodeObject(of: NSString.self, forKey: "id") as? String
|
||||||
// phone = coder.decodeObject(of: NSString.self, forKey: "phone") as? String
|
customer_id = coder.decodeObject(of: NSString.self, forKey: "customer_id") as? String
|
||||||
// userToken = coder.decodeObject(of: NSString.self, forKey: "userToken") as? String
|
if let user_level = coder.decodeObject(of: NSString.self, forKey: "user_level") as? String {
|
||||||
// ipAddress = coder.decodeObject(of: NSString.self, forKey: "ipAddress") as? String
|
self.user_level = UserLevel(rawValue: user_level)
|
||||||
// audioNum = coder.decodeObject(of: NSNumber.self, forKey: "audioNum")?.intValue
|
}
|
||||||
// audioSeconds = coder.decodeObject(of: NSNumber.self, forKey: "audioSeconds")?.intValue
|
is_vip = coder.decodeBool(forKey: "is_vip")
|
||||||
|
family_name = coder.decodeObject(of: NSString.self, forKey: "family_name") as? String
|
||||||
|
giving_name = coder.decodeObject(of: NSString.self, forKey: "giving_name") as? String
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user