网站换模板对seo,中国制造网国际站网址,中铁建设门户网登录入口手机端,商务之家网一、接入SDK 1、将sdk文件手动导入到目标项目中#xff0c;如下图所示#xff1a; 2、该SDK需接入其他三方广告#xff0c;通过pod的方式接入#xff0c;在Profile中加入如下代码#xff1a; pod GDTMobSDK, ~ 4.14.40pod BaiduMobAdSDK, ~ 5.313pod KSAdSDK…一、接入SDK 1、将sdk文件手动导入到目标项目中如下图所示 2、该SDK需接入其他三方广告通过pod的方式接入在Profile中加入如下代码 pod GDTMobSDK, ~ 4.14.40pod BaiduMobAdSDK, ~ 5.313pod KSAdSDK, ~ 3.3.51.13、该SDK所依赖的②中的三方库的版本号与您项目中本身存在的库的版本号不一致请您适配或联系SDK开发者适配。 4、该SDK不是必须依赖②中的三方库如您不需要某个广告商的资源也请您联系开发者开发。
二、代码接入 1、初始化
// 导入项目头文件
#import MTAd/MTAd.h// 初始化方式token 是指运营方提供的与接入方bundle id 绑定了的token
[MTAdApi initXWAdWithToken:token];// 获取当前sdk 版本号
NSLog(%,[MTAdApi MT_version]);2、服务端竞价相关数据
// 上报内容的key-value内容如下
typedef NS_ENUM(NSUInteger, BidPriceKey) {/** 代表竞胜方 价格的key */KEY_WIN_EXPECT_COST_PRICE 1,/** 代表竞胜的时候 失败放的最大价格的 key */KEY_HIGHEST_LOSS_PRICE 2,/** 代表是 竞胜败 方 时候的 竞价原因 它的 valut 值 可以是 0、其他1、竞争力不足2、无广告返回3、未参与竞价 */KEY_FAILED_REASON 3,/** 代表 竞败方 广告厂商 它的值可以是 0、其他渠道1、广点通2、百青藤3、穿山甲4、快手5、京准通10、Π金引擎 */KEY_ADN_TYPE 4,/** 竞胜败⽅渠道名称 */KEY_ADN_NAME 5,/*** 竞胜之后调用, 需要在调用广告 show 之前调用** param params - 必填其中* 键 KEY_EXPECT_COST_PRICE 对应值为竞胜出价单位分类型为Int选填* 键 KEY_HIGHEST_LOSS_PRICE 对应值为最大竞败方出价单位分类型为Int选填。*/
};
//获取竞价信息后将会得到一个model 信息如下
interface PRXServerBidingModel : NSObject/** 京胜 token */
property (nonatomic,copy) NSString * token;/** 京胜 价格 */
property (nonatomic,copy) NSString * price;/** 京胜 上报url */
property (nonatomic,copy) NSString * nurl;/** 竞败 上报url */
property (nonatomic,copy) NSString * lurl;/** 错误码 */
property (nonatomic,copy) NSString * errorCode;end3、开屏广告接入方式
// 初始化 开屏广告对象
[[MTSplashObject alloc] initWithPlacementId:广告位id];//遵守 开屏广告对象的代理 代理详情参见 MTSplashObjectDelegate
xxx.delegate self;// 获取竞价信息 --- 适用服务端竞价
[xxx getBidingInfoResult];// 获取竞价信息后媒体方会收到 如下代理请提前签订delegate
- (void)mt_splashbidEnd:(MTSplashObject *)splashAd info:(PRXServerBidingModel *)info{NSLog(2开屏广告竞价成功-----%s,error % -- info-%,__func__,splashAd,info);
}//服务端竞价 加载广告方式
[xxx bidLoadAd];
//普通模式 加载广告方式
[xxx loadAd];/*** 开屏广告素材加载成功*/
- (void)mt_splashAdDidLoad:(MTSplashObject * __nullable)splashAd{ NSLog(2开屏广告素材加载成功-----%s,error %,__func__,splashAd);
}/*** 开屏广告展示失败*/
- (void)mt_splashAdFailToPresent:(MTSplashObject * __nullable)splashAd withError:(NSError *)error{NSLog(3开屏广告展示失败-----%s,error %,__func__,error);
}
//在广告加载成功之后 才可以展示广告
//支持 开屏广告底部 自定义视图
//支持 开屏广告 自定义跳过按钮
[xxx showAdInWindow:windoww withBottomView:nil skipView:nil];// 由该sdk提供的广告资源得到竞价结果后请您调用如下代码上报
/**竞价成功的上报*/
- (void)sendBidPriceWin:(NSDictionary *_Nullable)winInfo;/**竞价失败的上报*/
- (void)sendBidPriceLoss:(NSDictionary *_Nullable)lossInfo;其他代理方法 /*** 应用进入后台时回调* 详解: 当点击下载应用时会调用系统程序打开应用切换到后台*/
- (void)mt_splashAdApplicationWillEnterBackground:(MTSplashObject * __nullable)splashAd
{NSLog(4应用进入后台时回调-----%s,__func__);}/*** 开屏广告曝光回调*/
- (void)mt_splashAdExposured:(MTSplashObject * __nullable)splashAd
{NSLog(5开屏广告曝光回调-----%s,__func__);}/*** 开屏广告点击回调*/
- (void)mt_splashAdClicked:(MTSplashObject * __nullable)splashAd
{NSLog(6开屏广告点击回调-----%s,__func__);}/*** 开屏广告将要关闭回调*/
- (void)mt_splashAdWillClosed:(MTSplashObject * __nullable)splashAd
{NSLog(7开屏广告将要关闭回调-----%s,__func__);}/*** 开屏广告关闭回调*/
- (void)mt_splashAdClosed:(MTSplashObject * __nullable)splashAd
{NSLog(8开屏广告关闭回调-----%s,__func__);
}- (void)mt_splashAdClickSkip:(MTSplashObject *)splashAd
{NSLog(9点击了跳过按钮);
}/*** 开屏广告点击以后即将弹出全屏广告页*/
- (void)mt_splashAdWillPresentFullScreenModal:(MTSplashObject * __nullable)splashAd
{NSLog(10开屏广告点击以后即将弹出全屏广告页-----%s,__func__);}/*** 开屏广告点击以后弹出全屏广告页*/
- (void)mt_splashAdDidPresentFullScreenModal:(MTSplashObject * __nullable)splashAd
{NSLog(11开屏广告点击以后弹出全屏广告页-----%s,__func__);}/*** 点击以后全屏广告页将要关闭*/
- (void)mt_splashAdWillDismissFullScreenModal:(MTSplashObject * __nullable)splashAd
{NSLog(12点击以后全屏广告页将要关闭-----%s,__func__);}/*** 点击以后全屏广告页已经关闭*/
- (void)mt_splashAdDidDismissFullScreenModal:(MTSplashObject * __nullable)splashAd
{NSLog(13点击以后全屏广告页已经关闭-----%s,__func__);}/*** 开屏广告剩余时间回调*/
- (void)mt_splashAdLifeTime:(NSUInteger)time splashAd:(MTSplashObject * _Nullable)splashAd
{NSLog(14开屏广告剩余时间回调-----%s,__func__);}4、激励视频 接入方式
// 激励视频初始化
xxx [[MTRewardVideoAd alloc] initWithPlacementId:广告位];
// 签代理 遵守代理 MTRewardVideoAdDelegate
xxx.delegate self;//服务端竞价 --- 获取竞价信息
[xxx getBidingInfoResult];//收到竞价信息后
- (void)mt_rewardVideoBidEnd:(MTRewardVideoAd *)rewardedVideoAd info:(PRXServerBidingModel *)info{self.statusLabel.text 竞价成功;
}//服务端竞价方式 -- 加载广告
[xxx bidLoadAd];
//普通模式下 --- 加载广告
[xxx loadAd];/**广告数据加载成功回调param rewardedVideoAd MTRewardVideoAd 实例*/
- (void)mt_rewardVideoAdDidLoad:(MTRewardVideoAd *)rewardedVideoAd
{self.statusLabel.text 广告数据加载成功;
}/**视频广告各种错误信息回调param rewardedVideoAd MTRewardVideoAd 实例param error 具体错误信息*/
- (void)mt_rewardVideoAd:(MTRewardVideoAd *)rewardedVideoAd didFailWithError:(NSError *)error
{NSLog(%s,__FUNCTION__);if (error.code 4014) {NSLog(请拉取到广告后再调用展示接口);self.statusLabel.text 请拉取到广告后再调用展示接口;} else if (error.code 4016) {NSLog(应用方向与广告位支持方向不一致);self.statusLabel.text 应用方向与广告位支持方向不一致;} else if (error.code 5012) {NSLog(广告已过期);self.statusLabel.text 广告已过期;} else if (error.code 4015) {NSLog(广告已经播放过请重新拉取);self.statusLabel.text 广告已经播放过请重新拉取;} else if (error.code 5002) {NSLog(视频下载失败);self.statusLabel.text 视频下载失败;} else if (error.code 5003) {NSLog(视频播放失败);self.statusLabel.text 视频播放失败;} else if (error.code 5004) {NSLog(没有合适的广告);self.statusLabel.text 没有合适的广告;} else if (error.code 5013) {NSLog(请求太频繁请稍后再试);self.statusLabel.text 请求太频繁请稍后再试;} else if (error.code 3002) {NSLog(网络连接超时);self.statusLabel.text 网络连接超时;}NSLog(ERROR: %, error);
}// 视频加载成功后展示激励视频 注意 controller 不能为空
[xxx showAdFromRootViewController:controller];由sdk竞价成功或失败 上报方法
/**竞价成功的上报*/
- (void)sendBidPriceWin:(NSDictionary *_Nullable)winInfo;/**竞价失败的上报*/
- (void)sendBidPriceLoss:(NSDictionary *_Nullable)lossInfo;其他代理方法
/**视频播放页即将展示回调param rewardedVideoAd MTRewardVideoAd 实例*/
- (void)mt_rewardVideoAdWillVisible:(MTRewardVideoAd *)rewardedVideoAd
{}/**视频广告曝光回调param rewardedVideoAd MTRewardVideoAd 实例*/
- (void)mt_rewardVideoAdDidExposed:(MTRewardVideoAd *)rewardedVideoAd
{self.statusLabel.text 广告已曝光;}/**视频播放页关闭回调param rewardedVideoAd MTRewardVideoAd 实例*/
- (void)mt_rewardVideoAdDidClose:(MTRewardVideoAd *)rewardedVideoAd
{self.statusLabel.text 广告已关闭;}/**视频广告信息点击回调param rewardedVideoAd MTRewardVideoAd 实例*/
- (void)mt_rewardVideoAdDidClicked:(MTRewardVideoAd *)rewardedVideoAd
{self.statusLabel.text 广告已点击;
}/**视频广告播放达到激励条件回调param rewardedVideoAd MTRewardVideoAd 实例*/
- (void)mt_rewardVideoAdDidRewardEffective:(MTRewardVideoAd *)rewardedVideoAd
{NSLog(播放达到激励条件);}/**视频广告视频播放完成param rewardedVideoAd MTRewardVideoAd 实例*/
- (void)mt_rewardVideoAdDidPlayFinish:(MTRewardVideoAd *)rewardedVideoAd
{NSLog(视频播放结束);self.statusLabel.text 视频播放结束;}5、插屏广告 接入方式
// 插屏广告对象初始化方式
xxx [[MTInterstitialAd alloc] initWithPlacementId:代码位];
// 遵守代理 MTInterstitialAdDelegate
xxx.delegate self;//服务端竞价 获取竞价信息
[xxx getBidingInfoResult];//获取竞价信息 得到的数据 回调信息
- (void)mt_unifiedInterstitialBidEnd:(MTInterstitialAd *)splashAd info:(PRXServerBidingModel *)info {self.statusLabel.text 竞价数据请求成功;
}//服务端竞价方式 -- 加载广告
[xxx bidLoadAd];
//普通模式下 --- 加载广告
[xxx loadAd]// 加载结果的回调
/*** 广告预加载成功回调* 详解:当接收服务器返回的广告数据成功且预加载后调用该函数*/
- (void)mt_unifiedInterstitialSuccessToLoadAd:(MTInterstitialAd *)unifiedInterstitial{self.statusLabel.text 广告数据请求成功;
}/*** 广告预加载失败回调* 详解:当接收服务器返回的广告数据失败后调用该函数*/
- (void)mt_unifiedInterstitialFailToLoadAd:(MTInterstitialAd *)interstitialAd error:(NSError *)error
{self.statusLabel.text 广告数据加载失败;
}// 广告加载成功后 展示开屏 controller 不能为空
[xxx presentAdFromRootViewController:controller];竞价结果汇报方法
/**竞价成功的上报*/
- (void)sendBidPriceWin:(NSDictionary *_Nullable)winInfo;/**竞价失败的上报*/
- (void)sendBidPriceLoss:(NSDictionary *_Nullable)lossInfo;其他代理回调方法
/*** 广告预加载成功回调* 详解:当接收服务器返回的广告数据成功且预加载后调用该函数*/
- (void)mt_unifiedInterstitialSuccessToLoadAd:(MTInterstitialAd *)unifiedInterstitial{self.statusLabel.text 广告数据请求成功;NSLog(%s,%,__func__,self);
}/*** 广告预加载失败回调* 详解:当接收服务器返回的广告数据失败后调用该函数*/
- (void)mt_unifiedInterstitialFailToLoadAd:(MTInterstitialAd *)interstitialAd error:(NSError *)error
{self.statusLabel.text 广告数据加载失败;NSLog(%s,%,__func__,self);NSLog(error%,error.description);}/*** 插屏广告将要展示回调* 详解: 插屏广告即将展示回调该函数*/
- (void)mt_unifiedInterstitialWillPresentScreen:(MTInterstitialAd *)interstitialAd
{NSLog(%s,%,__func__,self);}/*** 插屏广告视图展示成功回调* 详解: 插屏广告展示成功回调该函数*/
- (void)mt_unifiedInterstitialDidPresentScreen:(MTInterstitialAd *)interstitialAd
{NSLog(%s,%,__func__,self);}/*** 插屏广告展示结束回调* 详解: 插屏广告展示结束回调该函数*/
- (void)mt_unifiedInterstitialDidDismissScreen:(MTInterstitialAd *)interstitialAd
{self.statusLabel.text 插屏广告展示结束回调;NSLog(%s,%,__func__,self);
}/*** 详解:当点击应用下载或者广告调用系统程序打开时调用*/
- (void)mt_interstitialApplicationWillEnterBackground:(MTInterstitialAd *)interstitialAd
{NSLog(%s,%,__func__,self);}/*** 插屏广告曝光回调*/
- (void)mt_interstitialWillExposure:(MTInterstitialAd *)interstitialAd
{NSLog(%s,%,__func__,self);}/*** 插屏广告点击回调*/- (void)mt_unifiedInterstitialClicked:(MTInterstitialAd *)interstitialAd
{NSLog(%s,%,__func__,self);self.statusLabel.text 插屏广告点击回调;}/*** 点击插屏广告以后即将弹出全屏广告页*/
- (void)mt_unifiedInterstitialAdWillPresentFullScreenModal:(MTInterstitialAd *)interstitialAd
{NSLog(%s,%,__func__,self);}/*** 点击插屏广告以后弹出全屏广告页*/
- (void)mt_unifiedInterstitialAdDidPresentFullScreenModal:(MTInterstitialAd *)interstitialAd
{NSLog(%s,%,__func__,self);}/*** 全屏广告页将要关闭*/
- (void)mt_unifiedInterstitialAdWillDismissFullScreenModal:(MTInterstitialAd *)interstitialAd
{NSLog(%s,%,__func__,self);}/*** 全屏广告页被关闭*/
- (void)mt_unifiedInterstitialAdDidDismissFullScreenModal:(MTInterstitialAd *)interstitialAd
{NSLog(%s,%,__func__,self);self.statusLabel.text 全屏广告页被关闭;}
/*** 当点击下载应用时会调用系统程序打开其它App或者Appstore时回调*/
- (void)mt_unifiedInterstitialWillLeaveApplication:(MTInterstitialAd *)unifiedInterstitial{NSLog(%s,%,__func__,self);
}/*** 插屏广告曝光回调*/
- (void)mt_unifiedInterstitialWillExposure:(MTInterstitialAd *)unifiedInterstitial{NSLog(%s,%,__func__,self);self.statusLabel.text 插屏广告曝光回调;}/*** 插屏视频广告 player 播放状态更新回调*/
- (void)mt_unifiedInterstitialAd:(MTInterstitialAd *)unifiedInterstitial playerStatusChanged:(MTMediaPlayerStatus)status{NSLog(%s,%,__func__,self);
}/*** 插屏视频广告详情页 WillPresent 回调*/
- (void)mt_unifiedInterstitialAdViewWillPresentVideoVC:(MTInterstitialAd *)unifiedInterstitial{NSLog(%s,%,__func__,self);
}/*** 插屏视频广告详情页 DidPresent 回调*/
- (void)mt_unifiedInterstitialAdViewDidPresentVideoVC:(MTInterstitialAd *)unifiedInterstitial{NSLog(%s,%,__func__,self);
}/*** 插屏视频广告详情页 WillDismiss 回调*/
- (void)mt_unifiedInterstitialAdViewWillDismissVideoVC:(MTInterstitialAd *)unifiedInterstitial{NSLog(%s,%,__func__,self);
}/*** 插屏视频广告详情页 DidDismiss 回调*/
- (void)mt_unifiedInterstitialAdViewDidDismissVideoVC:(MTInterstitialAd *)unifiedInterstitial{NSLog(%s,%,__func__,self);
}6、信息流广告接入方式
// 信息流对象初始化方式 -- 服务端竞价方式必须使用这种方式初始化
xxx [[MTUnifiedNativeAd alloc] initWithPlacementId:广告位];[self.unifiedNativeAd getBidingInfoResultWithCount:1];
// 信息流代理 遵守 MTUnifiedNativeAdDelegate,MTUnifiedNativeAdViewDelegate,MTMediaViewDelegate
xxx.delegate self;// 获取竞价信息 -- 传入期待的信息流数量
[xxx getBidingInfoResultWithCount:1];- (void)mt_unifiedNativeBid:(MTUnifiedNativeAd *)object bidInfo:(PRXServerBidingModel *)info {NSLog(信息流竞价成功);
}// 正常模式下加载广告方式
[self.unifiedNativeAd loadAdWithAdCount:1];
//服务端竞价方式 加载广告
[xxx bidLoadAd];// 得到加载成功后 广告资源或者 失败后的信息
- (void)mt_unifiedNativeAdLoaded:(NSArrayMTUnifiedNativeAdObject * *)unifiedNativeAdDataObjects error:(NSError *)error
{if (unifiedNativeAdDataObjects.count 0) { }NSLog(error %,error);
}// 由该sdk提供的广告资源得到竞价结果后请您调用如下代码上报
/**竞价成功的上报*/
- (void)sendBidPriceWin:(NSDictionary *_Nullable)winInfo;/**竞价失败的上报*/
- (void)sendBidPriceLoss:(NSDictionary *_Nullable)lossInfo;其他代理方法
/**广告曝光回调param unifiedNativeAdView MTUnifiedNativeAdView 实例*/
- (void)mt_unifiedNativeAdViewWillExpose:(MTUnifiedNativeAdView *)unifiedNativeAdView
{NSLog(XW曝光回调);}/**广告点击回调param unifiedNativeAdView MTUnifiedNativeAdView 实例*/
- (void)mt_unifiedNativeAdViewDidClick:(MTUnifiedNativeAdView *)unifiedNativeAdView
{NSLog(XW点击回调);}/**广告详情页关闭回调param unifiedNativeAdView MTUnifiedNativeAdView 实例*/
- (void)mt_unifiedNativeAdDetailViewClosed:(MTUnifiedNativeAdView *)unifiedNativeAdView
{NSLog(XW广告详情页关闭回调);}/**当点击应用下载或者广告调用系统程序打开时调用param unifiedNativeAdView MTUnifiedNativeAdView 实例*/
- (void)mt_unifiedNativeAdViewApplicationWillEnterBackground:(MTUnifiedNativeAdView *)unifiedNativeAdView
{NSLog(XW);}/**广告详情页面即将展示回调param unifiedNativeAdView MTUnifiedNativeAdView 实例*/
- (void)mt_unifiedNativeAdDetailViewWillPresentScreen:(MTUnifiedNativeAdView *)unifiedNativeAdView
{NSLog(XW广告详情页面即将展示回调);}/**视频广告播放状态更改回调param unifiedNativeAdView 实例param status 视频广告播放状态param userInfo 视频广告信息*/
- (void)mt_unifiedNativeAdView:(MTUnifiedNativeAdView *)unifiedNativeAdView playerStatusChanged:(MTMediaPlayerStatus)status userInfo:(NSDictionary *)userInfo
{NSLog();NSLog(视频广告状态变更);switch (status) {case MTMediaPlayerStatusError:NSLog(视频播放出错);//开发者可以在这里添加逻辑default:break;}}- (void)mt_mediaViewDidTapped:(MTMediaView *)mediaView{NSLog(mt_mediaViewDidTapped);
}/**播放完成回调param mediaView 播放器实例*/
- (void)mt_mediaViewDidPlayFinished:(MTMediaView *)mediaView{NSLog(mt_mediaViewDidPlayFinished);
}