Admob là mạng quảng cáo phổ biến
nhất trên các ứng dụng di động.
Vào trang web tải gói framework
của nó về, giải nén ra, kéo vào cây thư mục bên trái ứng dụng. Màn hình bật ra
nhớ tích chọn Copy items
if needed.
Một số cách hướng dẫn khác không
dùng kéo thả, không có cửa sổ bật ra để xác nhận Copy if needed sẽ dẫn đến lỗi không truy xuất được thư viện quảng cáo.
Nháy vào gốc cây thư mục màu
xanh ở trên, chọn Build phases, kiểm
tra Link Binary with Libraries đã có gói framework.
Tiếp theo nháy vào Build Settings, ở ô tìm kiếm, gõ vào bitcode. Trong Build Options, để dòng Enable Bitcode là No.
Nhập thư viện quảng cáo vào
import GoogleMobileAds
Thêm dòng sau vào mở đầu class
GADBannerViewDelegate
Khai báo banner sẽ để trên cùng
của ứng dụng.
var adMobBannerView = GADBannerView()
let ADMOB_BANNER_UNIT_ID = "ca-app-pub-3940256099942544/2934735716"
Banner cao 50dp nên các nội dung
ứng dụng khi định vị bạn để xuống dưới, tức y >50.
Thêm dòng sau vào trong
viewDidLoad
initAdMobBanner()
Copy các hàm cần dùng xuống
trên ngoặc đóng cuối cùng.
func initAdMobBanner() {
ifUIDevice.currentDevice().userInterfaceIdiom == .Phone {
// iPhone
adMobBannerView.adSize=GADAdSizeFromCGSize(CGSize(width: 320, height: 50))
adMobBannerView.frame = CGRect(x: 0, y: 0, width: 320, height: 50)
}
else{
// iPad
adMobBannerView.adSize=GADAdSizeFromCGSize(CGSize(width: 468, height: 60))
adMobBannerView.frame = CGRect(x: 0, y: 0, width: 468, height: 60)
}
//view.frame.size.height
adMobBannerView.adUnitID = ADMOB_BANNER_UNIT_ID
adMobBannerView.rootViewController = self
adMobBannerView.delegate = self
view.addSubview(adMobBannerView)
let request = GADRequest()
adMobBannerView.loadRequest(request)
}
// Hide the banner
func hideBanner(banner: UIView) {
UIView.beginAnimations("hideBanner", context: nil)
banner.frame = CGRect(x: view.frame.size.width/2 - banner.frame.size.width/2, y: view.frame.size.height - banner.frame.size.height, width: banner.frame.size.width, height: banner.frame.size.height)
UIView.commitAnimations()
banner.hidden = true
}
// Show the banner
func showBanner(banner: UIView) {
UIView.beginAnimations("showBanner", context: nil)
banner.frame = CGRect(x: view.frame.size.width/2 - banner.frame.size.width/2, y: 0, width: banner.frame.size.width, height: banner.frame.size.height)
//view.frame.size.height
- banner.frame.size.height
UIView.commitAnimations()
banner.hidden = false
}
// AdMob banner
available
func adViewDidReceiveAd(_view: GADBannerView!) {
showBanner(adMobBannerView)
}
// NO AdMob banner
available
func adView(_view: GADBannerView!,
didFailToReceiveAdWithError error: GADRequestError!) {
hideBanner(adMobBannerView)
}
adMobBannerView.frame = CGRect(x: 0, y: 0, width: 320, height: 50)
adMobBannerView.frame = CGRect(x: 0, y: 0, width: 468, height: 60)
Để y là chiều cao màn hình trừ
đi 50, y:c-50, c bạn lấy từ lệnh.
let c = UIScreen.mainScreen().bounds.size.height
Nếu muốn banner
nó quay dọc ra vì game hay để màn hình ngang, hãy thêm vào trong viewDidLoad
các dòng.
UIView.animateWithDuration(0.0, animations: {
self.adMobBannerView.transform = CGAffineTransformMakeRotation(CGFloat(90) * CGFloat(M_PI)/180)
})
Chú ý set lại x, y bên trên cho
đúng vị trí muốn có.
Chạy thử xem kết quả.
Nếu máy ảo có internet, nó cũng
sẽ hiện quảng cáo như trên, đó là banner mẫu của Admob, bạn thay dòng.
let
ADMOB_BANNER_UNIT_ID = "ca-app-pub-3940256099942544/2934735716"
bằng mã số của ứng dụng sẽ ra quảng
cáo chuẩn.
Chú ý phải chắc chắn có quảng
cáo mẫu chạy ra kẻo đến lúc submit có thể bị reject vì bạn khai có quảng cáo mà không thấy đâu !
Hiện nay iphone X có khoảng trên đầu bị che cao 30pt nên ta phải chỉnh giá trị y: 0 thành y: 30 để quảng cáo không bị che mất. Bạn có thể dùng lệnh if để lùi xuống 30pt với riêng iphone X thôi. Khi đó ta biết chiều cao iphone X là 812, rộng 375 nên lệnh if sẽ như sau.if (cao==812){
le=30
}
Trong đó le là biến để set cho giá trị y: CGFloat(0+le)
Kinh nghiệm cho thấy nên để quảng
cáo tối thiểu, nhiều quảng cáo sẽ khiến người dùng khó chịu, dễ gỡ app, hoặc
không chịu click !
No comments:
Post a Comment