iOSSDK AdMob功能接入说明

1.接入须知

1.接入龙图iOSSDK的游戏及应用的iOS客户端开发者。
2.使用此文档内接口,需要先接入龙图iOSSDK(详情查看龙图iOSSDK文档,当前支持龙图官网最新版本)。

注:AdMob iOS终端SDK接入教程,只涉及SDK的使用方法。

1.0 开发要求


  • iOS 10.0 及以上版本

  • XCode 13 及以上版本

  • 1.1 申请你的AppID

    GADApplicationIdentifier:必传参数,联系运营支持获取参数并配置到info.plist即可。

    1. <key>GADApplicationIdentifier</key>
    2. <string>联系运营获取</string>

    1.2 下载SDK包和示例Demo

    在官网下载对应SDK和demo

    1.3 开发环境配置

    1、需要引入的三方库

    2、必须在 Xcode Build Settings 里面 Other Linker Flags 设置值 -ObjC。
    该项如果设置错误,运行时就会出现异常:unrecognized selector sent to instance exception

    3、SKAdNetwork归因解决方案
    要使用SKAdNetwork IDs配置您的应用程序,请将 AdMob SKAdnetwork ID和您要向其销售的所有 DSP 的 ID 添加到Info.plist文件,这些文件经常更新,需要在接入前联系运营支持获取.

    2 AdMob功能接入

    首先声明SDK头文件

    1. #import <LTAdMobSDK/LTAdMobSDK.h>

    3 启动接口

    接口说明
    生命周期方法

    1. /**
    2. * 启动接口
    3. */
    4. - (BOOL)LTAdMobSDKApplication:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions;

    接入方法

    1. /**
    2. * 启动接口
    3. */
    4. [[LTAdMobSDK sharedInstance] LTAdMobSDKApplication:application didFinishLaunchingWithOptions:launchOptions];

    4 插屏激励广告

    4.1 加载插屏广告

    接口说明
    加载并缓存插屏广告

    1. /// 加载插页广告
    2. /// @param unitId 广告单元ID
    3. - (void)LTAdMobSDKLoadAD:(NSString *)unitId;

    接入方法

    1. [[LTAdMobSDK sharedInstance] LTAdMobSDKLoadAD:@"广告单元ID"];

    4.2 展示插屏广告

    接口说明
    展示插屏广告

    1. /// 展示插页广告
    2. /// @param viewController 当前控制器
    3. - (void)LTAdMobSDKShowADView:(UIViewController *)viewController;

    接入方法

    1. [[LTAdMobSDK sharedInstance] LTAdMobSDKShowADView:UIViewController];

    4.3 缓存并展示插屏广告

    接口说明
    缓存并展示插屏广告

    1. /// 加载并展示插页广告
    2. /// @param viewController 当前控制器
    3. /// @param unitId 广告单元ID
    4. - (void)LTAdMobSDKLoadAndShowADView:(UIViewController *)viewController unitId:(NSString *)unitId;

    接入方法

    1. [[LTAdMobSDK sharedInstance] LTAdMobSDKLoadAndShowADView:UIViewController unitId:@"广告单元ID"];

    5 代理方法

    接口说明
    LTMopubRewardAdDelegate可以实现全部或部分代理,以跟踪点击成功或者视频广告请求失败等广告生命周期事件。

    1. //首先声明代理
    2. @interface 类名 ()<LTAdMobSDKDelegate>
    3. //其次设置代理
    4. [LTAdMobSDK sharedInstance].delegate = self;

    5.1 广告代理

    5.1.1 代理说明

    设置完成后实现以下代理

    1. /// 广告加载完成
    2. - (void)LTAdMobSDKadDidLoadAd;
    3. /// 广告加载失败
    4. /// @param error 错误
    5. - (void)LTAdMobSDKadDidFailedToLoadAd:(NSError *_Nonnull)error;
    6. /// 发放奖励
    7. /// @param type 奖励类型
    8. /// @param amount 奖励数量
    9. - (void)LTAdMobSDKadRewardToUser:(NSString *)type amount:(NSDecimalNumber *)amount;
    10. /// 展示广告失败.
    11. - (void)LTAdMobSDKadDidFailToPresentFullScreenContentWithError:(nonnull NSError *)error;
    12. /// 将要展示广告
    13. - (void)LTAdMobSDKadWillPresentFullScreenContent;
    14. /// 已经关闭广告
    15. - (void)LTAdMobSDKadDidDismissFullScreenContent;
    16. /// 记录一次展示
    17. - (void)LTAdMobSDKadDidRecordImpression;
    18. /// 记录一次点击
    19. - (void)LTAdMobSDKadDidRecordClick;
    20. /// 将要关闭广告
    21. - (void)LTAdMobSDKadWillDismissFullScreenContent;

    5.1.2 代理实现

    1. - (void)LTAdMobSDKadDidDismissFullScreenContent {
    2. NSLog(@"LTAdMobSDKadDidDismissFullScreenContent");
    3. }
    4. - (void)LTAdMobSDKadDidFailToPresentFullScreenContentWithError:(nonnull NSError *)error {
    5. NSLog(@"LTAdMobSDKadDidFailToPresentFullScreenContentWithError:%@",error);
    6. }
    7. - (void)LTAdMobSDKadDidFailedToLoadAd:(NSError * _Nonnull)error {
    8. NSLog(@"LTAdMobSDKadDidFailedToLoadAd:%@",error);
    9. }
    10. - (void)LTAdMobSDKadDidLoadAd {
    11. NSLog(@"LTAdMobSDKadDidLoadAd");
    12. dispatch_async(dispatch_get_main_queue(), ^{
    13. UIAlertController *alert = [UIAlertController alertControllerWithTitle:@"demo提示"
    14. message:@"加载完成"
    15. preferredStyle:UIAlertControllerStyleAlert];
    16. UIAlertAction *sexMan = [UIAlertAction actionWithTitle:@"确定" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {
    17. }];
    18. UIAlertAction *sexMan1 = [UIAlertAction actionWithTitle:@"展示广告" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {
    19. [[LTAdMobSDK sharedInstance] LTAdMobSDKShowADView:self];
    20. }];
    21. [alert addAction:sexMan];
    22. [alert addAction:sexMan1];
    23. [self presentViewController:alert animated:YES completion:nil];
    24. });
    25. }
    26. - (void)LTAdMobSDKadRewardToUser:(NSString *)type amount:(NSDecimalNumber *)amount{
    27. NSLog(@"LTAdMobSDKadRewardToUser type = %@,amount = %@",type,amount);
    28. }
    29. - (void)LTAdMobSDKadDidRecordClick {
    30. NSLog(@"LTAdMobSDKadDidRecordClick");
    31. }
    32. - (void)LTAdMobSDKadDidRecordImpression {
    33. NSLog(@"LTAdMobSDKadDidRecordImpression");
    34. }
    35. - (void)LTAdMobSDKadWillDismissFullScreenContent {
    36. NSLog(@"LTAdMobSDKadWillDismissFullScreenContent");
    37. }
    38. - (void)LTAdMobSDKadWillPresentFullScreenContent {
    39. NSLog(@"LTAdMobSDKadWillPresentFullScreenContent");
    40. }