Yomob广告在cocos2dx安卓平台的Demo

Yomob 也是一个广告平台:他的使用方式比较简单哈,这里只说说他的步骤

按照官方文档说明配置环境,我使用的是eclipse,在eclipse上自己将文件copy到项目proj.android下,覆盖掉源目录

将项目下的libs目录下的所有的jar文件,选中右键build Path

添加如下代码到Manifest.xml文件的<application>标签下:

        <!-- Inmobi -->
        <activity
            android:name="com.inmobi.rendering.InMobiAdActivity"
            android:configChanges="keyboardHidden|orientation|keyboard|smallestScreenSize|screenSize"
            android:theme="@android:style/Theme.Translucent.NoTitleBar"
            android:hardwareAccelerated="true" />
        <receiver
            android:name="com.inmobi.commons.core.utilities.uid.ImIdShareBroadCastReceiver"
            android:enabled="true"
            android:exported="true" >
                <intent-filter>
                    <action android:name="com.inmobi.share.id" />
                </intent-filter>
         </receiver>

        <!-- TG CP -->
        <activity android:name="com.soulgame.sgsdk.adsdk.TGCPADActivity"
            android:configChanges="keyboardHidden|orientation|screenSize"
            android:theme="@android:style/Theme.Translucent.NoTitleBar.Fullscreen" />

        <!-- DianJoy -->
        <service
            android:name="com.dianjoy.video.DianViewService"
            android:process=":playgame" />
        <activity
            android:name="com.dianjoy.video.DianViewActivity"
            android:launchMode="singleTask"
            android:screenOrientation="landscape"
            android:configChanges="orientation|screenSize|smallestScreenSize|keyboard|keyboardHidden|navigation"/>
        <activity
            android:name="com.dianjoy.video.DianViewAdBrowser"
            android:configChanges="orientation|screenSize"/>

        <!-- AYang -->
        <activity
            android:name="com.afk.client.ads.AdActivity"
            android:configChanges="keyboardHidden|orientation|screenSize"
            android:screenOrientation="sensor"
            android:theme="@android:style/Theme.Light.NoTitleBar.Fullscreen" />

        <activity
            android:name="com.afk.permission.RequestPermissionActivity"
            android:configChanges="keyboardHidden|orientation|screenSize"
            android:screenOrientation="sensor"
            android:theme="@android:style/Theme.Translucent.NoTitleBar.Fullscreen" />

        <service
            android:name="com.afk.client.ads.DownloadService"
            android:exported="false" />

        <!-- Vungle -->
        <activity
            android:name="com.vungle.publisher.VideoFullScreenAdActivity"
            android:configChanges="keyboardHidden|orientation|screenSize"
            android:theme="@android:style/Theme.NoTitleBar.Fullscreen"/>
        <activity android:name="com.vungle.publisher.MraidFullScreenAdActivity"
            android:configChanges="keyboardHidden|orientation|screenSize"
            android:theme="@android:style/Theme.Translucent.NoTitleBar.Fullscreen"/>

        <!-- Domob -->
        <activity
            android:name="com.pad.android_independent_video_sdk.view.DvxVideoActivity"
            android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen"
            android:configChanges="orientation|keyboard|screenSize|screenLayout"/>
        <service android:name="com.pad.android_independent_video_sdk.IndependentService"/>

需要说明的是以上是国内安卓的sdk;其他的sdk请按照官方的文档配置。

直接添加权限到Manifest.xml下的<manifest.xml>的标签下:

    <uses-permission android:name="android.permission.INTERNET"/>
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.GET_TASKS" />
    <uses-permission android:name="android.permission.READ_PHONE_STATE" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
    <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
    <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.CHANGE_CONFIGURATION" />

添加官方给的TGSDKCocos2dxHelper.h和TGSDKCocos2dxHelper.cpp到Classes文件下,记得要在Android.mk文件里面添加他的路径

然后就可以直接在cocos2dx的C++代码里面调用使用了,还有一点需要使用说明的,AppActivity.java 里面需要加入以下代码,否则会报Activity为null。

/****************************************************************************
Copyright (c) 2008-2010 Ricardo Quesada
Copyright (c) 2010-2012 cocos2d-x.org
Copyright (c) 2011      Zynga Inc.
Copyright (c) 2013-2014 Chukong Technologies Inc.

http://www.cocos2d-x.org

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
****************************************************************************/
package org.cocos2dx.cpp;

import java.util.Map;

import org.cocos2dx.lib.Cocos2dxActivity;

import com.soulgame.sgsdk.tgsdklib.TGSDK;
import com.soulgame.sgsdk.tgsdklib.TGSDKServiceResultCallBack;
import com.soulgame.sgsdk.tgsdklib.ad.ITGADListener;
import com.soulgame.sgsdk.tgsdklib.ad.ITGPreloadListener;
import com.soulgame.sgsdk.tgsdklib.ad.ITGRewardVideoADListener;
import com.soulgame.sgsdk.tgsdklib.cocos2dx.TGSDKCocos2dxHelper;

import android.content.Intent;
import android.content.pm.ActivityInfo;
import android.os.Bundle;
import android.util.Log;
import android.view.WindowManager;
import android.widget.RelativeLayout;
import android.view.ViewGroup.LayoutParams;

public class AppActivity extends Cocos2dxActivity {

    private static AppActivity _appActiviy;

    @Override
    protected void onCreate(Bundle savedInstanceState){
        super.onCreate(savedInstanceState);
        getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
        setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);//横屏:根据传感器横向切换
        TGSDK.setDebugModel(true);
        TGSDKCocos2dxHelper.setup(this);
    }

    @Override
    protected void onStart() {
        super.onStart();
        TGSDK.onStart(this);
    }

    @Override
    protected void onStop() {
        super.onStop();
        TGSDK.onStop(this);
    }

    @Override
    protected void onPause() {
        super.onPause();
        TGSDK.onPause(this);
    }

    @Override
    protected void onResume() {
        super.onResume();
        TGSDK.onResume(this);
    }

    @Override
    protected void onDestroy() {
        super.onDestroy();
        TGSDK.onDestroy(this);
    }

    @Override
    protected void onActivityResult(int reqCode, int resCode, Intent data) {
        super.onActivityResult(reqCode, resCode, data);
        TGSDK.onActivityResult(this, reqCode, resCode, data);
    }

}

Yomob的调用代码很简单:

    yomob::TGSDKCocos2dxHelper::setDebugModel(true);
    yomob::TGSDKCocos2dxHelper::initialize("p196wHvufx005lPj2P63");//参数需要自己申请生成,需要特定的包名才能正常显示广告哦,而且他们的资源有时候没有广告,所以要注意下方log信息。
    yomob::TGSDKCocos2dxHelper::preload();

    if (yomob::TGSDKCocos2dxHelper::couldShowAd("vVxf8P1riB0IVfalxPy")) {
            yomob::TGSDKCocos2dxHelper::showAd("vVxf8P1riB0IVfalxPy");

    }

这几行代码官方都有说明,在你需要调用的地方调用即可。

以下给出GitHub Demo·的源代码地址:https://github.com/DiaoYung/YomobDemo;诸位可以在github上下载源码实践。然后运用到自己的项目中。

项目正在上传,请稍后!

时间: 2024-10-22 03:05:27

Yomob广告在cocos2dx安卓平台的Demo的相关文章

cocos2d-x 3.0 WIN7+VS2012 安卓平台搭建

***************************************转载请注明出处:http://blog.csdn.net/lttree****************************************** 题外话: 暑假,重拾cocos2d-x,一年没有接触了,更新到3.0,搭建安卓环境不需要cygwin了.简单了好多呀,就是新建的时候有点麻烦= =. 正文: 一.前期准备工作: 准备几个软件: 1.JDK    地址:http://www.oracle.com/te

cocos2dx安卓客户端接入移动MM付费SDK

C++和java的调用需要使用JNI,这里使用cocos2dx提供的JniHelper就可以满足要求. 以游戏中购买炸弹道具为例 流程图: 先按照文档进行配置: 在Java工程中新建一个包"IAP",作为C++与mmsdk交互的中间层: Handler和Listener可以使用Demo自带的两个类,将Demo2.4.2中的IAPHandler.java和IAPListener.java复制到IAP中: 在package IAP下新建类IAPJni 1 package IAP; 2 3

TYPESDK手游聚合SDK客户端设计思路与架构之二:安卓平台统一化接口结构及思路

在上一篇<TypeSDK聚合sdk设计基本原则>中我们提到了,设计聚合sdk需要设计开发平台部分的接口,以及设计发布平台的聚合这2个大模块.那么我们今天就先来讲讲发布平台之一:安卓平台的统一化接口结构和思路. 一.相关的需求 安卓平台的统一化接口,我们需要考虑到具体以下的几点: 1.对外需要有统一的接口,保证不同的渠道sdk 对同一个游戏来说,是调用相同的接口,传递相同的参数 2.对内需要有一套扩展性很好的框架,可以应对不同渠道的sdk差异性 二.设计的模块 那么针对这些考虑点,安卓平台的统一

安卓开机自启动demo

package com.example.openstart; import android.app.KeyguardManager; import android.app.KeyguardManager.KeyguardLock; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.util.Log; publ

使用UE4发布安卓平台游戏

使用了几天的UE4 ,总算是将游戏在安卓平台运行起来了.其中遇到很多问题,并且最终依然有一些问题没能解决.总体感觉是UE4这款引擎目前还不够成熟,问题较多.没有unity使用起来方便.但是既然开放了,发展必然迅猛,值得期待.其代码也值得游戏开发编程人员研究. 我们来看看具体步骤: 首先,编译出引擎.对于学习目的来说,从网上下载一份就够了,编译步骤简单的描述一下:我们把下载的代码解压到指定的目录,包括UnrealEngine-4.*.*-release.7z,Required_1of2.7z,Re

安卓平台ARM Mali OpenCL例子-灰度转换

手头一块RK3288的板子,在板子上测试了一张1080p的彩色图灰度转换的OpenCL例子.OpenCL没有任何优化.例子请移步这里. 该例子是编译成安卓平台下的可执行程序. 进入jni文件夹,进行如下操作: 对于我的环境,是把可执行文件,kernel.cl和图片push到设备的//mnt/sdcard/opencl/gray路径下.请自行选择. adb连接设备后,执行效果如下图: 对于统计的GPU的时间为:数据来回拷贝时间+kernels执行时间. 在源码中,用时间去统计了kernel执行时间

中科院中文分词系统ICTCLAS如何在安卓平台上使用

============问题描述============ 最近的安卓开发中需要用到中文分词,就用了中科院的这个分词系统,但是按java应用程序方法引入API中的文件(DATA,ICTCLAS,Configure)等程序总会报错,请问有人在安卓平台上用过吗?麻烦告诉我该如何引用,如果有别的分词系统使用方法也可以~~ ============解决方案1============ dll貌似不能行啊...

如何成功运行SDL官方提供的Android平台的Demo

如何成功运行SDL官方提供的Android平台的Demo 作者:雨水  日期:2014-4-30 编写说明:SDL的官方提供了一个Anroid的demo模板SDLActivity,无法直接运行,按照官方的文档操作过程中也会遇到很多问题,这里把我成功编译并运行的过程记录下来,希望对大家有所帮助! SDL简介:SDL是Simple DirectMedia Layer的缩写,它是一套开源的C语言跨平台多媒体开发库,提供了多种控制图像,声音等接口,广泛用于游戏,媒体播放器,模拟器开发等. 基本环境: 1

安卓平台的音视频互动开发平台

兼容Google.HTC.小米.Samsung.华为等主流硬件设备 支持iOS.Web.PC等设备和Android之间的互联互通 视频会话时,默认打开前置摄像头: 能够有Java音视频采集.显示驱动,兼容更多Android设备: 想要在Android平台下实现音视频通信,最快捷的方法是寻找开源项目或调用其他公司封装好的API,接下来小编介绍一款不错的SDK包给大家,(安卓平台的音视频互动开发平台)下面是一些关于如何调用相关API接口的方法,大家可以相互交流交流. Android通信平台相关API