Cocos2dx 插入广告

作者: 最怕认真 | 来源:发表于2015-08-12 17:27 被阅读780次

个人开发者只能依靠广告来获取微薄的收入,说起来确实有点可悲,最让人心寒的是,很多用户不理解,要求游戏要好玩,要免费,要没有广告,我只能说,你来。
吐槽完毕!进入正题,在Cocos2dx 中插入广告和直接在Android中插入广告主要的区别在于,在Cocos2dx 中是通过c++来调用Java代码从而实现广告的插入,本文将用插屏广告为例,进行讲解。
完成广告的嵌入,需要做如下准备

1.下载对应广告的SDK
2.修改AppActivity.java
3.构建自定义c++文件并绑定lua
4.修改两个mk文件
5.调用广告

1.下载对应广告的SDK

这点不用讲太多,国内几个类似什么有米啊,友盟啊,不过上平台还是很坑,表示无奈。对应的广告平台都有很详细的介绍,这里就啰嗦了,主要来看第二三点

2.修改AppActivity.java

该文件在

C:\Users\user\Documents\Cocos\Jump\frameworks\runtime-src\proj.android\src\org\cocos2dx\lua

添加一个静态函数,作为c++调用的接口


1.png

然后再handler中做逻辑处理,你要显示的广告就放在这里面,包括以后微信分享啊,什么的,只要通过改变what参数就可以实现各种功能

2.png

3.构建自定义c++文件并绑定lua

关于这点在我的另一篇文章Cocos2dx Lua 绑定有过详细的阐述,对于不了解的朋友,可以先看看,知道怎么了绑定自定义c++之后,我们只要在自定义c++类中来调用java的接口,也就是步骤2中的

public static void showAdverisement(int what)

自定义类的头文件

#ifndef __ColorBlind__ADVERTISEMENT__
#define __ColorBlind__ADVERTISEMENT__
#include <cocos2d.h>
using namespace cocos2d;
#if(CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID)
 
#include "platform/android/jni/JniHelper.h"
#include <jni.h>
 
#endif
 
#include "Cocos2d.h"
USING_NS_CC;
 
class CC_DLL Advertisement
{
public:
    static void showAdvertisement(int);
    static int test();
};
 
#endif 

自定义类的源文件

#include "Advertisement.h"

void Advertisement::showAdvertisement(int what)
{
     //判断当前是否为Android平台 JniMethodInfo showAd;
#if(CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID)
    JniMethodInfo minfo;
    bool isHave = JniHelper::getStaticMethodInfo(minfo,"org/cocos2dx/lua/AppActivity","showAdvertisement", "(I)V");
    if(!isHave)
    {
        CCLog("jni:showAdvertisement is null");
    }
    else
    {
        //调用此函数
        minfo.env->CallStaticVoidMethod(minfo.classID, minfo.methodID,what);
    }
#endif
}

int Advertisement::test()
{
    return 100;
}

4.修改两个mk文件

自定义的c++文件在win32平台自然是没有问题的,但是编译到手机上往往会提示文件不存在等问题,原因便是mk文件没有注明自定义类。
打开

C:\Users\user\Documents\Cocos\Jump\frameworks\cocos2d-x\cocos

下的Android.mk文件

3.png

在LOCAL_SRC_FILES后添加自定义类。

打开

C:\Users\user\Documents\Cocos\Jump\frameworks\cocos2d-x\cocos\scripting\lua-bindings\proj.android

下的Android.mk文件


4.png

在LOCAL_SRC_FILES后添加

 ../auto/lua_cocos2dx_custom_auto.cpp \

5.调用广告

调用广告其实就是调用c++了,在lua中通过cc.自定义类:自定义函数()来调用。这里便是

cc.Advertisement:Advertisement(1)

这样就将调用java中对应的函数来使得广告跳出和隐藏了。

相关文章

  • Cocos2dx 插入广告

    个人开发者只能依靠广告来获取微薄的收入,说起来确实有点可悲,最让人心寒的是,很多用户不理解,要求游戏要好玩,要免费...

  • 广告插入

    周五放学回家,经过建设路口子,买2个蛋烘糕充饥,女儿看见盒子上的广告词 “带不走的成都味”,自己即兴补了一句“带得...

  • cocos2dx 3.x android studio 添加广点

    1,接入广告条 按照官方文档接入的时候遇到个问题,官方文档中是使用的布局文件来显示广告条,但是cocos2dx 没...

  • 无广告插入

    从简书频繁的锁文,到简书交易贝市场关闭,还有评论被吞掉的现象,反正就是毛病一大堆,但这广告是从来没有停止过的。 会...

  • 测试测试

    测试测试 视频广告--可以在视频里插入自己的广告

  • Cocos2dx lua Xcode Mac

    Cocos2dx lua Xcode Mac 1. 下载Cocos2dx 相关文件 2. 新建Cocos2dX l...

  • iOS制作cocos2dx lua SDK

    初识cocos2dx框架cocos2dx项目结构(cocos2dx 3.17) 原生SDK OC语言的桥接文件 l...

  • 广告时长怎么来的?怎么评估影响?

    有一个爱奇艺的员工他做的工作是将广告剪辑插入视频里(不是开头广告),他有个结论: 电视剧插入广告时长13秒最佳,电...

  • cocos2dx 安装使用

    刚刚接触学习Cocos2dx游戏开发,记录分享一下我学习的过程。 cocos2dx游戏开发,Cocos2dx则是开...

  • 文章广告插入写作套路

    广告植入是自媒体收入的重要来源。 很多自媒体在日常经营平台时,会三五不时的推送产品营销的文章。 写的好的广告类文章...

网友评论

  • fa7dea3509ca:感谢楼主的分享知识,学习到一个新的知识。楼主你不妨了解下keymob平台。keymob平台的功能与接口非常完善,它整合了多家主流的移动广告平台,广告资源丰富、填充率高、收益最大化。想了解更多的特色功能进入官网可了解到。官网地址:www.keymob.com
  • garyg:嵌入广告sdk之后调用adview来展示广告,是不是adview跟webview本质上一样啊?也支持html和js?
    最怕认真:@洛克街上 看你用的什么sdk,我用的sdk是传入一个layout即可,其他的sdk自己会初始化,你说的js和html,抱歉,我没用过,所以不会。
    garyg:我纳闷一点哦,就是安卓app里插入广告,最终广告sdk返回的是html和js代码对吗?java的handler怎么实现对html和js的渲染?
    最怕认真:@洛克街上 额,我没太明白你的意思,这篇文章主要是讲在cocos2dx中通过c调用java来实现广告的插入,主要的部分在于自定义c++类,并且通过jni来调用java,而广告的展示依旧是在java中实现,也就是在handler中实现

本文标题:Cocos2dx 插入广告

本文链接:https://www.haomeiwen.com/subject/bwwiqttx.html