目前,游戏开发平台有很多,今天咱们主要介绍Unity3d开发的Android游戏加广点通广告。

1. 下载广点通SDK

    广点通网址:http://e.qq.com/dev/index.html

在 流量合作>我的媒体下>新建媒体 :即我们的APP

创建适合你游戏/app的广告位。广告位类型主要有:Banner(广告条)、插屏、开屏、应用墙,这个需要根据自己的游戏自行选择,如下图:


然后下载SDK:

2. 新建Android项目

2.1打开eclipse,新建一个android项目,如下图:

包名很重要,请务必改为自己游戏的包名,一般包名的格式为:
com.xxx.yyy
“xxx”一般指公司名简写或团队名,
“yyy”一般指项目代号,可以和项目名称(Application Name)不一样

2.2打开AndroidManifest.xml,拷贝以下内容到咱们新建项目的AndroidManifest.xml中:

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /><application
        android:allowBackup="true"android:icon="@drawable/icon"android:label="@string/app_name"><!-- targetSdkVersion >=23 时引用support.v4--><provider
           android:name="android.support.v4.content.FileProvider"android:authorities="com.gdttest.gdt.fileprovider" <!-- 修改为自己的包名-->android:exported="false"android:grantUriPermissions="true"><meta-data
            android:name="android.support.FILE_PROVIDER_PATHS"android:resource="@xml/gdt_file_path" /></provider><!-- 声明SDK所需要的组件 --><service
          android:name="com.qq.e.comm.DownloadService"android:exported="false"/><!-- 请开发者注意字母的大小写,ADActivity,而不是AdActivity --><activity
          android:name="com.qq.e.ads.ADActivity"android:configChanges="keyboard|keyboardHidden|orientation|screenSize"/><activity
            android:name=".MainActivity"android:label="@string/app_name"android:screenOrientation="portrait"  <!--unity 以要设置为portrait,否则会闪退 -->android:configChanges="keyboard|orientation|keyboardHidden|screenSize|screenLayout"><intent-filter><action android:name="android.intent.action.MAIN" /><category android:name="android.intent.category.LAUNCHER" /></intent-filter></activity></application>

2.3 将广点通res文件下的xml文件拷贝到自己的项目包下:

2.4将广点通代码中的Constants.java文件拷贝到自己项目的包里面,将APPId与广告位Id分别替换成自己在广点通网站上申请的媒体Id和广告位Id,在测试的时候就用广点通Demo 的ID,自己申请的只有审核通过才会显示:

public class Constants {//public static final String APPID = "1101152570"; //测试用//public static final String BannerPosID = "9079537218417626401"; //测试用public static final String APPID = "自己的媒体Id";public static final String BannerPosID = "自己的广告条Id";
}

2.5将广点通Demo代码中lib下的GDTUnionSDK.4.15.559.min.jar包,拷贝到自己项目的lib下。另外,还需要导入 Unity3d的classes.jar文件 ,该Jar文件可在 Unity3d安装目录/Editor/Data/PlaybackEngines/AndroidPlayer/Variations/mono or il2cpp/Development or Release/Classes 路径下找到。,自己项目的lib下,如下图:

右键选中这两个包,选择Build Path–》Add to Build Path,将这两个包加到引用里,这样咱们的代码就可以加广点通的广告,以及与Unity3d通讯了。

2.6打开MainActivity.java,添加与Unity3d的通信接口,以及Unity3d调用广告的方法:

