多盟 sdk android,cocos2dx-3.1 接入多盟广告sdk+Android (2)(示例代码)

上篇,把基本工作做完了,接下来,在C++下加入代码。

1、打开win32下的project,加入一个类。DomobAd。代码例如以下,

show-7938.html

#if (CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID)

#include

#include "platform/android/jni/JniHelper.h"

//#include

#include "cocos2d.h"

#endif

using namespace cocos2d;

class DomobAd

{

public:

DomobAd();

virtual ~DomobAd();

static void showInterstitial();

/*static void initInterstitial();

static void showBanner();

static void hideBanner();*/

};

#include "DomobAd.h"

DomobAd::DomobAd(){}

DomobAd::~DomobAd(){}

//void DomobAd::showBanner()

//{

//#if (CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID)

//JniMethodInfo showBanner;

//bool isHave = JniHelper::getStaticMethodInfo(showBanner, "org/cocos2dx/cpp/AppActivity", "showBannerStatic", "()V");

//if (!isHave) {

//CCLog("jni:showBannerStatic false");

//}

//else{

//

//showBanner.env->CallStaticVoidMethod(showBanner.classID, showBanner.methodID);

//}

//#endif

//}

//void DomobAd::hideBanner()

//{

//#if (CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID)

//JniMethodInfo hideBanner;

//bool isHave = JniHelper::getStaticMethodInfo(hideBanner, "org/cocos2dx/cpp/AppActivity", "hideBannerStatic", "()V");

//if (!isHave) {

//CCLog("jni:hideBannerStatic false");

//}

//else{

//CCLog("jni:hideBannerStatic true");

//

//hideBanner.env->CallStaticVoidMethod(hideBanner.classID, hideBanner.methodID);

//}

//#endif

//}

void DomobAd::showInterstitial()

{

#if (CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID)

JniMethodInfo showInterstitial;

bool isHave = JniHelper::getStaticMethodInfo(showInterstitial, "org/cocos2dx/cpp/AppActivity", "showInterstitialStatic", "()V");

if (!isHave) {

CCLog("jni:showInterstitial false");

}

else{

CCLog("jni:showInterstitial true");

showInterstitial.env->CallStaticVoidMethod(showInterstitial.classID, showInterstitial.methodID);

}

#endif

}

//void DomobAd::initInterstitial()

//{

//#if (CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID)

//JniMethodInfo initInterstitial;

//bool isHave = JniHelper::getStaticMethodInfo(initInterstitial, "org/cocos2dx/cpp/AppActivity", "initInterstitialStatic", "()V");

//if (!isHave) {

//CCLog("jni:initInterstitial false");

//}

//else{

//CCLog("jni:initInterstitial true");

//

//initInterstitial.env->CallStaticVoidMethod(initInterstitial.classID, initInterstitial.methodID);

//}

//#endif

//}

#ifndef __APPMACROS_H__

#define __APPMACROS_H__

#include "cocos2d.h"

#define DESIGN_RESOLUTION_480X320 0

#define DESIGN_RESOLUTION_1024X768 1

#define DESIGN_RESOLUTION_2048X1536 2

/* If you want to switch design resolution, change next line */

#define TARGET_DESIGN_RESOLUTION_SIZE DESIGN_RESOLUTION_480X320

typedef struct tagResource

{

cocos2d::CCSize size;

char directory[100];

}Resource;

static Resource smallResource = { cocos2d::CCSizeMake(480, 320), "iphone" };

static Resource mediumResource = { cocos2d::CCSizeMake(1024, 768), "ipad" };

static Resource largeResource = { cocos2d::CCSizeMake(2048, 1536), "ipadhd" };

#if (TARGET_DESIGN_RESOLUTION_SIZE == DESIGN_RESOLUTION_480X320)

static cocos2d::CCSize designResolutionSize = cocos2d::CCSizeMake(480, 320);

#elif (TARGET_DESIGN_RESOLUTION_SIZE == DESIGN_RESOLUTION_1024X768)

static cocos2d::CCSize designResolutionSize = cocos2d::CCSizeMake(1024, 768);

#elif (TARGET_DESIGN_RESOLUTION_SIZE == DESIGN_RESOLUTION_2048X1536)

static cocos2d::CCSize designResolutionSize = cocos2d::CCSizeMake(2048, 1536);

#else

#error unknown target design resolution!

#endif

// The font size 24 is designed for small resolution, so we should change it to fit for current design resolution

#define TITLE_FONT_SIZE (cocos2d::CCEGLView::sharedOpenGLView()->getDesignResolutionSize().width / smallResource.size.width * 24)

#endif /* __APPMACROS_H__ */

//在helloworldscene.cpp加入例如以下代码就可以:
 CCMenuItemLabel  * closeInterstital=CCMenuItemLabel::create(CCLabelTTF::create("showInterstital", "Helvetica", 40),this, menu_selector(HelloWorld::menuShowInterstitialCallback));

void HelloWorld::menuShowInterstitialCallback(cocos2d::CCObject* pSender){

DomobAd::showInterstitial();

}

//JniHelper 类是cocos提供的。详细使用方法:http://blog.csdn.net/luxiaoyu_sdc/article/details/15874505点击打开链接

下片再继续
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值