在Unity游戏中植入广告是Unity 游戏产品增加收入的一种重要方式,常用的广告有谷歌Admob,百度ssp,腾讯广点通,unity公司的unityads等等,而使用的最多的应该属于谷歌Admob,所以我们这里以Google admob介绍下

在unity3d中展示广告我选择使用谷歌,听说回报率比较高,也比较公平。

它分了四中类型的广告:横幅广告、插屏广告、激励视频广告和原生广告。

1.下载Unity Admob插件

插件地址https://github.com/unity-plugins/Unity-Admob

2.把Unity Admob插件导入到Unity项目中

unity编辑器asset导入,注意导入的时候选择插件的所有内容,demo.cs和game asset是例子,可以导入也可以忽略,如果有资源较game了就要注意被覆盖的可能

3.加入Admob请求展示广告代码

打开脚本编辑器,加入广告调用的脚本,加入unity脚本的根据自己的逻辑和广告类型选择编写,写完了把脚本拖到主camera上或者其他常驻舞台的物体上

4.Unity中植入Admob横幅广告

横幅广告是最常见也是最简单的广告,点击率和单价比较低,但是展示比较多,收入也还是不错的,用户体验也比较好,不影响用户操作。植入横幅广告的代码

Admob.Instance().initAdmob("admob banner id", "admob interstitial id");//admob id with format ca-app-pub-279xxxxxxxx/xxxxxxxx
Admob.Instance().showBannerRelative(AdSize.Banner, AdPosition.BOTTOM_CENTER, );

非常非常简单,只要初始化设置横幅广告参数,然后调用展示,广告很快会显示出来

广告尺寸和位置都定义好了预设,只要选择一种就好了,非常方便。

5.Unity 中加入插屏广告的例子代码

Admob.Instance().initAdmob("banner id", "institial id");//id is got from apps.admob.com
Admob.Instance().loadInterstitial();

这个代码是初始化广告设置参数,并请求加载广告,广告并不会立刻展示出来,所以也就看不到,没效果。要想看到广告,需要加显示广告的代码。

if (Admob.Instance().isInterstitialReady()) {
Admob.Instance().showInterstitial();
}else{
Admob.Instance().loadInterstitial();
}

而显示广告的时机一般是在游戏过关啊,登录成功啊,或者其他一些暂停性质的状况下,这样不会影响游戏的用户体验。

测试的时候可以加个按钮,点击一下展示

6.Unity中植入Google Admob原生广告
原生广告是样式和游戏App内容嵌入最贴切的一种广告,可以自己设置广告的样式达到和产品整体协调统一,常见的新闻列表中夹杂的广告,游戏图片中夹杂的广告等
Unity之前包含2中原生广告,一种叫express native,一种叫advanced native,现在express native已经被取消了,只剩下了advanced native广告了

这个广告插件是用的advanced native实现了一个快速的native植入方式,展示高级原生广告代码

Admob.Instance().showNativeBannerRelative(new AdSize(,), AdPosition.BOTTOM_CENTER, ,"ca-app-pub-3940256099942544/2934735716");

相比Admob官方的集成方式,这个方式简化了非常非常多,只需要定义广告尺寸,位置和参数就行

当然,如果需要修改样式,则需要对插件里面的样式文件进行修改,ios的xib文件或者android的admoblib-release.aar\res\layout\下的文件,不过对大部分来说,上面一行代码已经够用了,无需做修改

7.Unity中植入视频奖励广告

现在视频广告和视频奖励广告也很常见,虽然对用户体验没那么好,填充也一般,但是单价比较高,有时候好好使用能增加收入不少。设置Admob视频参数并请求加载Admob的视频广告代码

Admob.Instance().loadRewardedVideo("ca-app-pub-3940256099942544/1712485313");

和插屏广告一样,需要调用展示广告才能看到视频广告

if (Admob.Instance().isRewardedVideoReady()) {
Admob.Instance().showRewardedVideo();
}else{
Admob.Instance().loadRewardedVideo("ca-app-pub-3940256099942544/1712485313");
}

显示时机一般和插屏广告类似,以增加收入又不很大影响用户体验为准

好了,Google Admob广告添加到Unity游戏中的介绍介绍了很多了,其他的像Unity Ads,Vungle,inmobi,chartboost,facebook广告之类的都可以直接把平台的sdk和插件适配器加到插件的库里面,以Admob作为广告中介来统一管理,不需要额外写代码,也是非常简单。对于百度ssp,腾讯广点通之类的没有admob适配器的则用类似的上面代码来实现。

一般情况一个游戏里面加上Admob再加一俩个适配器广告就差不多了,太多也会影响游戏的性能和体验

