广告iOS SDK集成

更新时间:2015/09/18 访问次数:23908

1.简介

  • 该版本的SDK支持从iOS 5.0 ~ 8.x的设备
  • 提供 3种样式:  横幅(Banner), 推广墙(Handle), 插屏(Interstitial)

参考:新手指引

2.SDK使用流程

SDK导入:

在你的工程目录结构中,右键点击Classes文件夹,选择Add->Existing Files...选择对应的头文件和静态类库文件。或者将对应的头文件和静态类库文件拖入XCode工程目录结构中,在弹出的界面中选择Copy items into destination group's folder(if needed),并确保Add To Targets中,需要使用应用联盟服务的Target App是处于选中状态。
添加图片资源:
SDK用到了一些资源图片,请一并引入您的工程,也可以根据您应用的需要,更换相关图片
添加依赖框架:
在工程中,选择添加如下框架:

  • UIKit.framework
  • CoreGraphics.framework
  • QuartzCore.framework
  • Foundation.framework
  • CoreLocation.framework
  • SystemConfiguration.framework
  • StoreKit.framework
  • MapKit.framework
  • MessageUI.framework
  • CoreTelephony.framework
  • CoreMotion.framework
  • AudioToolbox.framework
  • libz.dylib

添加方法参考如下:
使用我们SDK的target -> Build Phases -> Link Binary With Libraries

特别说明:


在所有依赖的系统框架中,请确保将StoreKit.framework标记为 Optional
工程中添加SDK的Target,“Other Linker Flags” 项添加 “-ObjC”

 

嵌入代码:

 

在需要使用应用联盟服务的文件中,import 进对应的.h 和.framework文件。SDK API的使用场景可以参考“典型的应用场景”说明部分。

 

Check list:

  MMUSDK.framework添加到工程
  添加尚未添加的依赖框架,及“MMUSDK.framework、UMUFP.bundle”的相关资源
  import 对应的.h 到具体工程文件中,调用相关API。 

 

demo下载:点击下载

3.典型应用场景

情景一:Banner样式

 

示例效果:

 

 

添加方法:在对应的文件中#import <MMUSDK/MMUBannerView.h>

	_mBannerView = [[MMUBannerView alloc] initWithFrame:CGRectMake(0, 64, 320, 50) slotId:_mSlotID currentViewController:self];
_mBannerView.delegate = (id<MMUBannerViewDelegate>)self;
[self.view addSubview:_mBannerView];
[_mBannerView requestPromoterDataInBackground];

 

注:更多设置请参看 MMUBannerView.h 文件

情景二: 推广墙样式

 

示例效果:

 

 

在对应的文件中#import <MMUSDK/UMUFPHandleView.h> (确认对应的.a文件也已经引入工程)

	_mHandleView = [[UMUFPHandleView alloc] initWithFrame:CGRectMake(0, 416, 60, 44) appKey:nil slotId:@"40510" currentViewController:self];
[self.view addSubview:_mHandleView];
[_mHandleView requestPromoterDataInBackground];

 

部分方法说明:

 

(void)setHandleViewBackgroundImage:(UIImage *)image 调用setHandleViewBackgroundImage后,网站端的设置将无效
    
(void)showHandleViewDetailPage 通过该接口可以直接展示 UMUFPHandleView 被点击后的详情页,如果相关的资源尚未ready,(void)failedToOpenContentView:(UMUFPHandleView *)handleView 回调方法将被触发。该接口适用于需要通过完全自定义的入口形态,如:button,tableview cell等,集成 UMUFPHandleView 的case

 

Delegate方法说明:

 

该方法会在推广墙入口即将出现时被调用,实现该方法便可自定义推广墙入口出现的动画

 

(void)handleViewWillAppear:(UMUFPHandleView *)handleView;

 

 

该方法仅在 showHandleViewDetailPage 被手动调用,但相关的资源尚未ready,入口详情页打开失败时被触发

(void)failedToOpenContentView:(UMUFPHandleView *)handleView;

 

实现该方法即可接管点击“推广墙入口”的事件,默认的点击效果是 presentModalViewController

(void)didClickHandleView:(UMUFPHandleView *)handleView;

 

该接口在推广墙详情页关闭时触发

(void)handleViewDidPackUp:(UMUFPHandleView *)handleView;

 

该方法在需要展示的广告列表获取成功后被调用

(void)didLoadDataFinished:(UMUFPHandleView *)handleView;

 

该方法在需要展示的广告列表获取失败后被调用,可能是网络原因,也可能是您广告位本身的展示列表为空,展示列表获取失败后,“推广墙入口”将不会展示

(void)didLoadDataFailWithError:(UMUFPHandleView *)handleView error:(NSError *)error;


对于需要推广墙入口,只需要二跳页的情况:

 

对于该情况,需要做的就是不要把HandleView加入到界面上,并且在需要的时机手动触发HandleView的点击事件,即确保在广告请求回来之后,手动调用 

(void)showHandleViewDetailPage; 

 

注:更多设置请参看 UMUFPHandleView.h 文件,因为handleview的部分delegate方法涉及后台的网络交互,建议您在handleview销毁时首先将其delegate置空。

情景三: 插屏样式

 

示例效果:

 

 

添加方法: 在对应的文件中#import <MMUSDK/MMUInterstitialView.h> (确认对应的.framework文件也已经引入工程)

	_mInterstitialView = [[MMUInterstitialView alloc] initWithSlotId:_mSlotID controller:self mask:YES];
_mInterstitialView.delegate = (id<MMUInterstitialViewDelegate>)self;

 

注:更多设置请参看 MMUInterstitialView.h 文件

4.其它说明

如果设置了相关view的delegate,建议在对应view销毁时,将其delegate置空,这些delegate大多涉及网络交互,置空可以避免一些可能出现的麻烦

5.技术支持

 

1、相关问题欢迎邮件:mobilesupport@list.alibaba-inc.com,我们会尽快答复

2、不过还是希望您在邮件前能认真阅读一下本文或本文一起的demo,或许能够找到对应问题的答案。

FAQ

关于此文档暂时还没有FAQ
返回
顶部