import com.qq.e.ads.banner.ADSize;
import com.qq.e.ads.banner.AbstractBannerADListener;
import com.qq.e.ads.banner.BannerView;
import com.qq.e.comm.util.AdError;
import com.unity3d.player.UnityPlayerActivity;import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.os.Handler;
import android.os.Looper;
import android.os.Message;
import android.util.Log;
import android.view.Gravity;
import android.view.Menu;
import android.view.MenuItem;
import android.view.WindowManager;public class MainActivity extends UnityPlayerActivity  {private final static int SHOW_BANNER_AD = 103;private final static int HIDE_BANNER_AD = 105;private static Handler sHandler;private BannerView bannerAD;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);initHandler();}private void initHandler() {sHandler = new Handler() {@Overridepublic void handleMessage(Message msg) {super.handleMessage(msg);switch (msg.what) {case SHOW_BANNER_AD:internalShowBannerAd();break;case HIDE_BANNER_AD:internalHideBannerAd();break;default:break;}}};}private void internalShowBannerAd() {try{this.bannerAD = new BannerView(this, ADSize.BANNER, Constants.APPID, Constants.BannerPosID);    bannerAD.setRefresh(15);this.bannerAD.setADListener(new AbstractBannerADListener() {@Overridepublic void onADReceiv() {// TODO Auto-generated method stub}@Overridepublic void onNoAD(AdError error) {}});WindowManager mWindowManager = (WindowManager) MainActivity.this.getSystemService(Context.WINDOW_SERVICE);WindowManager.LayoutParams mWmParams = new WindowManager.LayoutParams();mWmParams.flags = WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL| WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE;mWmParams.height = WindowManager.LayoutParams.WRAP_CONTENT;mWmParams.width = WindowManager.LayoutParams.WRAP_CONTENT;mWmParams.alpha = 1.0F;mWmParams.format = 1;mWmParams.gravity = Gravity.BOTTOM|Gravity.CENTER;mWindowManager.addView(bannerAD, mWmParams);bannerAD.loadAD();}catch(Exception ex){}}private void internalHideBannerAd() {if(bannerAD!=null){bannerAD.destroy();}}public void hideBannerAd(){sendMsgToHandler(HIDE_BANNER_AD);}public void showBannerAd() {sendMsgToHandler(SHOW_BANNER_AD);}private synchronized void sendMsgToHandler(int type) {Message msg = sHandler.obtainMessage();msg.what = type;msg.sendToTarget();}
}

3.将Android项目作为资源导出

—-》先选中咱们的Android项目
—-》选择project–》Clean

—-》再选择project–》Build Project
(注意:做以上两步操作时,请取消掉Build Automatically的勾选状态)
—-》选择Window>Preferences>General>Wordspace ,修改Text file encoding 为UTF-8,如下图:

进入到咱们的Android项目目录下的bin/classes, 新建名称为BuildJar.txt文件,添加 jar cvf gdt.jar ./com ,保存后修改后缀名为.cmd格式的文件。删除BuildConfig.class和R开头的文件。

删除前:

删除后:

然后双击BuildJar.cmd文件,生成我们需要的Jar文件。

4. Unity3d导入Android项目资源

5.Unity3d调用Android项目资源实现广告

using UnityEngine;
public class GDTAd : MonoBehaviour {AndroidJavaClass mAndroidJavaClass;AndroidJavaObject mAndroidJavaObject;void Start(){try{mAndroidJavaClass = new AndroidJavaClass("com.unity3d.player.UnityPlayer");mAndroidJavaObject = mAndroidJavaClass.GetStatic<AndroidJavaObject>("currentActivity");mAndroidJavaObject.Call("showBannerAd");}catch (Exception ex){}}
}

修改unity 配置:Package Name 修改为Android 包名

修改屏幕方向:

迷失者的路已上传谷歌,欢迎下载试玩。
http://lostway.bmob.site/

Unity3D使用腾讯广点通广告相关推荐

  1. 腾讯广点通广告投放-转化归因API回传接口对接踩坑指南

    对于腾讯广点通广告平台的文档,实在是忍不住要吐槽一番.本来接收到回传接口文档,看到给的PDF文档没有备注说明,但是看到回传方式,挺简单的.以为一下就能搞定了,但是对接下来才发现,各个字段根本不知道什么 ...

  2. unity3d 5.2 添加广点通广告

    今天向项目中添加插屏广告.之前找了一圈,看评论说腾讯的广点通还可以,于是决定放弃有米,试试. 回到正题,之前还没试过用unity3d和java交互.于是先找了一圈的资料.这里先BS下腾讯,你妹的有的是 ...

  3. 广点通广告,oppo广告集成

    年前做的事情,年后才来总结. 因公司项目需要接入广点通广告,花费了一天时间接入到项目中.如何接入项目以及使用,广点通的DEMO已经很详细,很容易理解了,在此不做过多说明. 本想项目上线后再做优化和整合 ...

  4. Cocos2d-x 3.X, IOS版添加广点通广告平台

    苹果自己的广告平台iAD在中国不好使,获取不到广告,所以必须搞个本土广告平台.首先想到的是广点通.可是广点通官方文档里没有针对Cocos2d-x的版本,所以只好自己摸索.在添加过程中确实遇到了不少问题 ...

  5. Cocos2d-x 3.X, Android Studio版添加广点通广告平台

    考虑到以下两点: 1. Cocos2d-x从3.7版开始优化对Android Studio的支持,相信这一趋势还会继续.可惜目前相关帮助文档还不完善,很多东西需要自己摸索. 2. 广点通广告平台的官方 ...

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

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

  7. 腾讯广点通到底是做什么的

    越来越多的人关注并加入腾讯广点通,大部分人其实对其没有多深入的了解.都比较怀疑广点通怎么样,带来的用户质量如何,量多大.下面是一组腾讯广点通几个投放渠道的数据: 1.广点通五大渠道数据: QQ,月活8 ...

  8. 腾讯广点通开屏广告错误码

    Android SDK错误码 错误码 错误类型 描述 3XX 具体类型可联系GDT移动联盟排查 初始化错误 403 HTTP_STATUS_ERROR HHTP状态码错误:建议检查网络状态 404 T ...

  9. 移动推行利器——腾讯广点通移动战略解读

    近日,第九届中国互联网创业者大会移动推行专场在京举行,很多移动推行专家和一线创业者齐聚,一同讨论移动推行之道.现场,腾讯作用广告渠道部总经理罗征启动了腾讯广告联盟,并环绕广点通移动联盟宣告了讲演. 腾 ...

最新文章

  1. oracle 数据泵导出简单使用版
  2. 英特尔是个可以讲理的地儿
  3. 宝塔如何备份网站_学习织梦网站必需会的一件事:织梦网站数据备份
  4. RabbitMQ Fanout
  5. Oracle监听器—静态注册
  6. pytorch梯度的计算过程
  7. python统计词频_Python中文分词及词频统计
  8. 电脑桌面计算机被隐藏怎么恢复,电脑桌面隐藏文件怎样恢复
  9. MATLAB R2021b for Mac 版 支持M1 MacOS12,超级详细步骤。(内附安装包网盘链接)
  10. ( 科来网络分析系统 )简单的抓包步骤,具体的后面文章说
  11. 搜狗浏览器收藏夹误删恢复
  12. Open Aspect Target Sentiment Classification with Natural Language Prompts
  13. SugarCRM源码分析之缓存
  14. 服务请求2XX、5XX等错误具体是什么
  15. 剑灵服务器人数最多,2020剑灵服务器人数排名,剑灵哪个服务器人多
  16. DICOM文件格式剖析(初识)
  17. 调查发现:手机竟然比马桶垫还脏
  18. 杨冰:OceanBase助力数字化转型,原生分布式数据库成核心系统首选
  19. 这么多人去香港开银行账户,想要了解的可以进来看一下
  20. 红黑树、b+树、b树、mysql索引详细剖析

热门文章

  1. 笔记本cpu温度多少算正常
  2. 计算机辅助设计二次开发案例教程,计算机辅助设计二次开发案例教程ch03.ppt
  3. AWS-Lambda 从传入的 S3 Event 里获取信息
  4. Linux 之父自传《just for fun》读书笔记
  5. 湖南计算机高考可填哪些志愿,湖南2021新高考填报志愿指南 可以填报几个志愿...
  6. 搜狗广告联盟不显示广告的原因
  7. 【转载】网络文件夹目前是以其他用户名和密码进行映射的。
  8. 流量红利枯竭是伪命题,VC们全在胡说八道
  9. cmd怎么查看python路径_从cmd如何查找python的安装路径?
  10. MOOC【实用Python程序设计】_026正常血压