说明

  • 接入穿山甲广告SDK

  • 将Cocos Creator工程打包,在手机上运行,看能否正常运行游戏,保证游戏没有问题的前提下再引入SDK所需要的各种包

  • 根据文档引入各种包,文档地址:https://partner.oceanengine.com/union/media/union/download/detail?id=1&osType=ios

  • 按前面步骤引入包后,再打包,测试游戏能否正常运行,能正常运行,说明引入包没有问题

开屏广告

  • 开屏广告是穿山甲中最简单的广告,在打开游戏App后即显示的广告
  • 引入头文件
#import <BUAdSDK/BUAdSDKManager.h>
#import <BUAdSDK/BUSplashAdView.h>
  • 继承
*@interface xxxxxxxxx () <BUSplashAdDelegate>
//xxxxxxxxx 是你自己的类名
@end
  • 初始化(SDK文档中有,照做就OK)
[BUAdSDKManager setAppID:@"xxxxxx"]; //xxxxxx是你在穿山甲后台对应的appid
[BUAdSDKManager setIsPaidApp:NO];
[BUAdSDKManager setLoglevel:BUAdSDKLogLevelDebug];float scale = [[UIScreen mainScreen] scale];
CGRect frame=[UIScreen mainScreen].bounds;
BUSplashAdView *splashView = [[BUSplashAdView alloc] initWithSlotID:@"yyyyyyyyyy" frame:frame];
//yyyyyyyyyy是你在穿山甲后台对应的广告位Id
splashView.delegate = self;
UIWindow *keyWindow =[UIApplication sharedApplication].windows.firstObject;
[splashView loadAdData];
[keyWindow.rootViewController.view addSubview:splashView];
splashView.rootViewController = keyWindow.rootViewController;
  • 当开屏广告被关闭时
- (void) splashAdDidClose:(BUSplashAdView *)splashAd{[splashAd removeFromSuperview];     [AppController SetOrientation:@""];  //强制竖屏转横屏
}

开屏广告的问题

  • cocos creator游戏是横屏的,而穿山甲开屏广告只有竖屏的
  • AppController 中加入【强制横屏转竖屏】及【强制竖屏转横屏】的方法
  • 方法如下:
UIInterfaceOrientationMask oMask = UIInterfaceOrientationMaskLandscape;-(UIInterfaceOrientationMask)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window{return oMask;
}+(void)SetOrientation:(NSString*)dir{[[UIDevice currentDevice] setValue:[NSNumber numberWithInteger:UIDeviceOrientationUnknown] forKey:@"orientation"];if([dir isEqualToString:@"V"]){oMask = UIInterfaceOrientationMaskPortrait;[[UIDevice currentDevice] setValue:[NSNumber numberWithInteger:UIInterfaceOrientationPortrait] forKey:@"orientation"];}else{oMask = UIInterfaceOrientationMaskLandscape;[[UIDevice currentDevice] setValue:[NSNumber numberWithInteger:UIInterfaceOrientationLandscapeLeft] forKey:@"orientation"];}
}
  • 在打开穿山甲开屏广告前,调用【强制横屏转竖屏】方法:[AppController SetOrientation:@"V"];
  • 在穿山甲开屏广告结束的回调中,【强制竖屏转横屏】调用:[AppController SetOrientation:@""];

激励广告

  • 根着SDK文档照做(略)
  • 注: 以下示例我将类命名为:CsjAdReward
  • CsjAdReward.h 部分代码如下
@interface CsjAdReward  : UIViewController
+(CsjAdReward *) getAdInstance;            //用来获取实例的方法
-(void) OpenAd;
@end
  • CsjAdReward.m 部分代码如下
#import "CsjAdReward.h"
#import <BUAdSDK/BURewardedVideoModel.h>
#import <BUAdSDK/BUNativeExpressRewardedVideoAd.h>
#import "AppController.h"
#import <BUAdSDK/BUAdSDKManager.h>
#import "RootViewController.h"
@interface CsjAdReward ()<BUNativeExpressRewardedVideoAdDelegate>
@property (nonatomic,strong) BUNativeExpressRewardedVideoAd *rewardedVideoAd;
@endstatic CsjAdReward *instance;  //这里声明一下静态实例,方便javascript层调用
@implementation CsjAdReward//获取实例的方法,方便javascript层调用
+(CsjAdReward *) getAdInstance{return instance;
}//初始化,根着SDK文档照做就好了
- (void) viewDidLoad {NSLog(@"viewDidLoad");instance=self;[BUAdSDKManager setAppID:@"5043574"];[BUAdSDKManager setIsPaidApp:NO];[BUAdSDKManager setLoglevel:BUAdSDKLogLevelDebug];BURewardedVideoModel *model=[[BURewardedVideoModel alloc]init];model.userId=@"ming123";self.rewardedVideoAd=[[BUNativeExpressRewardedVideoAd alloc] initWithSlotID:@"945009897" rewardedVideoModel:model];self.rewardedVideoAd.delegate=self;[self.rewardedVideoAd loadAdData];
}//打开激励视频的方法
-(void) OpenAd{if(self.rewardedVideoAd.isAdValid){[self.rewardedVideoAd showAdFromRootViewController:self];}
}//视频结束的回调
- (void)nativeExpressRewardedVideoAdDidClose:(BUNativeExpressRewardedVideoAd *)rewardedVideoAd{NSLog(@"rewardedVideoAdDidClose");[self.rewardedVideoAd loadAdData];      //视频结束后,再加载一次广告数据,保证广告的不重复
}
  • AppController中初始化
  • didFinishLaunchingWithOptions方法中,在viewController初始化后,调用CsjAdReward的初始化,代码如下:
UIViewController *_csjAdReward= [[CsjAdReward alloc] init];
[_viewController.view addSubview:_csjAdReward.view];
  • Appcontroller中的静态方法,用于javascript中调用并打开激励视频广告
+ (void)CsjAdRewardOpen {NSLog(@"打开激励视频");[[CsjAdReward getAdInstance] OpenAd];
}
  • Cocos CreatorjavaScript中调用方法
public static CsjAdRewardOpen()
{if ('jsb' in window) {if (cc.sys.os == cc.sys.OS_IOS) {jsb.reflection.callStaticMethod("AppController", 'CsjAdRewardOpen');return;}}
}

CocosCreator接入穿山甲广告(IOS)相关推荐

  1. CocosCreator接入穿山甲广告1-激励视频

    首先进入文档后要先去下载它文档里的sdk,这个压缩包里面含有demo,没有头绪的朋友可以进入他的工程看下,也可在模拟器上运行一下它的demo看下效果.下载完后可以进入他工程下的libs的文件夹里把两个 ...

  2. CocosCreator接入穿山甲广告总结

    最近项目开始接入国内广告变现,接的是穿山甲sdk广告,接入的过程真的是各种坎坷,我会分为激励视频,插屏广告,底部banner三部分,在后续的文章中会一点点详细的把这三部分都总结出来,给有恰好需要的朋友 ...

  3. CocosCreator接入穿山甲SDK(IOS)--激励视屏

    参考 环境:MAC,xCode11,CocosCreator2.3.1 有关CocosCreator与Object-C如何交互的问题,参考文章: https://blog.csdn.net/ZFSR0 ...

  4. CocosCreator接入穿山甲广告2-插屏广告

    看过上一篇文章的小伙伴,我这里就不在进行对初始化等进行墨迹,直接上插屏广告的逻辑,一般在游戏比如关卡结束的时候会弹出插屏广告. 穿山甲sdk初始化后,在oncreate方法里直接调用chuanShan ...

  5. CocosCreator接入穿山甲广告3-底部banner

    SDK初始化的问题我就不在继续说了,前面的文章说过了,直接说接banner的逻辑,说到这banner确实是有些麻烦,因为demo给的工程是一个android工程,和游戏的android工程还有些不一样 ...

  6. Unity接入穿山甲广告(使用Unity3D插件)

      最近要接入穿山甲广告,我把穿山甲广告相关的接入流程记录一下,说说最近踩过的坑,和怎么解决的问题.注意我们需求是只发安卓包没有iOS的需求,本篇只介绍Unity接入安卓相关的处理(帖子是2019年底 ...

  7. Unity接入穿山甲广告SDK(以及GroMoreDemo)

    Unity接入穿山甲广告SDK(以及GroMoreDemo) 下载安装 穿山甲官网SDK下载链接(https://www.csjplatform.com/union/media/union/downl ...

  8. 无需上架,接入穿山甲广告和广点通广告 sdk

    我们都知道广告是商业流量变现最重要的方式之一,所以基本所有的游戏或者app都会接入广告sdk,而我们都知道穿山甲广告sdk和广点通广告sdk是国内收益相对比较高的,但是想接入穿山甲广告sdk,你的游戏 ...

  9. 【记录】穿山甲广告iOS版SDK接入记录

    官方接入文档 获取 framework 文件 (平台接入模块->SDK下载与接入文档),要先注册 其他参考 Creator iOS接入穿山甲SDK 1.集成SDK 这里采用pod pod Ads ...

最新文章

  1. 手动将jar包导入pom依赖,让jar包适配本地maven项目
  2. 如何实现RESTful Web API的身份验证
  3. java防止表单重复提交
  4. 科大星云诗社动态20210309
  5. java x%y_java中的运算符
  6. 【OOB】MSHTML!CPaste­Command::Convert­Bitmapto­Png heap-based buffer overflow学习
  7. Shoulda, Woulda, Coulda
  8. android电容触摸驱动
  9. CHKRecovery(文件删除还原工具)v3.3.0绿色版
  10. Python编程工具IDLE快捷键
  11. Android Fingerprint完全解析(二) :Fingerprint启动流程
  12. 屏蔽google adsense和百度推广的广告
  13. with dlz mysql 条件_BIND+DLZ+MYSQL实现区域记录动态更新
  14. java时间加30天_java实现,怎么在当前时间往后推三十天
  15. 简单的EasyUI登录界面
  16. 电脑使用技巧(Win10修改窗口背景颜色)
  17. 2023 年软件文档工具,这5款可以看看!
  18. 【霍尔榜】BJ金属3D打印常见问题解析
  19. Qt运行过程中错误未找到信号的符号undefined symbol: _ZN11FileManager12sigTechFilesE4QMapIi7QSt
  20. 今天,你开发了吗?有成为这1/1000000了吗

热门文章

  1. spring boot 整合 jetcache 相关错误
  2. 二十一. 智能驾驶之基于视觉识别和点云聚类的障碍物检测
  3. EDI 820 付款委托书或汇款通知
  4. chatgpt论文润色
  5. onkeydown,onkeyup,onkeypress,onclick,ondblclick
  6. Delphi调用LibVLC播放视频,窗口如何响应键盘鼠标的消息?OnClick、OnDblClick、OnMouseMove
  7. 【算法】LeetCode:字符串篇
  8. EventBus使用、案例、代码混淆报错
  9. ubuntu中用apt命令安装、卸载软件
  10. TCS·开发区规划【前缀和】