Unity3d开发集成Google Admob广告增加收入的更多相关文章

  1. Android Google AdMob 广告接入示例

    Android Google AdMob 广告接入示例 [TOC] 首先请大家放心,虽然 Google搜索等服务被qiang了,但是 广告服务国内还是可以用的,真是普天同庆啊~~~噗! 其实这篇文章也 ...

  2. unity3d开发的android应用中增加AD系统的详细步骤

    unity3d开发的android应用中增加AD系统的详细步骤 博客分类: Unity3d unity3d  Unity3d已经支持android,怎样在程序里增加admob?  试了一下,确实能够, ...

  3. [Android]彻底去除Google AdMob广告

    应用中包含广告是能够理解的,但经常造成用户误点,或者广告切换时造成下载流量,就有点让人不舒服了. 以下就以Google AdMob广告为例,看怎样彻底去除他. 先分析一下Google AdMob的工作 ...

  4. 彻底去除Google AdMob广告

    应用中包含广告是能够理解的,但经常造成用户误点,或者广告切换时造成下载流量,就有点让人不舒服了. 以下就以Google AdMob广告为例,看怎样彻底去除他. 先分析一下Google AdMob的工作 ...

  5. Google Admob广告Android全攻略1

    一.登录Google AdMob中文官网:http://www.google.cn/ads/admob/   ,注册帐号. 1.点击注册AdMob帐号 2.进入Google帐号注册页面,因为要创建一个 ...

  6. 【Unity与Android】02-在Unity导出的Android工程中接入Google Admob广告

    我在上一篇文章 [Unity与Android]01-Unity与Android交互通信的简易实现) 中介绍了Unity与Android通讯的基本方法. 这一篇开始进入应用阶段,这次要介绍的是如何在An ...

  7. Unity3d Android程序嵌入Admob广告条

    原地址:http://dong2008hong.blog.163.com/blog/static/4696882720140441353482/ Seems like using a simple A ...

  8. Unity3d 游戏中集成Firebase 统计和Admob广告最新中文教程

    之前写过俩相关的教程,最近发现插件官方更新了不少内容,所以也更新一篇Firebase Admob Unity3d插件的教程,希望能帮到大家. Firebase Admob Unity3d插件是一个Un ...

  9. Google Admob移动广告快速集成步骤

    Google Admob移动广告快速集成步骤 第一步:引入依赖包 //admob广告 implementation 'com.google.android.gms:play-services-ads: ...

随机推荐

  1. HashMap 1.8的源码分析一

    public class HashMap<K,V> extends AbstractMap<K,V> implements Map<K,V>, Cloneable, ...

  2. HTML用JS导出Excel的五种方法

    <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...

  3. C#校验手机端或客户端

    以下代码用来检查,客户端是手机端还是PC端 string strUserAgent = Request.UserAgent.ToString().ToLower(); bool isMobile = ...

  4. BAPC 2014:Button Bashing(暴力+bfs)

    题意: 给出n,m,代表微波炉有n个按钮,要求达到总时间为m 然后给出n个数,代表n个按钮能增加的时间,问最少几步,能够使得按出的总时间大于等于要求的时间,并且相差最小 输出最小的步数与相差的最小值 ...

  5. InterruptionInJava

    package com.test; public class InterruptionInJava implements Runnable{ public static void main(Strin ...

  6. 检测客户pc电脑端VC++环境并安装

    CefSharp 是一个非常不错的cef封装.但它依赖于VC++环境. 具体如下: Branch CEF Version VC++ Version .Net Version Status master ...

  7. thinkphp Model的使用

    4.1 放在哪儿?项目/模块/Model目录下以本教程为例,Home模块的Model/Home/Model/目录下 4.2 model类文件叫什么?模型名: DemoModel.class.php 4 ...

  8. Git钩子设置自动构建Jenkins

    打开Git仓库,找到对应的项目,点击“仓库设置”,左侧点击“管理Git钩子”,如下图所示: 因为是push之后触发自动构建的,选择“post-receive”进行编辑 #!/bin/bash #提取分 ...

  9. gitlab 的安装、汉化、卸载

    新机 dell服务器 2核4G 官网: https://about.gitlab.com/install/ 1.本次安装选择版本v10.8.4 wget https://mirrors.tuna.ts ...

  10. PHP jsonencode unicode 存储问题

    首先是这样的,因为输入的字符串的里面有德语的字符,如下: 当我存储到数据库之后,再用json_encode获取到数据库内的这些字符时,出问题了. 直接encode一个字符串"püüäöä&q ...