[Cocos Creator][iOS] Cách tích hợp Admob Banner vào Cocos

Bái này mình sẽ hướng dẫn cách tích hợp Admob Banner vào Cocos Creator cho iOS. Sau khi build project từ Cocos Creator, mở project bằng Xcode rồi tiến hành các bước sau:

1. Thêm package “Google Mobile Ads” vào dự án

Từ Navigator panel, chọn tên dự án. Từ menu “File”, chọn “Add package dependencies”. Nhập đường link sau vào phần “Search”

https://github.com/googleads/swift-package-manager-google-mobile-ads.git

Tại phần “Add to Project”, chọn tên dự án đang làm việc sau đó chọn “Add Package”

2. Tạo class quản lý Banner Ad

Nhấp chuột phải vào thư mục “ios”, chọn “New File”, “Cocoa Touch Class”, nhập vào tên “BannerAdManager”. Lúc này Xcode sẽ tạo ra 2 file “BannerAdManager.h” và “BannerAdManager.mm”

3. Nhập nội dung sau vào file BannerAdManager.h

#ifndef BannerAdManager_h
#define BannerAdManager_h

#import <Foundation/Foundation.h>
#import <GoogleMobileAds/GoogleMobileAds.h>

@interface BannerAdManager : NSObject
+(BannerAdManager *)sharedInstance: (UIViewController *)uiController;

@property(nonatomic, strong) GADBannerView *bannerView;
@property(strong, nonatomic) UIViewController* rootController;

- (void)loadAd;

@end

#endif /* BannerAdManager_h */

4. Nhập nội dung sau vào file BannerAdManager.mm

#import "BannerAdManager.h"

@implementation BannerAdManager

+(BannerAdManager *)sharedInstance: (UIViewController *)uiController {
    static dispatch_once_t pred;
    static BannerAdManager *sharedInstance = nil;
    dispatch_once(&pred, ^{
        sharedInstance = [[BannerAdManager alloc] init];
        sharedInstance.rootController = uiController;
        sharedInstance.bannerView = [[GADBannerView alloc]
                                     initWithAdSize:GADAdSizeBanner];
        [sharedInstance addBannerViewToView];
    });
    return sharedInstance;
}

- (void)addBannerViewToView {
    self.bannerView.translatesAutoresizingMaskIntoConstraints = NO;
    [self.rootController.view addSubview:self.bannerView];
    [self.rootController.view addConstraints:@[
        [NSLayoutConstraint constraintWithItem:self.bannerView
                                     attribute:NSLayoutAttributeBottom
                                     relatedBy:NSLayoutRelationEqual
                                        toItem:self.rootController.view.safeAreaLayoutGuide
                                     attribute:NSLayoutAttributeBottom
                                    multiplier:1
                                      constant:0],
        [NSLayoutConstraint constraintWithItem:self.bannerView
                                     attribute:NSLayoutAttributeCenterX
                                     relatedBy:NSLayoutRelationEqual
                                        toItem:self.rootController.view
                                     attribute:NSLayoutAttributeCenterX
                                    multiplier:1
                                      constant:0]
    ]];
}

- (void)loadAd {
    NSString *adUnitID = [[NSBundle mainBundle] objectForInfoDictionaryKey:@"GADBannerUnitID"];
    self.bannerView.adUnitID = adUnitID;
    self.bannerView.rootViewController = self.rootController;
    [self.bannerView loadRequest:[GADRequest request]];
}

@end

5. Thêm vào file AppController.mm nội dung sau:

#import "BannerAdManager.h"
...
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    [[SDKWrapper getInstance] application:application didFinishLaunchingWithOptions:launchOptions];

    // initialize Google admob
    [GADMobileAds.sharedInstance startWithCompletionHandler:nil];
    ...
    [[BannerAdManager sharedInstance:_viewController] loadAd];

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *