【IOS篇】Cocos2d-x集成Chartboost广告
最近在弄Cocos2d-x IOS平台上面的Chartboost广告,特此写这篇文章来做一下记录:
1. 注册一个Chartboost账号:www.chartboost.com
2. 登录账号,然后添加一个IOS应用,如下图:
3. 然后添加一个“Campaigns”(活动),只要填写:活动的名字和添加已经创建好的应用到这个活动中就可以了,其他内容默认就行,如下图:
4. 创建了应用之后,你可以拿到这个应用的App ID和App Signature,这两个东西等一下要加到代码里面,具体如下图:
5. 下载Chartboost最新的广告SDK:https://help.chartboost.com/downloads,
并搭建好Xcode环境,具体参考官网文档:https://help.chartboost.com/documentation/ios
6. 下载附件中的文件,这里面是已封装好的C++调用IOS的代码,到时候直接就可以在C++代码里面通过调用封装好的接口来控制弹出Chartboost广告的时机。【由于CSDN不支持上传附件,请转移到git上面下载】
或者直接去git上面下载相应的工程源代码和例子工程:https://github.com/wenbin1989/Chartboost-x
7. 解压附件中的文件,你会看到用分别用以下几个文件:ChartboostX.h , CBAnalytics.h, ChartboostX_ios.mm, 然后把ChartboostX.h添加到classed目录下,其他两个就添加到iOS目录下,如图:
注意:如果是从git上面下载了上面3个文件的话,运行的时候编译器ChartboostX_ios.mm里面会报错:
原因是我用的Chartboost的版本是目前最新的Version 4.2 for iOS ,是ios版本的问题,不过Chartboost上面有做兼容性处理,只要将上面出错的那3行代码修改成就可以了:
尽管编译器会有warning,不过运行起来是没有问题的。原因具体可以参考:http://stackoverflow.com/questions/22775904/compiler-error-about-conflicting-parameter-types-and-incompatible-conversion-for
8. 用法其实很简单,直接在AppDelegate.cpp中的applicationDidFinishLaunching()函数中调用以下代码来初始化:
// 设置Chartboost的应用对应的App ID和 App signature
ChartboostX::sharedChartboostX()->setAppId(“Your_app_id”);
ChartboostX::sharedChartboostX()->setAppSignature(“Your_app_signature”);
ChartboostX::sharedChartboostX()->startSession();
9. 接着就只需要在要调用Chartboost全屏广告的地方编写以下代码就可以启动广告了:
ChartboostX::sharedChartboostX()->showInterstitial();
注:如果想实现其他Chartboost提供的接口,可以直接集成ChartboostXDelegate然后重写它里面的具体方法就可以了,如: