添加了一堆ad
This commit is contained in:
parent
f3682705e2
commit
39699cc3e8
Binary file not shown.
@ -0,0 +1,20 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<Bucket
|
||||||
|
uuid = "FD3B3F5E-5CAB-4DC2-B977-166EA409F38B"
|
||||||
|
type = "0"
|
||||||
|
version = "2.0">
|
||||||
|
<Breakpoints>
|
||||||
|
<BreakpointProxy
|
||||||
|
BreakpointExtensionID = "Xcode.Breakpoint.ExceptionBreakpoint">
|
||||||
|
<BreakpointContent
|
||||||
|
uuid = "996C7F0A-206E-4606-8909-BB82BA724ACD"
|
||||||
|
shouldBeEnabled = "Yes"
|
||||||
|
ignoreCount = "0"
|
||||||
|
continueAfterRunningActions = "No"
|
||||||
|
breakpointStackSelectionBehavior = "1"
|
||||||
|
scope = "1"
|
||||||
|
stopOnStyle = "0">
|
||||||
|
</BreakpointContent>
|
||||||
|
</BreakpointProxy>
|
||||||
|
</Breakpoints>
|
||||||
|
</Bucket>
|
||||||
@ -14,6 +14,8 @@
|
|||||||
#import <Firebase/Firebase.h>
|
#import <Firebase/Firebase.h>
|
||||||
#import <FirebaseCore/FirebaseCore.h>
|
#import <FirebaseCore/FirebaseCore.h>
|
||||||
#import <FirebaseRemoteConfig/FirebaseRemoteConfig.h>
|
#import <FirebaseRemoteConfig/FirebaseRemoteConfig.h>
|
||||||
|
|
||||||
|
#import "LuxADManager.h"
|
||||||
@interface AppDelegate ()
|
@interface AppDelegate ()
|
||||||
@property (nonatomic,strong) NSTimer *attTimer;
|
@property (nonatomic,strong) NSTimer *attTimer;
|
||||||
@end
|
@end
|
||||||
@ -74,34 +76,93 @@ shopworn_4 *= aqueduct_d;
|
|||||||
|
|
||||||
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
|
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
|
||||||
|
|
||||||
NSDateFormatter *unfasten_4 = [NSDateFormatter new];
|
NSDateFormatter *unfasten_4 = [NSDateFormatter new];
|
||||||
[unfasten_4 setDateFormat:@"yyyy-MM-dd HH:mm"];
|
[unfasten_4 setDateFormat:@"yyyy-MM-dd HH:mm"];
|
||||||
NSString *noble_W = [unfasten_4 stringFromDate:[NSDate date]];
|
NSString *noble_W = [unfasten_4 stringFromDate:[NSDate date]];
|
||||||
[[NSUserDefaults standardUserDefaults] setObject:noble_W forKey:@"shack_k"];
|
[[NSUserDefaults standardUserDefaults] setObject:noble_W forKey:@"shack_k"];
|
||||||
|
|
||||||
[FIRApp configure];
|
|
||||||
|
|
||||||
|
|
||||||
// [AWM_NetManager requestRemoteIp];
|
|
||||||
//
|
|
||||||
// [[AWM_WallPapaerADManager shareInstance] configureAD];
|
|
||||||
//
|
|
||||||
|
|
||||||
[self checkATT];
|
|
||||||
|
|
||||||
|
|
||||||
self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];
|
self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];
|
||||||
self.window.backgroundColor = [UIColor whiteColor];
|
self.window.backgroundColor = [UIColor whiteColor];
|
||||||
// [AWM_NetManager uploadAD_Start];
|
UIViewController *vc = [UIViewController new];
|
||||||
|
self.window.rootViewController = vc;
|
||||||
[self.window makeKeyAndVisible];
|
[self.window makeKeyAndVisible];
|
||||||
|
|
||||||
// [[AWM_WallPapaerADManager shareInstance] showFirstOpenAD:^(NSInteger actionType) {
|
[FIRApp configure];
|
||||||
[self configureRootVC];
|
[self checkATT];
|
||||||
// } window:self.window];
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
NSLog(@">>>>>>>>>HDWall.......");
|
||||||
|
[self configureADByFirebase];
|
||||||
return YES;
|
return YES;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void)configureADByFirebase {
|
||||||
|
if ([[LuxADManager shareInstance] isADSSMode] ) {
|
||||||
|
[self configureAD];
|
||||||
|
}
|
||||||
|
else {//读取firebase数据
|
||||||
|
FIRRemoteConfig *rc = [FIRRemoteConfig remoteConfig];
|
||||||
|
FIRRemoteConfigSettings *rcs = [FIRRemoteConfigSettings new];
|
||||||
|
rcs.minimumFetchInterval = 0;
|
||||||
|
rc.configSettings = rcs;
|
||||||
|
[rc fetchAndActivateWithCompletionHandler:^(FIRRemoteConfigFetchAndActivateStatus status, NSError * _Nullable error) {
|
||||||
|
dispatch_async(dispatch_get_main_queue(), ^{
|
||||||
|
if (status == FIRRemoteConfigFetchAndActivateStatusSuccessFetchedFromRemote) {
|
||||||
|
NSString *localVer = [[[NSBundle mainBundle] infoDictionary] valueForKey:@"CFBundleShortVersionString"];
|
||||||
|
NSDictionary *value = [[rc configValueForKey:@"isopen"] JSONValue];
|
||||||
|
BOOL isadopen = [value[@"isadopen"] boolValue];
|
||||||
|
NSString *version = value[@"version"];
|
||||||
|
if (!isadopen || ( version && [version isEqualToString:localVer])) {//不展示ad
|
||||||
|
[self configureRootVC];
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
[self configureAD];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(3 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
|
||||||
|
[self configureADByFirebase];
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
}];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void)configureAD {
|
||||||
|
|
||||||
|
|
||||||
|
[[LuxADManager shareInstance] addADWithInterstitialId:@"748bee67bbad21b9" actionBlock:^(UIViewController * _Nonnull vc) {
|
||||||
|
|
||||||
|
}];//第一个一定为开屏插页
|
||||||
|
|
||||||
|
[[LuxADManager shareInstance] addADWithInterstitialId:@"e5837c56c18ee712" actionBlock:^(UIViewController * _Nonnull vc) {
|
||||||
|
LuxADSuperVC *subvc = [LuxADSuperVC new];
|
||||||
|
subvc.adIndex = 1;
|
||||||
|
[vc.navigationController pushViewController:subvc animated:NO];
|
||||||
|
}];
|
||||||
|
|
||||||
|
[[LuxADManager shareInstance] addADWithInterstitialId:@"edf0554479388c05" actionBlock:^(UIViewController * _Nonnull vc) {
|
||||||
|
LuxADSuperVC *subvc = [LuxADSuperVC new];
|
||||||
|
subvc.adIndex = 2;
|
||||||
|
[vc.navigationController pushViewController:subvc animated:NO];
|
||||||
|
}];
|
||||||
|
|
||||||
|
[[LuxADManager shareInstance] addADWithInterstitialId:@"5a3cff8307e36497" actionBlock:^(UIViewController * _Nonnull vc) {
|
||||||
|
LuxADSuperVC *subvc = [LuxADSuperVC new];
|
||||||
|
subvc.adIndex = 3;
|
||||||
|
[vc.navigationController pushViewController:subvc animated:NO];
|
||||||
|
}];
|
||||||
|
|
||||||
|
[[LuxADManager shareInstance] configureADWithAppLovinSDKKey:@"EG89nBMcGXrN1_U_svJiPhCMTsVu7TEkWvOGtVJUbh4x1Ds9cKJy8pzKr6LXKL7zQXbN3PLy4Q6MRl3oT3lgbX"];
|
||||||
|
[[LuxADManager shareInstance] showFirstOpenAD:^(NSInteger actionType) {
|
||||||
|
[self configureRootVC];
|
||||||
|
} window:self.window bgImgName:@"ssa" bgColor:nil];
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
- (void)configureRootVC {
|
- (void)configureRootVC {
|
||||||
@ -145,7 +206,7 @@ transmit_M *= alkali_F;
|
|||||||
tb.viewControllers = @[wpHomeNV,wpHotNV,wpEditNV,wpMyNV];
|
tb.viewControllers = @[wpHomeNV,wpHotNV,wpEditNV,wpMyNV];
|
||||||
tb.selectedIndex = 0;
|
tb.selectedIndex = 0;
|
||||||
self.window.rootViewController = tb;
|
self.window.rootViewController = tb;
|
||||||
|
[self.window makeKeyAndVisible];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -157,7 +218,7 @@ NSString *innuendo_6 = [milkman_k stringFromDate:[NSDate date]];
|
|||||||
[[NSUserDefaults standardUserDefaults] setObject:innuendo_6 forKey:@"moderation_T"];
|
[[NSUserDefaults standardUserDefaults] setObject:innuendo_6 forKey:@"moderation_T"];
|
||||||
|
|
||||||
|
|
||||||
[[AWM_WallPapaerADManager shareInstance] showOpenAD];
|
[[LuxADManager shareInstance] showOpenAD];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
67
HDwallpaper/LuxADManager/LuxADManager.h
Normal file
67
HDwallpaper/LuxADManager/LuxADManager.h
Normal file
@ -0,0 +1,67 @@
|
|||||||
|
//
|
||||||
|
// WPLuxADManager.h
|
||||||
|
// TallPaper
|
||||||
|
//
|
||||||
|
// Created by aaa on 2024/7/25.
|
||||||
|
//
|
||||||
|
|
||||||
|
#import <Foundation/Foundation.h>
|
||||||
|
#import <AppLovinSDK/AppLovinSDK.h>
|
||||||
|
#import "LuxADSuperVC.h"
|
||||||
|
NS_ASSUME_NONNULL_BEGIN
|
||||||
|
|
||||||
|
typedef void(^LuxADManagerCallback)(NSInteger actionType);//actionType,1表示关闭广告
|
||||||
|
typedef void (^LuxADManagerActionBlock)(UIViewController *vc);//用于补量模式的跳转vc 的action
|
||||||
|
|
||||||
|
#pragma mark ------LuxADManagerItem
|
||||||
|
@interface LuxADManagerInterstitialItem : NSObject
|
||||||
|
@property (nonatomic,strong) MAInterstitialAd *adItem;
|
||||||
|
@property (nonatomic) NSInteger retryAttemptCount;
|
||||||
|
@property (nonatomic,strong) NSDate *lastShowADDate;//ad间隔时长
|
||||||
|
@property (nonatomic,strong) NSString *adId;
|
||||||
|
|
||||||
|
@property (nonatomic,weak) LuxADManagerActionBlock actionBlock;//在补量模式下,跳转至目的页面
|
||||||
|
|
||||||
|
+ (LuxADManagerInterstitialItem *)initWithAdId:(NSString *)adId adDelegate:(id<MAAdDelegate>)adDelegate actionBlock:(LuxADManagerActionBlock)actionBlock;
|
||||||
|
@end
|
||||||
|
|
||||||
|
#pragma mark ------LuxADManager
|
||||||
|
|
||||||
|
|
||||||
|
@interface LuxADManager : NSObject
|
||||||
|
+ (instancetype)shareInstance;
|
||||||
|
|
||||||
|
//第一步: 通过指定的ids数组初始化所有 插屏 ad ,注意,仅是插屏
|
||||||
|
- (void)addADWithInterstitialId:(NSString*)id actionBlock:(LuxADManagerActionBlock)block;
|
||||||
|
|
||||||
|
//第二步: 初始化广告
|
||||||
|
- (void)configureADWithAppLovinSDKKey:(NSString *)appLovinSDKKey;
|
||||||
|
|
||||||
|
//用于在启动app时,即第一次在appDidFinishLanuch调用开屏广告
|
||||||
|
- (void)showFirstOpenAD:(LuxADManagerCallback)callback window:(UIWindow *)window bgImgName:(NSString *)bgImgName bgColor:(UIColor *)bgColor;
|
||||||
|
|
||||||
|
//用于在app进行前后台切换时调用
|
||||||
|
- (void)showOpenAD;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//随机展示_adItemsArr中的插屏ad
|
||||||
|
- (void)showADByRandomModeWithCallback:(LuxADManagerCallback)callback;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#pragma mark --------主要用于AD补量
|
||||||
|
//返回所有的插屏ad(非开屏广告openad)
|
||||||
|
- (NSArray <LuxADManagerInterstitialItem *> *)allInterstitialAds;
|
||||||
|
|
||||||
|
//根据指定的在_adItemsArr中的index展示插屏ad
|
||||||
|
- (void)showADWithIndex:(NSInteger)index callback:(LuxADManagerCallback)callback ;
|
||||||
|
|
||||||
|
//判断当前是否为广告不量模式
|
||||||
|
- (BOOL)isADSSMode;
|
||||||
|
|
||||||
|
@end
|
||||||
|
|
||||||
|
NS_ASSUME_NONNULL_END
|
||||||
427
HDwallpaper/LuxADManager/LuxADManager.m
Normal file
427
HDwallpaper/LuxADManager/LuxADManager.m
Normal file
@ -0,0 +1,427 @@
|
|||||||
|
//
|
||||||
|
// LuxADManager.m
|
||||||
|
// TallPaper
|
||||||
|
//
|
||||||
|
// Created by aaa on 2024/7/25.
|
||||||
|
//
|
||||||
|
|
||||||
|
#import "LuxADManager.h"
|
||||||
|
#import "LuxNetManager.h"
|
||||||
|
#import "LuxADSSModeVC.h"
|
||||||
|
#import "AppDelegate.h"
|
||||||
|
#define kOpenAdCTimeLength 15.0//最多等待开屏广告加载时常
|
||||||
|
#define kOpenADPerSec 0.05
|
||||||
|
|
||||||
|
#define kADShowTimePer 30.0 //每个广告的间隔时长
|
||||||
|
|
||||||
|
#pragma mark ------LuxADManagerInterstitialItem
|
||||||
|
@implementation LuxADManagerInterstitialItem
|
||||||
|
+ (LuxADManagerInterstitialItem *)initWithAdId:(NSString *)adId adDelegate:(id<MAAdDelegate>)adDelegate actionBlock:(LuxADManagerActionBlock)actionBlock{
|
||||||
|
LuxADManagerInterstitialItem *item = [[LuxADManagerInterstitialItem alloc] initWithAdId:adId adDelegate:adDelegate actionBlock:actionBlock];
|
||||||
|
return item;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (LuxADManagerInterstitialItem *)initWithAdId:(NSString *)adId adDelegate:(id<MAAdDelegate>)adDelegate actionBlock:(LuxADManagerActionBlock)actionBlock{
|
||||||
|
self = [super init];
|
||||||
|
if (self) {
|
||||||
|
_retryAttemptCount = 0;
|
||||||
|
_adItem = [[MAInterstitialAd alloc] initWithAdUnitIdentifier: adId];
|
||||||
|
_adItem.delegate = adDelegate;
|
||||||
|
self.actionBlock = actionBlock;
|
||||||
|
}
|
||||||
|
return self;
|
||||||
|
}
|
||||||
|
|
||||||
|
@end
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#pragma mark ------LuxADManager
|
||||||
|
@interface LuxADManager ()<MAAdDelegate>
|
||||||
|
|
||||||
|
@property (nonatomic,strong) ALSdkInitializationConfiguration *adConfig;
|
||||||
|
@property (nonatomic,strong) NSMutableArray <LuxADManagerInterstitialItem *>*adItemsArr;
|
||||||
|
@property (nonatomic,copy) LuxADManagerCallback callback;
|
||||||
|
|
||||||
|
@property (nonatomic,strong) NSTimer *openADTimer; //开屏加载的倒计时timer
|
||||||
|
@property (nonatomic,strong) UIProgressView *processView; //开屏加载的进度条
|
||||||
|
@end
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@implementation LuxADManager
|
||||||
|
+ (instancetype)shareInstance {
|
||||||
|
static LuxADManager * instance = nil;
|
||||||
|
static dispatch_once_t onceToken;
|
||||||
|
dispatch_once(&onceToken, ^{
|
||||||
|
instance = [LuxADManager new];
|
||||||
|
});
|
||||||
|
return instance;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (id)init {
|
||||||
|
self = [super init];
|
||||||
|
if (self) {
|
||||||
|
_adItemsArr = [NSMutableArray new];
|
||||||
|
}
|
||||||
|
return self;
|
||||||
|
}
|
||||||
|
|
||||||
|
//初始化广告
|
||||||
|
- (void)configureADWithAppLovinSDKKey:(NSString *)appLovinSDKKey{
|
||||||
|
//直接在此处把远程ip获取到
|
||||||
|
[LuxNetManager requestRemoteIp];
|
||||||
|
|
||||||
|
//配置ad
|
||||||
|
_adConfig = [ALSdkInitializationConfiguration configurationWithSdkKey: appLovinSDKKey builderBlock:^(ALSdkInitializationConfigurationBuilder *builder) {
|
||||||
|
builder.mediationProvider = ALMediationProviderMAX;
|
||||||
|
// NSString *currentIDFV = UIDevice.currentDevice.identifierForVendor.UUIDString;
|
||||||
|
// if ( currentIDFV.length > 0 )
|
||||||
|
// {
|
||||||
|
// builder.testDeviceAdvertisingIdentifiers = @[currentIDFV];
|
||||||
|
// }
|
||||||
|
}];
|
||||||
|
|
||||||
|
__weak typeof(self)weakSelf = self;
|
||||||
|
[[ALSdk shared] initializeWithConfiguration: _adConfig completionHandler:^(ALSdkConfiguration *sdkConfig) {
|
||||||
|
if ([weakSelf isADSSMode]) {//如果为补量模式,直接加载剩下的插页广告
|
||||||
|
[[LuxADManager shareInstance] initOtherInitIntersitialAD];
|
||||||
|
[[LuxADManager shareInstance]showSSModeControlVC];
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
[[LuxADManager shareInstance] initOpenAD];
|
||||||
|
//延时初始化其他ad,避免同时初始化导致网络带宽拥挤
|
||||||
|
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(3 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
|
||||||
|
[[LuxADManager shareInstance] initOtherInitIntersitialAD];
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}];
|
||||||
|
|
||||||
|
[LuxNetManager uploadAD_Start];
|
||||||
|
}
|
||||||
|
|
||||||
|
//顶层window显示SS模式下的控制 VC
|
||||||
|
- (void)showSSModeControlVC {
|
||||||
|
UIWindow *keyWindow = [UIApplication sharedApplication].keyWindow;
|
||||||
|
LuxADSSModeVC *vc = [LuxADSSModeVC new];
|
||||||
|
UINavigationController *nav = [[UINavigationController alloc] initWithRootViewController:vc];
|
||||||
|
keyWindow.rootViewController = nav;
|
||||||
|
}
|
||||||
|
|
||||||
|
//通过指定的ids数组初始化所有ad
|
||||||
|
- (void)addADWithInterstitialId:(NSString*)adId actionBlock:(LuxADManagerActionBlock)block{
|
||||||
|
LuxADManagerInterstitialItem *item = [LuxADManagerInterstitialItem initWithAdId:adId adDelegate:self actionBlock:block];
|
||||||
|
[_adItemsArr addObject:item];
|
||||||
|
}
|
||||||
|
|
||||||
|
//初始化开屏广告,注意,我们默认把广告数组中的第一个添加的插页ad当作开屏广告
|
||||||
|
- (void)initOpenAD{
|
||||||
|
[[self openAd].adItem loadAd];
|
||||||
|
}
|
||||||
|
|
||||||
|
- (LuxADManagerInterstitialItem *)openAd {
|
||||||
|
return _adItemsArr.firstObject;
|
||||||
|
}
|
||||||
|
|
||||||
|
//初始化余下的插屏广告
|
||||||
|
- (void)initOtherInitIntersitialAD {
|
||||||
|
for (int i = 1; i < _adItemsArr.count; i ++) {
|
||||||
|
[_adItemsArr[i].adItem loadAd];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//返回所有的插屏ad(非开屏广告openad)
|
||||||
|
- (NSArray <LuxADManagerInterstitialItem *> *)allInterstitialAds {
|
||||||
|
if (_adItemsArr.count) {//第一个默认为开屏广告
|
||||||
|
return [_adItemsArr subarrayWithRange:NSMakeRange(1, _adItemsArr.count - 1)];
|
||||||
|
}
|
||||||
|
return nil;
|
||||||
|
}
|
||||||
|
|
||||||
|
#pragma mark -----主要是 配置开屏广告 的地方
|
||||||
|
//用于在启动app时,即第一次在appDidFinishLanuch调用开屏广告
|
||||||
|
- (void)showFirstOpenAD:(LuxADManagerCallback)callback window:(UIWindow *)window bgImgName:(NSString *)bgImgName bgColor:(UIColor *)bgColor{
|
||||||
|
if ([self isADSSMode]) {//补量模式,直接返回,不加载开屏
|
||||||
|
callback(1);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
self.callback = callback;
|
||||||
|
if ( ![[ALSdk shared] isInitialized] ){
|
||||||
|
_openADTimer = [NSTimer scheduledTimerWithTimeInterval:kOpenADPerSec target:self selector:@selector(checkOpenADReadyState) userInfo:nil repeats:YES];
|
||||||
|
[self confiugreLanuchBgView:window bgImgName:bgImgName bgColor:bgColor];
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ( [[self openAd].adItem isReady] ){
|
||||||
|
|
||||||
|
[[self openAd].adItem showAd];
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
_openADTimer = [NSTimer scheduledTimerWithTimeInterval:kOpenADPerSec target:self selector:@selector(checkOpenADReadyState) userInfo:nil repeats:YES];
|
||||||
|
[self confiugreLanuchBgView:window bgImgName:bgImgName bgColor:bgColor];
|
||||||
|
[[self openAd].adItem loadAd];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//用于在app进行前后台切换时调用
|
||||||
|
- (void)showOpenAD {
|
||||||
|
if ([self isADSSMode]) {//补量模式,直接返回,不加载开屏
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(![self canShowAD:[self openAd].lastShowADDate ]) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ( ![[ALSdk shared] isInitialized] ){
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ( [[self openAd].adItem isReady] ){
|
||||||
|
[[self openAd].adItem showAd];
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
[[self openAd].adItem loadAd];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//检查openad的状态,如果可用则展示,并停止timer倒计时. 如果不可用且超时,则停止timer并回调;如果不可用并未超时,则更新进度条
|
||||||
|
- (void)checkOpenADReadyState{
|
||||||
|
static CGFloat totalTimeC = 0.0;
|
||||||
|
totalTimeC += kOpenADPerSec;
|
||||||
|
|
||||||
|
if ( [[self openAd].adItem isReady] ){
|
||||||
|
[_openADTimer invalidate];
|
||||||
|
_openADTimer = nil;
|
||||||
|
[[self openAd].adItem showAd];
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
if (totalTimeC > kOpenAdCTimeLength) {//超时
|
||||||
|
if(self.callback) {
|
||||||
|
self.callback(1);
|
||||||
|
}
|
||||||
|
[_openADTimer invalidate];
|
||||||
|
_openADTimer = nil;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
CGFloat v = totalTimeC / kOpenAdCTimeLength;
|
||||||
|
_processView.progress = v;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//开屏广告,更新进度条的视图
|
||||||
|
- ( void)confiugreLanuchBgView:(UIWindow *)window bgImgName:(NSString *)bgImgName bgColor:(UIColor *)bgColor{
|
||||||
|
UIViewController *vc = [UIViewController new];
|
||||||
|
window.rootViewController = vc;
|
||||||
|
|
||||||
|
UIImageView *imgView = [UIImageView new];
|
||||||
|
imgView.frame = CGRectMake((window.frame.size.width - 80) * 0.5, (window.frame.size.height - 80) * 0.5,80,80);
|
||||||
|
imgView.layer.masksToBounds = YES;
|
||||||
|
imgView.layer.cornerRadius = 40;
|
||||||
|
[window addSubview:imgView];
|
||||||
|
imgView.image = [UIImage imageNamed:bgImgName];
|
||||||
|
imgView.contentMode = UIViewContentModeScaleAspectFit;
|
||||||
|
if (bgColor) {
|
||||||
|
imgView.backgroundColor = bgColor;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
imgView.backgroundColor = [UIColor colorWithRed:197.0/255.0 green:197.0/255.0 blue:197.0/255.0 alpha:1];
|
||||||
|
}
|
||||||
|
|
||||||
|
_processView = [UIProgressView new];
|
||||||
|
_processView.frame = CGRectMake(80-1,window.frame.size.height - 60-1,window.frame.size.width - 160-1,20-1);
|
||||||
|
_processView.tintColor = [UIColor systemPinkColor];
|
||||||
|
[vc.view addSubview:_processView];
|
||||||
|
|
||||||
|
[vc.view addSubview:imgView];
|
||||||
|
vc.view.backgroundColor = imgView.backgroundColor;
|
||||||
|
}
|
||||||
|
|
||||||
|
#pragma mark -----展示其他插页广告
|
||||||
|
//根据指定的在_adItemsArr中的index展示ad
|
||||||
|
- (void)showADWithIndex:(NSInteger)index callback:(LuxADManagerCallback)callback {
|
||||||
|
self.callback = callback;
|
||||||
|
if (index < _adItemsArr.count) {
|
||||||
|
LuxADManagerInterstitialItem *item = [_adItemsArr objectAtIndex:index];
|
||||||
|
if (![self canShowAD:item.lastShowADDate] || ![item.adItem isReady]) { //如果未满足30秒的展示时间或没有准备好展示,则返回
|
||||||
|
self.callback(1);
|
||||||
|
}
|
||||||
|
else { //展示
|
||||||
|
[item.adItem showAd];
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
NSLog(@"超出所初始化的广告数量边界....");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//随机展示_adItemsArr中的插屏ad
|
||||||
|
- (void)showADByRandomModeWithCallback:(LuxADManagerCallback)callback {
|
||||||
|
if (_adItemsArr.count) {
|
||||||
|
int rv = arc4random() % _adItemsArr.count;
|
||||||
|
LuxADManagerInterstitialItem *item = _adItemsArr[rv];
|
||||||
|
|
||||||
|
if (![self canShowAD:item.lastShowADDate] || ![item.adItem isReady]) { //如果未满足30秒的展示时间或没有准备好展示,则返回
|
||||||
|
self.callback(1);
|
||||||
|
}
|
||||||
|
else { //展示
|
||||||
|
[item.adItem showAd];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
callback(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#pragma mark ----所有广告的通用处理
|
||||||
|
//能否展示广告
|
||||||
|
- (BOOL)canShowAD:(NSDate *)adDate {
|
||||||
|
if(!adDate) {
|
||||||
|
return YES;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
NSDate *ndate = [NSDate date];
|
||||||
|
if ([ndate timeIntervalSinceDate:adDate] >= kADShowTimePer) {
|
||||||
|
return YES;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
return NO;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//在收到ad 代理回调时,如果需要重新loadAD则调用此方法
|
||||||
|
- (void)loadAD:(MAAd *)ad{
|
||||||
|
LuxADManagerInterstitialItem *item = [self getLuxADInterstitialItemWith:ad.adUnitIdentifier];
|
||||||
|
if (item) {
|
||||||
|
[item.adItem loadAd];
|
||||||
|
NSLog(@"已经重新加载loadAD:%@",ad.adUnitIdentifier);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//根据指定maad返回LuxADManagerInterstitialItem对象
|
||||||
|
- (LuxADManagerInterstitialItem *)getLuxADInterstitialItemWith:(NSString *)adUnitIdentifier {
|
||||||
|
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"self.adItem.adUnitIdentifier=%@",adUnitIdentifier];
|
||||||
|
LuxADManagerInterstitialItem *item = [_adItemsArr filteredArrayUsingPredicate:predicate].firstObject;
|
||||||
|
return item;
|
||||||
|
}
|
||||||
|
|
||||||
|
//重置所有ad中的重试次数
|
||||||
|
- (void)resetRetryAttemptCount:(MAAd *)ad {
|
||||||
|
LuxADManagerInterstitialItem *item = [self getLuxADInterstitialItemWith:ad.adUnitIdentifier];
|
||||||
|
item.retryAttemptCount = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
- (void)storeADInfoAnUploadWith:(MAAd *)ad {
|
||||||
|
[[NSUserDefaults standardUserDefaults] setObject:ALSdk.shared.configuration.countryCode forKey:@"countryCode"];
|
||||||
|
NSTimeInterval interval = ad.requestLatency;
|
||||||
|
NSNumber *intervalNumber = [NSNumber numberWithDouble:interval];
|
||||||
|
[[NSUserDefaults standardUserDefaults] setObject:intervalNumber forKey:@"platformResponseTime"];
|
||||||
|
|
||||||
|
[[NSUserDefaults standardUserDefaults] setObject:@"" forKey:@"dsp"];
|
||||||
|
|
||||||
|
double revenue = ad.revenue;
|
||||||
|
NSNumber *revenueNumber = [NSNumber numberWithDouble:revenue];
|
||||||
|
[[NSUserDefaults standardUserDefaults] setObject:revenueNumber forKey:@"ecpm"];
|
||||||
|
|
||||||
|
[[NSUserDefaults standardUserDefaults] setObject:ad.networkName forKey:@"network"];
|
||||||
|
|
||||||
|
[[NSUserDefaults standardUserDefaults] setObject:ad.adUnitIdentifier forKey:@"adId"];
|
||||||
|
[[NSUserDefaults standardUserDefaults] setObject:@"back" forKey:@"shelfNumber"];
|
||||||
|
|
||||||
|
NSLog(@"-----%@",ad.adUnitIdentifier);
|
||||||
|
NSLog(@"self.openAD.adUnitIdentifier-----%@",[self openAd].adItem.adUnitIdentifier);
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//判断当前是否为广告不量模式
|
||||||
|
- (BOOL)isADSSMode{
|
||||||
|
return NO;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#pragma mark - MAAdDelegate 广告的代理
|
||||||
|
|
||||||
|
- (void)didLoadAd:(MAAd *)ad {
|
||||||
|
NSLog(@"ad didLoadAD.....");
|
||||||
|
[self resetRetryAttemptCount:ad];
|
||||||
|
[self storeADInfoAnUploadWith:ad];
|
||||||
|
[LuxNetManager uploadAD_Load];
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void)didFailToLoadAdForAdUnitIdentifier:(NSString *)adUnitIdentifier withError:(MAError *)error {
|
||||||
|
NSLog(@"加载广告失败.... :%@ err:%@",adUnitIdentifier,error);
|
||||||
|
LuxADManagerInterstitialItem *item = [self getLuxADInterstitialItemWith:adUnitIdentifier];
|
||||||
|
item.retryAttemptCount++;
|
||||||
|
NSInteger delaySec = pow(2, MIN(6, item.retryAttemptCount));
|
||||||
|
|
||||||
|
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, delaySec * NSEC_PER_SEC), dispatch_get_main_queue(), ^{
|
||||||
|
[item.adItem loadAd];
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- (void)didDisplayAd:(MAAd *)ad {
|
||||||
|
NSLog(@"成功展示了ad....");
|
||||||
|
[self storeADInfoAnUploadWith:ad];
|
||||||
|
|
||||||
|
LuxADManagerInterstitialItem *item = [self getLuxADInterstitialItemWith:ad.adUnitIdentifier];
|
||||||
|
if (item == [self openAd]) {//判定为开屏广告
|
||||||
|
[LuxNetManager uploadAD_Start];
|
||||||
|
}
|
||||||
|
else {//其他插页广告
|
||||||
|
[LuxNetManager uploadAD_Show];
|
||||||
|
}
|
||||||
|
item.lastShowADDate = [NSDate date];
|
||||||
|
//此处目前没有处理back类型的广告的时间被忽略计时的情况
|
||||||
|
//.....
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void)didClickAd:(MAAd *)ad {
|
||||||
|
|
||||||
|
NSLog(@"点击了广告.....");
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void)didHideAd:(MAAd *)ad{
|
||||||
|
NSLog(@"隐藏了ad....");
|
||||||
|
if (self.callback) {
|
||||||
|
self.callback(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
if (![self isADSSMode]) {//补量模式时,隐藏ad之后,不再主动loadAD,等通知是否隐藏
|
||||||
|
[self loadAD:ad];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void)didFailToDisplayAd:(MAAd *)ad withError:(MAError *)error{
|
||||||
|
NSLog(@"展示广告失败....");
|
||||||
|
[self loadAD:ad];
|
||||||
|
}
|
||||||
|
@end
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
16
HDwallpaper/LuxADManager/LuxADSSModeVC.h
Normal file
16
HDwallpaper/LuxADManager/LuxADSSModeVC.h
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
//
|
||||||
|
// LuxADSSModeVC.h
|
||||||
|
// TallPaper
|
||||||
|
//
|
||||||
|
// Created by aaa on 2024/7/26.
|
||||||
|
//
|
||||||
|
|
||||||
|
#import <UIKit/UIKit.h>
|
||||||
|
|
||||||
|
NS_ASSUME_NONNULL_BEGIN
|
||||||
|
|
||||||
|
@interface LuxADSSModeVC : UIViewController
|
||||||
|
|
||||||
|
@end
|
||||||
|
|
||||||
|
NS_ASSUME_NONNULL_END
|
||||||
55
HDwallpaper/LuxADManager/LuxADSSModeVC.m
Normal file
55
HDwallpaper/LuxADManager/LuxADSSModeVC.m
Normal file
@ -0,0 +1,55 @@
|
|||||||
|
//
|
||||||
|
// LuxADSSModeVC.m
|
||||||
|
// TallPaper
|
||||||
|
//
|
||||||
|
// Created by aaa on 2024/7/26.
|
||||||
|
//
|
||||||
|
|
||||||
|
#import "LuxADSSModeVC.h"
|
||||||
|
#import "LuxNetManager.h"
|
||||||
|
#import "LuxADManager.h"
|
||||||
|
|
||||||
|
@interface LuxADSSButton : UIButton
|
||||||
|
@property (nonatomic,weak) LuxADManagerInterstitialItem *item;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@implementation LuxADSSButton
|
||||||
|
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface LuxADSSModeVC ()
|
||||||
|
|
||||||
|
@end
|
||||||
|
|
||||||
|
@implementation LuxADSSModeVC
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- (void)viewDidLoad {
|
||||||
|
[super viewDidLoad];
|
||||||
|
__block CGFloat currY = 80.0;
|
||||||
|
CGFloat cellHeight = 50;
|
||||||
|
CGFloat cellPadding = 20;
|
||||||
|
CGFloat screenW = [UIScreen mainScreen].bounds.size.width;
|
||||||
|
CGFloat cellWidth = (screenW - cellPadding*2);
|
||||||
|
|
||||||
|
[[[LuxADManager shareInstance] allInterstitialAds] enumerateObjectsUsingBlock:^(LuxADManagerInterstitialItem * _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {
|
||||||
|
CGRect rect = CGRectMake(cellPadding, currY, cellWidth, cellHeight);
|
||||||
|
LuxADSSButton *button = [LuxADSSButton new];
|
||||||
|
button.item = obj;
|
||||||
|
button.frame = rect;
|
||||||
|
[button addTarget:self action:@selector(clickAction:) forControlEvents:UIControlEventTouchUpInside];
|
||||||
|
[button setTitle:[NSString stringWithFormat:@"ID: %@",obj.adItem.adUnitIdentifier] forState:UIControlStateNormal];
|
||||||
|
[button setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
|
||||||
|
button.titleLabel.font = [UIFont systemFontOfSize:18];
|
||||||
|
button.backgroundColor = [UIColor orangeColor];
|
||||||
|
|
||||||
|
[self.view addSubview:button];
|
||||||
|
currY += cellPadding + cellHeight;
|
||||||
|
}];
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void)clickAction:(LuxADSSButton *)sender {
|
||||||
|
sender.item.actionBlock(self);
|
||||||
|
}
|
||||||
|
@end
|
||||||
17
HDwallpaper/LuxADManager/LuxADSuperVC.h
Normal file
17
HDwallpaper/LuxADManager/LuxADSuperVC.h
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
//
|
||||||
|
// LuxADSuperVC.h
|
||||||
|
// TallPaper
|
||||||
|
//
|
||||||
|
// Created by aaa on 2024/7/26.
|
||||||
|
//
|
||||||
|
|
||||||
|
#import <UIKit/UIKit.h>
|
||||||
|
|
||||||
|
NS_ASSUME_NONNULL_BEGIN
|
||||||
|
|
||||||
|
@interface LuxADSuperVC : UIViewController
|
||||||
|
@property (nonatomic) NSInteger adIndex;
|
||||||
|
|
||||||
|
@end
|
||||||
|
|
||||||
|
NS_ASSUME_NONNULL_END
|
||||||
35
HDwallpaper/LuxADManager/LuxADSuperVC.m
Normal file
35
HDwallpaper/LuxADManager/LuxADSuperVC.m
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
//
|
||||||
|
// LuxADSuperVC.m
|
||||||
|
// TallPaper
|
||||||
|
//
|
||||||
|
// Created by aaa on 2024/7/26.
|
||||||
|
//
|
||||||
|
|
||||||
|
#import "LuxADSuperVC.h"
|
||||||
|
#import "LuxADManager.h"
|
||||||
|
@interface LuxADSuperVC ()
|
||||||
|
|
||||||
|
@end
|
||||||
|
|
||||||
|
@implementation LuxADSuperVC
|
||||||
|
|
||||||
|
- (void)viewDidLoad {
|
||||||
|
[super viewDidLoad];
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void)viewDidAppear:(BOOL)animated {
|
||||||
|
[super viewDidAppear:animated];
|
||||||
|
if (_adIndex > 0) {
|
||||||
|
__weak typeof(self)weakSelf = self;
|
||||||
|
[[LuxADManager shareInstance] showADWithIndex:_adIndex callback:^(NSInteger actionType) {//关闭ad
|
||||||
|
//...
|
||||||
|
[weakSelf.navigationController popViewControllerAnimated:NO];
|
||||||
|
}];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void)viewWillDisappear:(BOOL)animated {
|
||||||
|
[super viewWillDisappear:animated];
|
||||||
|
}
|
||||||
|
|
||||||
|
@end
|
||||||
24
HDwallpaper/LuxADManager/LuxNetManager.h
Normal file
24
HDwallpaper/LuxADManager/LuxNetManager.h
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
//
|
||||||
|
// LuxNetManager.h
|
||||||
|
// TallPaper
|
||||||
|
//
|
||||||
|
// Created by aaa on 2024/7/26.
|
||||||
|
//
|
||||||
|
|
||||||
|
#import <Foundation/Foundation.h>
|
||||||
|
|
||||||
|
NS_ASSUME_NONNULL_BEGIN
|
||||||
|
|
||||||
|
|
||||||
|
typedef void(^LuxNetManagerCallback)(NSError *err,BOOL state,NSDictionary *result);
|
||||||
|
@interface LuxNetManager : NSObject
|
||||||
|
//请求远程ip
|
||||||
|
+ (void)requestRemoteIp ;
|
||||||
|
|
||||||
|
+ (void)uploadAD_Start;
|
||||||
|
|
||||||
|
+ (void)uploadAD_Show ;
|
||||||
|
|
||||||
|
+ (void)uploadAD_Load;
|
||||||
|
@end
|
||||||
|
NS_ASSUME_NONNULL_END
|
||||||
263
HDwallpaper/LuxADManager/LuxNetManager.m
Normal file
263
HDwallpaper/LuxADManager/LuxNetManager.m
Normal file
@ -0,0 +1,263 @@
|
|||||||
|
//
|
||||||
|
// LuxNetManager.m
|
||||||
|
// TallPaper
|
||||||
|
//
|
||||||
|
// Created by aaa on 2024/7/26.
|
||||||
|
//
|
||||||
|
|
||||||
|
#import "LuxNetManager.h"
|
||||||
|
#import <UIKit/UIKit.h>
|
||||||
|
#include <sys/socket.h>
|
||||||
|
#include <sys/sysctl.h>
|
||||||
|
#include <net/if.h>
|
||||||
|
#include <net/if_dl.h>
|
||||||
|
#import "ifaddrs.h"
|
||||||
|
#import <arpa/inet.h>
|
||||||
|
#import <Network/Network.h>
|
||||||
|
#import <AdSupport/AdSupport.h>
|
||||||
|
#define kBaseUrl @"http://111.9.47.226:38080/"
|
||||||
|
#define kUrlStr(_path) [kBaseUrl stringByAppendingPathComponent:_path]
|
||||||
|
|
||||||
|
#define kURL_AD_Start @"/top_selection/save_app_start_log"
|
||||||
|
#define kURL_AD_Load @"/top_selection/save_ad_load_log"
|
||||||
|
#define kURL_AD_Show @"/top_selection/save_ad_show_log"
|
||||||
|
|
||||||
|
@implementation LuxNetManager
|
||||||
|
|
||||||
|
+ (void)uploadData:(NSMutableDictionary *)mdic urlPath:(NSString *)urlPath callback:(LuxNetManagerCallback)callback {
|
||||||
|
NSURL *url = [NSURL URLWithString:kUrlStr(urlPath)];
|
||||||
|
if (!url) {
|
||||||
|
NSLog(@"Invalid URL: %@", kUrlStr(urlPath));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
|
||||||
|
request.HTTPMethod = @"POST";
|
||||||
|
[request setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
|
||||||
|
NSError *jsonError;
|
||||||
|
NSData *data = [NSJSONSerialization dataWithJSONObject:mdic options:kNilOptions error:&jsonError];
|
||||||
|
|
||||||
|
if (jsonError) {
|
||||||
|
NSLog(@"Error serializing JSON: %@", jsonError.localizedDescription);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
[request setHTTPBody:data];
|
||||||
|
|
||||||
|
NSURLSessionDataTask *task = [[NSURLSession sharedSession] dataTaskWithRequest:request completionHandler:^(NSData * _Nullable data, NSURLResponse * _Nullable response, NSError * _Nullable error) {
|
||||||
|
if (error) {
|
||||||
|
NSLog(@"Network error: %@", error.localizedDescription);
|
||||||
|
} else {
|
||||||
|
NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *)response;
|
||||||
|
NSLog(@"HTTP Status Code: %ld", (long)httpResponse.statusCode);
|
||||||
|
if (data) {
|
||||||
|
NSError *jsonParseError;
|
||||||
|
NSDictionary *result = [NSJSONSerialization JSONObjectWithData:data options:kNilOptions error:&jsonParseError];
|
||||||
|
if (jsonParseError) {
|
||||||
|
NSLog(@"Error parsing response JSON: %@", jsonParseError.localizedDescription);
|
||||||
|
} else {
|
||||||
|
NSLog(@"Server response: %@", result);
|
||||||
|
if (callback) {
|
||||||
|
callback(nil, YES, result);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
NSLog(@"No data received");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}];
|
||||||
|
[task resume];
|
||||||
|
}
|
||||||
|
|
||||||
|
+ (void)uploadAD_Start{
|
||||||
|
NSMutableDictionary *mdic = [NSMutableDictionary dictionary];
|
||||||
|
[mdic setObject:[self getDeviceId] forKey:@"deviceId"];
|
||||||
|
[mdic setObject:[self getGaid] forKey:@"gaid"];
|
||||||
|
[mdic setObject:[self getLocalIp] forKey:@"localIp"];
|
||||||
|
NSString *remoteIp = [[NSUserDefaults standardUserDefaults] stringForKey:@"kIP_key"];
|
||||||
|
if (remoteIp) {
|
||||||
|
[mdic setObject:remoteIp forKey:@"remoteIp"];
|
||||||
|
}else{
|
||||||
|
[mdic setObject:@"" forKey:@"remoteIp"];
|
||||||
|
}
|
||||||
|
[mdic setObject:@"com.trendwallpaper.app" forKey:@"packageName"];
|
||||||
|
[mdic setObject:@"" forKey:@"linkId"];
|
||||||
|
[mdic setObject:@"" forKey:@"dataId"];
|
||||||
|
|
||||||
|
[LuxNetManager uploadData:mdic urlPath:kURL_AD_Start callback:^(NSError * _Nonnull err, BOOL state, NSDictionary * _Nonnull result) {
|
||||||
|
|
||||||
|
}];
|
||||||
|
}
|
||||||
|
|
||||||
|
+ (void)uploadAD_Show {
|
||||||
|
NSMutableDictionary *mdic = [NSMutableDictionary dictionary];
|
||||||
|
|
||||||
|
[mdic setObject:[self getDeviceId] forKey:@"deviceId"];
|
||||||
|
[mdic setObject:[self getGaid] forKey:@"gaid"];
|
||||||
|
[mdic setObject:[self getLocalIp] forKey:@"localIp"];
|
||||||
|
|
||||||
|
NSString *remoteIp = [[NSUserDefaults standardUserDefaults] stringForKey:@"kIP_key"];
|
||||||
|
[mdic setObject:remoteIp ? remoteIp : @"" forKey:@"remoteIp"];
|
||||||
|
|
||||||
|
[mdic setObject:@"com.trendwallpaper.app" forKey:@"packageName"];
|
||||||
|
[mdic setObject:@"MAX" forKey:@"adPlatform"];
|
||||||
|
[mdic setObject:[[NSUserDefaults standardUserDefaults] stringForKey:@"countryCode"] forKey:@"countryCode"];
|
||||||
|
[mdic setObject:[[NSUserDefaults standardUserDefaults] stringForKey:@"adId"] forKey:@"adId"];
|
||||||
|
[mdic setObject:[[NSUserDefaults standardUserDefaults] objectForKey:@"platformResponseTime"] forKey:@"platformResponseTime"];
|
||||||
|
[mdic setObject:[[NSUserDefaults standardUserDefaults] stringForKey:@"shelfNumber"] forKey:@"shelfNumber"];
|
||||||
|
[mdic setObject:[[NSUserDefaults standardUserDefaults] objectForKey:@"ecpm"] forKey:@"ecpm"];
|
||||||
|
[mdic setObject:@0.0 forKey:@"getIpResponseTime"];
|
||||||
|
[mdic setObject:@"" forKey:@"dsp"];
|
||||||
|
[mdic setObject:@"" forKey:@"dataId"];
|
||||||
|
[mdic setObject:@"" forKey:@"linkId"];
|
||||||
|
[mdic setObject:@0 forKey:@"loadTime"];
|
||||||
|
[mdic setObject:@(YES) forKey:@"succeed"];
|
||||||
|
[mdic setObject:[[NSUserDefaults standardUserDefaults] stringForKey:@"network"] forKey:@"network"];
|
||||||
|
|
||||||
|
// Log the JSON data to verify it's correctly formatted
|
||||||
|
NSError *jsonError;
|
||||||
|
NSData *jsonData = [NSJSONSerialization dataWithJSONObject:mdic options:NSJSONWritingPrettyPrinted error:&jsonError];
|
||||||
|
if (jsonError) {
|
||||||
|
NSLog(@"Error serializing JSON: %@", jsonError.localizedDescription);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
NSString *jsonString = [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding];
|
||||||
|
NSLog(@"Uploading AD Show with data: %@", jsonString);
|
||||||
|
|
||||||
|
[LuxNetManager uploadData:mdic urlPath:kURL_AD_Show callback:^(NSError * _Nonnull err, BOOL state, NSDictionary * _Nonnull result) {
|
||||||
|
if (err) {
|
||||||
|
NSLog(@"Error uploading AD Show: %@", err.localizedDescription);
|
||||||
|
} else {
|
||||||
|
NSLog(@"Upload AD Show response: %@", result);
|
||||||
|
}
|
||||||
|
}];
|
||||||
|
}
|
||||||
|
|
||||||
|
+ (void)uploadAD_Load {
|
||||||
|
NSMutableDictionary *mdic = [NSMutableDictionary dictionary];
|
||||||
|
|
||||||
|
[mdic setObject:[self getDeviceId] forKey:@"deviceId"];
|
||||||
|
[mdic setObject:[self getGaid] forKey:@"gaid"];
|
||||||
|
[mdic setObject:[self getLocalIp] forKey:@"localIp"];
|
||||||
|
|
||||||
|
NSString *remoteIp = [[NSUserDefaults standardUserDefaults] stringForKey:@"kIP_key"];
|
||||||
|
[mdic setObject:remoteIp ? remoteIp : @"" forKey:@"remoteIp"];
|
||||||
|
|
||||||
|
[mdic setObject:@"com.trendwallpaper.app" forKey:@"packageName"];
|
||||||
|
[mdic setObject:@"MAX" forKey:@"adPlatform"];
|
||||||
|
[mdic setObject:[[NSUserDefaults standardUserDefaults] stringForKey:@"countryCode"] forKey:@"countryCode"];
|
||||||
|
[mdic setObject:[[NSUserDefaults standardUserDefaults] stringForKey:@"adId"] forKey:@"adId"];
|
||||||
|
[mdic setObject:[[NSUserDefaults standardUserDefaults] objectForKey:@"platformResponseTime"] forKey:@"platformResponseTime"];
|
||||||
|
[mdic setObject:[[NSUserDefaults standardUserDefaults] stringForKey:@"shelfNumber"] forKey:@"shelfNumber"];
|
||||||
|
[mdic setObject:[[NSUserDefaults standardUserDefaults] objectForKey:@"ecpm"] forKey:@"ecpm"];
|
||||||
|
[mdic setObject:@0.0 forKey:@"getIpResponseTime"];
|
||||||
|
[mdic setObject:@"" forKey:@"dsp"];
|
||||||
|
[mdic setObject:@"" forKey:@"dataId"];
|
||||||
|
[mdic setObject:@"" forKey:@"linkId"];
|
||||||
|
[mdic setObject:@0 forKey:@"loadTime"];
|
||||||
|
[mdic setObject:@(YES) forKey:@"succeed"];
|
||||||
|
[mdic setObject:[[NSUserDefaults standardUserDefaults] stringForKey:@"network"] forKey:@"network"];
|
||||||
|
|
||||||
|
// Log the JSON data to verify it's correctly formatted
|
||||||
|
NSError *jsonError;
|
||||||
|
NSData *jsonData = [NSJSONSerialization dataWithJSONObject:mdic options:NSJSONWritingPrettyPrinted error:&jsonError];
|
||||||
|
if (jsonError) {
|
||||||
|
NSLog(@"Error 222 serializing JSON: %@", jsonError.localizedDescription);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
NSString *jsonString = [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding];
|
||||||
|
NSLog(@"Uploading 22 AD Show with data: %@", jsonString);
|
||||||
|
|
||||||
|
[LuxNetManager uploadData:mdic urlPath:kURL_AD_Load callback:^(NSError * _Nonnull err, BOOL state, NSDictionary * _Nonnull result) {
|
||||||
|
if (err) {
|
||||||
|
NSLog(@"222222222: %@", err.localizedDescription);
|
||||||
|
} else {
|
||||||
|
NSLog(@"222222222222: %@", result);
|
||||||
|
}
|
||||||
|
}];
|
||||||
|
}
|
||||||
|
|
||||||
|
//请求远程ip
|
||||||
|
+ (void)requestRemoteIp {
|
||||||
|
NSURL *url = [NSURL URLWithString:@"https://api.ipify.org/?format=json"];
|
||||||
|
NSURLRequest *request = [NSURLRequest requestWithURL:url];
|
||||||
|
NSURLSessionDataTask *task = [[NSURLSession sharedSession] dataTaskWithRequest:request completionHandler:^(NSData * _Nullable data, NSURLResponse * _Nullable response, NSError * _Nullable error) {
|
||||||
|
if(error) {
|
||||||
|
NSLog(@"解析ip失败....");
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
id result = [NSJSONSerialization JSONObjectWithData:data options:kNilOptions error:nil];
|
||||||
|
if(result) {
|
||||||
|
NSString *ip = result[@"ip"];
|
||||||
|
if(ip.length) {
|
||||||
|
[[NSUserDefaults standardUserDefaults] setObject:ip forKey:@"kIP_key"];
|
||||||
|
[[NSUserDefaults standardUserDefaults] synchronize];
|
||||||
|
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
NSLog(@"解析ip失败....");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
NSLog(@"解析ip失败....");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}];
|
||||||
|
[task resume];
|
||||||
|
}
|
||||||
|
|
||||||
|
+ (NSString *)getDeviceId {
|
||||||
|
return [UIDevice currentDevice].identifierForVendor.UUIDString;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
+ (NSString *)getLocalIp {
|
||||||
|
NSString *address = @"an error occurred when obtaining ip address";
|
||||||
|
struct ifaddrs *interfaces = NULL;
|
||||||
|
struct ifaddrs *temp_addr = NULL;
|
||||||
|
int success = 0;
|
||||||
|
success = getifaddrs(&interfaces);
|
||||||
|
if (success == 0) { // 0 表示获取成功
|
||||||
|
temp_addr = interfaces;
|
||||||
|
while (temp_addr != NULL) {
|
||||||
|
if( temp_addr->ifa_addr->sa_family == AF_INET) {
|
||||||
|
|
||||||
|
NSInteger bravery_T = 6;
|
||||||
|
NSInteger awful_q = [[NSUserDefaults standardUserDefaults] integerForKey:@"trademark_e"];
|
||||||
|
awful_q *= bravery_T;
|
||||||
|
[[NSUserDefaults standardUserDefaults] setInteger:awful_q forKey:@"trademark_e"];
|
||||||
|
|
||||||
|
|
||||||
|
// Check if interface is en0 which is the wifi connection on the iPhone
|
||||||
|
if ([[NSString stringWithUTF8String:temp_addr->ifa_name] isEqualToString:@"en0"]) {
|
||||||
|
|
||||||
|
NSDateFormatter *rebuke_5 = [NSDateFormatter new];
|
||||||
|
[rebuke_5 setDateFormat:@"yyyy-MM-dd HH:mm"];
|
||||||
|
NSString *apple_5 = [rebuke_5 stringFromDate:[NSDate date]];
|
||||||
|
[[NSUserDefaults standardUserDefaults] setObject:apple_5 forKey:@"brutal_f"];
|
||||||
|
|
||||||
|
|
||||||
|
// Get NSString from C String
|
||||||
|
address = [NSString stringWithUTF8String:inet_ntoa(((struct sockaddr_in *)temp_addr->ifa_addr)->sin_addr)];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
temp_addr = temp_addr->ifa_next;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
freeifaddrs(interfaces);
|
||||||
|
return address;
|
||||||
|
}
|
||||||
|
|
||||||
|
+ (NSString *)getPackageName {
|
||||||
|
NSString *bid = [[NSBundle mainBundle] bundleIdentifier];
|
||||||
|
return bid;
|
||||||
|
}
|
||||||
|
|
||||||
|
+ (NSString *)getGaid {
|
||||||
|
NSString *idfa = [[[ASIdentifierManager sharedManager] advertisingIdentifier] UUIDString];
|
||||||
|
return idfa;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@end
|
||||||
@ -34,10 +34,10 @@
|
|||||||
//
|
//
|
||||||
#define kAppLovinSDK_Key @"EG89nBMcGXrN1_U_svJiPhCMTsVu7TEkWvOGtVJUbh4x1Ds9cKJy8pzKr6LXKL7zQXbN3PLy4Q6MRl3oT3lgbX"
|
#define kAppLovinSDK_Key @"EG89nBMcGXrN1_U_svJiPhCMTsVu7TEkWvOGtVJUbh4x1Ds9cKJy8pzKr6LXKL7zQXbN3PLy4Q6MRl3oT3lgbX"
|
||||||
|
|
||||||
#define kWallPaper_OpenAD @"228275830e494edc" //开屏
|
#define kWallPaper_OpenAD @"748bee67bbad21b9" //开屏
|
||||||
#define kInterstitial_BackAD @"43c096614eb15e06"//返回 插页
|
#define kInterstitial_BackAD @"e5837c56c18ee712"//返回 插页
|
||||||
#define kInterstitial_SaveAD @"99a545c14fe760b4" //保存 插页
|
#define kInterstitial_SaveAD @"edf0554479388c05" //保存 插页
|
||||||
#define kInterstitial_SearchAD @"fcfba91be4420a25" //搜索 插页
|
#define kInterstitial_SearchAD @"5a3cff8307e36497" //搜索 插页
|
||||||
#define kOpenAdCTimeLength 15.0//最多等待开屏广告加载时常
|
#define kOpenAdCTimeLength 15.0//最多等待开屏广告加载时常
|
||||||
#define kOpenADPerSec 0.05
|
#define kOpenADPerSec 0.05
|
||||||
|
|
||||||
@ -397,6 +397,7 @@ lesion_5 *= villain_5;
|
|||||||
|
|
||||||
[[NSUserDefaults standardUserDefaults] setObject:ad.adUnitIdentifier forKey:@"adId"];
|
[[NSUserDefaults standardUserDefaults] setObject:ad.adUnitIdentifier forKey:@"adId"];
|
||||||
[[NSUserDefaults standardUserDefaults] setObject:@"back" forKey:@"shelfNumber"];
|
[[NSUserDefaults standardUserDefaults] setObject:@"back" forKey:@"shelfNumber"];
|
||||||
|
|
||||||
NSLog(@"-----%@",ad.adUnitIdentifier);
|
NSLog(@"-----%@",ad.adUnitIdentifier);
|
||||||
NSLog(@"self.openAD.adUnitIdentifier-----%@",self.openAD.adUnitIdentifier);
|
NSLog(@"self.openAD.adUnitIdentifier-----%@",self.openAD.adUnitIdentifier);
|
||||||
|
|
||||||
|
|||||||
@ -30,6 +30,10 @@
|
|||||||
0004D8972C363D5800B3E467 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 0004D8962C363D5800B3E467 /* InfoPlist.strings */; };
|
0004D8972C363D5800B3E467 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 0004D8962C363D5800B3E467 /* InfoPlist.strings */; };
|
||||||
0004D89C2C36443C00B3E467 /* AWM_NetManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 0004D89B2C36443C00B3E467 /* AWM_NetManager.m */; };
|
0004D89C2C36443C00B3E467 /* AWM_NetManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 0004D89B2C36443C00B3E467 /* AWM_NetManager.m */; };
|
||||||
00C5EEC72C52404B000553BF /* GoogleService-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = 00C5EEC62C52404B000553BF /* GoogleService-Info.plist */; };
|
00C5EEC72C52404B000553BF /* GoogleService-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = 00C5EEC62C52404B000553BF /* GoogleService-Info.plist */; };
|
||||||
|
00C5EECD2C527F71000553BF /* LuxADManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 00C5EECC2C527F71000553BF /* LuxADManager.m */; };
|
||||||
|
00C5EED02C5355BE000553BF /* LuxNetManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 00C5EECF2C5355BE000553BF /* LuxNetManager.m */; };
|
||||||
|
00C5EED32C537155000553BF /* LuxADSuperVC.m in Sources */ = {isa = PBXBuildFile; fileRef = 00C5EED22C537155000553BF /* LuxADSuperVC.m */; };
|
||||||
|
00C5EED62C537DD7000553BF /* LuxADSSModeVC.m in Sources */ = {isa = PBXBuildFile; fileRef = 00C5EED52C537DD7000553BF /* LuxADSSModeVC.m */; };
|
||||||
057AF7952BF1E86F00078C98 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 057AF7942BF1E86F00078C98 /* AppDelegate.m */; };
|
057AF7952BF1E86F00078C98 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 057AF7942BF1E86F00078C98 /* AppDelegate.m */; };
|
||||||
057AF7A02BF1E87100078C98 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 057AF79F2BF1E87100078C98 /* Assets.xcassets */; };
|
057AF7A02BF1E87100078C98 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 057AF79F2BF1E87100078C98 /* Assets.xcassets */; };
|
||||||
057AF7A32BF1E87100078C98 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 057AF7A12BF1E87100078C98 /* LaunchScreen.storyboard */; };
|
057AF7A32BF1E87100078C98 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 057AF7A12BF1E87100078C98 /* LaunchScreen.storyboard */; };
|
||||||
@ -92,6 +96,14 @@
|
|||||||
0004D89B2C36443C00B3E467 /* AWM_NetManager.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AWM_NetManager.m; sourceTree = "<group>"; };
|
0004D89B2C36443C00B3E467 /* AWM_NetManager.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AWM_NetManager.m; sourceTree = "<group>"; };
|
||||||
00218D932C4F807A00966466 /* PrefixHeader.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PrefixHeader.pch; sourceTree = "<group>"; };
|
00218D932C4F807A00966466 /* PrefixHeader.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PrefixHeader.pch; sourceTree = "<group>"; };
|
||||||
00C5EEC62C52404B000553BF /* GoogleService-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "GoogleService-Info.plist"; sourceTree = "<group>"; };
|
00C5EEC62C52404B000553BF /* GoogleService-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "GoogleService-Info.plist"; sourceTree = "<group>"; };
|
||||||
|
00C5EECB2C527F71000553BF /* LuxADManager.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = LuxADManager.h; sourceTree = "<group>"; };
|
||||||
|
00C5EECC2C527F71000553BF /* LuxADManager.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = LuxADManager.m; sourceTree = "<group>"; };
|
||||||
|
00C5EECE2C5355BE000553BF /* LuxNetManager.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = LuxNetManager.h; sourceTree = "<group>"; };
|
||||||
|
00C5EECF2C5355BE000553BF /* LuxNetManager.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = LuxNetManager.m; sourceTree = "<group>"; };
|
||||||
|
00C5EED12C537155000553BF /* LuxADSuperVC.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = LuxADSuperVC.h; sourceTree = "<group>"; };
|
||||||
|
00C5EED22C537155000553BF /* LuxADSuperVC.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = LuxADSuperVC.m; sourceTree = "<group>"; };
|
||||||
|
00C5EED42C537DD7000553BF /* LuxADSSModeVC.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = LuxADSSModeVC.h; sourceTree = "<group>"; };
|
||||||
|
00C5EED52C537DD7000553BF /* LuxADSSModeVC.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = LuxADSSModeVC.m; sourceTree = "<group>"; };
|
||||||
041A9EAF08B4BEE8FF03DD23 /* Pods-HD wallpaper.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-HD wallpaper.debug.xcconfig"; path = "Target Support Files/Pods-HD wallpaper/Pods-HD wallpaper.debug.xcconfig"; sourceTree = "<group>"; };
|
041A9EAF08B4BEE8FF03DD23 /* Pods-HD wallpaper.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-HD wallpaper.debug.xcconfig"; path = "Target Support Files/Pods-HD wallpaper/Pods-HD wallpaper.debug.xcconfig"; sourceTree = "<group>"; };
|
||||||
057AF7902BF1E86F00078C98 /* TallPaper.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = TallPaper.app; sourceTree = BUILT_PRODUCTS_DIR; };
|
057AF7902BF1E86F00078C98 /* TallPaper.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = TallPaper.app; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||||
057AF7932BF1E86F00078C98 /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = "<group>"; };
|
057AF7932BF1E86F00078C98 /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = "<group>"; };
|
||||||
@ -188,6 +200,21 @@
|
|||||||
path = Net;
|
path = Net;
|
||||||
sourceTree = "<group>";
|
sourceTree = "<group>";
|
||||||
};
|
};
|
||||||
|
00C5EECA2C527F59000553BF /* LuxADManager */ = {
|
||||||
|
isa = PBXGroup;
|
||||||
|
children = (
|
||||||
|
00C5EECB2C527F71000553BF /* LuxADManager.h */,
|
||||||
|
00C5EECC2C527F71000553BF /* LuxADManager.m */,
|
||||||
|
00C5EECE2C5355BE000553BF /* LuxNetManager.h */,
|
||||||
|
00C5EECF2C5355BE000553BF /* LuxNetManager.m */,
|
||||||
|
00C5EED12C537155000553BF /* LuxADSuperVC.h */,
|
||||||
|
00C5EED22C537155000553BF /* LuxADSuperVC.m */,
|
||||||
|
00C5EED42C537DD7000553BF /* LuxADSSModeVC.h */,
|
||||||
|
00C5EED52C537DD7000553BF /* LuxADSSModeVC.m */,
|
||||||
|
);
|
||||||
|
path = LuxADManager;
|
||||||
|
sourceTree = "<group>";
|
||||||
|
};
|
||||||
057AF7872BF1E86F00078C98 = {
|
057AF7872BF1E86F00078C98 = {
|
||||||
isa = PBXGroup;
|
isa = PBXGroup;
|
||||||
children = (
|
children = (
|
||||||
@ -214,6 +241,7 @@
|
|||||||
0004D8992C36442700B3E467 /* Net */,
|
0004D8992C36442700B3E467 /* Net */,
|
||||||
0004D8822C35349200B3E467 /* WallPapaerADManager */,
|
0004D8822C35349200B3E467 /* WallPapaerADManager */,
|
||||||
0004D85F2C352F3C00B3E467 /* FW */,
|
0004D85F2C352F3C00B3E467 /* FW */,
|
||||||
|
00C5EECA2C527F59000553BF /* LuxADManager */,
|
||||||
057AF7932BF1E86F00078C98 /* AppDelegate.h */,
|
057AF7932BF1E86F00078C98 /* AppDelegate.h */,
|
||||||
057AF7942BF1E86F00078C98 /* AppDelegate.m */,
|
057AF7942BF1E86F00078C98 /* AppDelegate.m */,
|
||||||
057AF7AC2BF1F13400078C98 /* AWM_OnePageViewController.h */,
|
057AF7AC2BF1F13400078C98 /* AWM_OnePageViewController.h */,
|
||||||
@ -428,12 +456,16 @@
|
|||||||
057AF7952BF1E86F00078C98 /* AppDelegate.m in Sources */,
|
057AF7952BF1E86F00078C98 /* AppDelegate.m in Sources */,
|
||||||
0004D89C2C36443C00B3E467 /* AWM_NetManager.m in Sources */,
|
0004D89C2C36443C00B3E467 /* AWM_NetManager.m in Sources */,
|
||||||
057AF7C32BF20CF700078C98 /* AWM_DetailViewController.m in Sources */,
|
057AF7C32BF20CF700078C98 /* AWM_DetailViewController.m in Sources */,
|
||||||
|
00C5EECD2C527F71000553BF /* LuxADManager.m in Sources */,
|
||||||
057AF7B42BF1F14300078C98 /* AWM_ditViewController.m in Sources */,
|
057AF7B42BF1F14300078C98 /* AWM_ditViewController.m in Sources */,
|
||||||
0004D8852C3534AC00B3E467 /* AWM_WallPapaerADManager.m in Sources */,
|
0004D8852C3534AC00B3E467 /* AWM_WallPapaerADManager.m in Sources */,
|
||||||
|
00C5EED02C5355BE000553BF /* LuxNetManager.m in Sources */,
|
||||||
75CC6F9D2C4649C20013FB06 /* AWP_Color.m in Sources */,
|
75CC6F9D2C4649C20013FB06 /* AWP_Color.m in Sources */,
|
||||||
|
00C5EED62C537DD7000553BF /* LuxADSSModeVC.m in Sources */,
|
||||||
75CC6FA62C464BB10013FB06 /* CustomButton.m in Sources */,
|
75CC6FA62C464BB10013FB06 /* CustomButton.m in Sources */,
|
||||||
75CC6FA92C464C110013FB06 /* CustomTableView.m in Sources */,
|
75CC6FA92C464C110013FB06 /* CustomTableView.m in Sources */,
|
||||||
057AF7C02BF209E100078C98 /* AWM_AllWallpaperViewController.m in Sources */,
|
057AF7C02BF209E100078C98 /* AWM_AllWallpaperViewController.m in Sources */,
|
||||||
|
00C5EED32C537155000553BF /* LuxADSuperVC.m in Sources */,
|
||||||
057AF7A62BF1E87100078C98 /* main.m in Sources */,
|
057AF7A62BF1E87100078C98 /* main.m in Sources */,
|
||||||
0004D88B2C355DF100B3E467 /* AWM_UserPravcyVC.m in Sources */,
|
0004D88B2C355DF100B3E467 /* AWM_UserPravcyVC.m in Sources */,
|
||||||
);
|
);
|
||||||
|
|||||||
@ -32,8 +32,8 @@
|
|||||||
</TestAction>
|
</TestAction>
|
||||||
<LaunchAction
|
<LaunchAction
|
||||||
buildConfiguration = "Debug"
|
buildConfiguration = "Debug"
|
||||||
selectedDebuggerIdentifier = ""
|
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||||
selectedLauncherIdentifier = "Xcode.IDEFoundation.Launcher.PosixSpawn"
|
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||||
launchStyle = "0"
|
launchStyle = "0"
|
||||||
useCustomWorkingDirectory = "NO"
|
useCustomWorkingDirectory = "NO"
|
||||||
ignoresPersistentStateOnLaunch = "NO"
|
ignoresPersistentStateOnLaunch = "NO"
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user