Objective-C
引入 SDK
#import
@interface ViewController ()
@property (nonatomic, strong) MFBannerView *bannerView;
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
CGPoint point = CGPointMake((self.view.frame.size.width-320)/2, self.view.frame.size.height-50);
self.bannerView = [[MFBannerView alloc] initWithAdType:MFAdType.banner320x50 origin:point bannerId:@"21958"];
self.bannerView.delegate = self;
[self.view addSubview:self.bannerView];
[self.bannerView setAdAutoRefresh:YES];
[self.bannerView debugInfo:@"info"];
}
- (IBAction)reqAdAction:(UIButton *)sender {
// 請求廣告
[self.bannerView requestAd];
}
// 移除廣告
- (IBAction)releseAdAction:(UIButton *)sender {
[self.bannerView releseADWithCallback:^(BOOL state) {
if (state) {
NSLog(@"bye");
}
}];
}
// 廣告請求成功
- (void)requestAdSuccess {
NSLog(@"廣告請求成功");
[self.bannerView show];
}
// 廣告請求失敗
- (void)requestAdFail {
NSLog(@"廣告請求失敗");
}
// 廣告被點擊
- (void)onClickAd:(NSString *)urlStr {
NSLog(@"點擊廣告 URL: %@", urlStr);
NSURL *url = [NSURL URLWithString:urlStr];
if (url) {
NSString *path = [url path];
NSLog(@"%@", path);
}
}
- (void)onCloseAd {
NSLog(@"關閉廣告!");
}
@end
Swift
引入 SDK
import iMFAD
class ViewController: UIViewController {
var bannerView: MFBannerView!
override func viewDidLoad() {
super.viewDidLoad()
let point = CGPoint(x: (self.view.frame.size.width-320)/2, y: self.view.frame.size.height-50)
bannerView = MFBannerView(adType: MFAdType.banner320x50, origin: point, bannerId: "21958")
bannerView.delegate = self
self.view.addSubview(bannerView)
bannerView.setAdAutoRefresh(true)
bannerView.debugInfo("info")
}
@IBAction func reqAdAction(_ sender: UIButton) {
bannerView.requestAd()
}
@IBAction func releseAdAction(_ sender: UIButton) {
bannerView.releseAD { state in
if state {
print("bye")
}
}
}
}
extension ViewController: MFBannerDelegate {
// 接收廣告成功
func requestAdSuccess() {
print("接收廣告成功!")
self.bannerView.show()
}
// 接收廣告失敗
func requestAdFail() {
print("接收廣告失敗!")
}
// 點擊廣告
func onClickAd(_ urlStr: String) {
print("點擊廣告 URL: \(urlStr)")
if let url = URL(string: urlStr) {
let path = url.path
print(path)
}
}
func onCloseAd() {
print("關閉廣告!")
}
}
SwiftUI
引入 SDK
import iMFAD
struct ContentView: View {
@ObservedObject var bannerController = BannerAdController()
var body: some View {
ZStack {
VStack {
HStack {
Button("請求廣告") {
bannerController.requestAd()
}
.padding()
.background(Color.blue.opacity(0.1))
.cornerRadius(8)
Button("釋放廣告") {
bannerController.releaseAd()
}
.padding()
.background(Color.blue.opacity(0.1))
.cornerRadius(8)
}
}
}
.onAppear {
DispatchQueue.main.async {
if let windowScene = UIApplication.shared.connectedScenes.first as? UIWindowScene,
let window = windowScene.windows.first {
let screenWidth = window.bounds.size.width
let screenHeight = window.bounds.size.height
let point = CGPoint(x: (screenWidth - 320) / 2, y: screenHeight - 50)
let banner = MFBannerView(adType: MFAdType.banner320x50, origin: point, bannerId: "21958")
banner.delegate = bannerController
window.addSubview(banner)
banner.setAdAutoRefresh(true)
banner.debugInfo("info")
bannerController.bannerView = banner
}
}
}
}
}
class BannerAdController: NSObject, ObservableObject, MFBannerDelegate {
var bannerView: MFBannerView?
// 請求廣告
func requestAd() {
bannerView?.requestAd()
}
// 釋放廣告
func releaseAd() {
bannerView?.releseAD { state in
if state {
print("bye")
}
}
}
// MARK: - MFBannerDelegate
func requestAdSuccess() {
print("接收廣告成功!")
bannerView?.show()
}
func requestAdFail() {
print("接收廣告失敗!")
}
func onClickAd() {
print("點擊廣告!")
}
}