Unity3d开发集成Google Admob广告增加收入
在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广告增加收入的更多相关文章
- Android Google AdMob 广告接入示例
Android Google AdMob 广告接入示例 [TOC] 首先请大家放心,虽然 Google搜索等服务被qiang了,但是 广告服务国内还是可以用的,真是普天同庆啊~~~噗! 其实这篇文章也 ...
- unity3d开发的android应用中增加AD系统的详细步骤
unity3d开发的android应用中增加AD系统的详细步骤 博客分类: Unity3d unity3d Unity3d已经支持android,怎样在程序里增加admob? 试了一下,确实能够, ...
- [Android]彻底去除Google AdMob广告
应用中包含广告是能够理解的,但经常造成用户误点,或者广告切换时造成下载流量,就有点让人不舒服了. 以下就以Google AdMob广告为例,看怎样彻底去除他. 先分析一下Google AdMob的工作 ...
- 彻底去除Google AdMob广告
应用中包含广告是能够理解的,但经常造成用户误点,或者广告切换时造成下载流量,就有点让人不舒服了. 以下就以Google AdMob广告为例,看怎样彻底去除他. 先分析一下Google AdMob的工作 ...
- Google Admob广告Android全攻略1
一.登录Google AdMob中文官网:http://www.google.cn/ads/admob/ ,注册帐号. 1.点击注册AdMob帐号 2.进入Google帐号注册页面,因为要创建一个 ...
- 【Unity与Android】02-在Unity导出的Android工程中接入Google Admob广告
我在上一篇文章 [Unity与Android]01-Unity与Android交互通信的简易实现) 中介绍了Unity与Android通讯的基本方法. 这一篇开始进入应用阶段,这次要介绍的是如何在An ...
- Unity3d Android程序嵌入Admob广告条
原地址:http://dong2008hong.blog.163.com/blog/static/4696882720140441353482/ Seems like using a simple A ...
- Unity3d 游戏中集成Firebase 统计和Admob广告最新中文教程
之前写过俩相关的教程,最近发现插件官方更新了不少内容,所以也更新一篇Firebase Admob Unity3d插件的教程,希望能帮到大家. Firebase Admob Unity3d插件是一个Un ...
- Google Admob移动广告快速集成步骤
Google Admob移动广告快速集成步骤 第一步:引入依赖包 //admob广告 implementation 'com.google.android.gms:play-services-ads: ...
随机推荐
- HashMap 1.8的源码分析一
public class HashMap<K,V> extends AbstractMap<K,V> implements Map<K,V>, Cloneable, ...
- HTML用JS导出Excel的五种方法
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...
- C#校验手机端或客户端
以下代码用来检查,客户端是手机端还是PC端 string strUserAgent = Request.UserAgent.ToString().ToLower(); bool isMobile = ...
- BAPC 2014:Button Bashing(暴力+bfs)
题意: 给出n,m,代表微波炉有n个按钮,要求达到总时间为m 然后给出n个数,代表n个按钮能增加的时间,问最少几步,能够使得按出的总时间大于等于要求的时间,并且相差最小 输出最小的步数与相差的最小值 ...
- InterruptionInJava
package com.test; public class InterruptionInJava implements Runnable{ public static void main(Strin ...
- 检测客户pc电脑端VC++环境并安装
CefSharp 是一个非常不错的cef封装.但它依赖于VC++环境. 具体如下: Branch CEF Version VC++ Version .Net Version Status master ...
- thinkphp Model的使用
4.1 放在哪儿?项目/模块/Model目录下以本教程为例,Home模块的Model/Home/Model/目录下 4.2 model类文件叫什么?模型名: DemoModel.class.php 4 ...
- Git钩子设置自动构建Jenkins
打开Git仓库,找到对应的项目,点击“仓库设置”,左侧点击“管理Git钩子”,如下图所示: 因为是push之后触发自动构建的,选择“post-receive”进行编辑 #!/bin/bash #提取分 ...
- gitlab 的安装、汉化、卸载
新机 dell服务器 2核4G 官网: https://about.gitlab.com/install/ 1.本次安装选择版本v10.8.4 wget https://mirrors.tuna.ts ...
- PHP jsonencode unicode 存储问题
首先是这样的,因为输入的字符串的里面有德语的字符,如下: 当我存储到数据库之后,再用json_encode获取到数据库内的这些字符时,出问题了. 直接encode一个字符串"püüäöä&q ...