×

AI生成APP-接入谷歌变现图文攻略

hqy hqy 发表于2025-05-20 21:22:54 浏览193 评论0

抢沙发发表评论

上一篇介绍的是 WEB应用集成广告变现,这一篇就来介绍APP集成广告变现的操作;图文手把手教程如下,推荐给有想法、动手能力强的小伙伴 (天天看别人APP上的广告,也让我们来薅一点广告的羊毛?)

图片


AdMob配置广告位

AdMob 是 Google 提供的一款广告联盟服务,可以帮助开发者在应用内植入广告,获得高收益和数据分析

1. 添加应用

图片

2. 添加广告单元


图片

当前支持的广告单元有下面这些,基本上覆盖了我们日常见到的广告类型

需要注意的是:谷歌的开屏广告玩法和国内的开屏广告展示及交互方式都不太一样

图片

我封装的android基座工程中(文末给出了基座的获取方式),支持下面四种类型广告

开屏广告:首次打开app、从后台再次进入app时展示的广告,需要用户主动关闭之后才能进入app激励广告:观看视频(通常30s左右)之后得到奖励的广告,比如游戏道具的看广告兑换插页广告:在合适的时机弹出全屏的页面广告,比如一个游戏你玩了几关,进入下一关弹出了一个插页广告插页激励广告:同激励广告,但是广告时长更短(通常10s以内),对用户的体验会好很多

接下来依次创建广告,创建广告时,需要配置的信息差不多,下面以开屏广告进行说明

广告类型:视频的广告报价更高,收益更好;但是填充率低(简单理解就是视频太大了,加载慢,网络不好的时候拉不到广告)频次上限:如果你不希望广告太频繁影响用户体验,可以开启这里,设置一下同一个用户每五分钟展示一次有效千次展示费用底价:即运营常说的CPM,对于个人而言,一个不那么靠谱的经验如下:如果你的应用用户数非常大,靠展示量变现,可以选择接收所有价格,尽量的拉高填充率如果你的用户质量很高,单用户的广告观看点击CPC较高,那么就更适合较高的底价如果不确定,那就保守点选择适中的方案

说明:通常企业级应用集成的是多家广告平台,即常说的广告联盟,从各广告平台中取保价最高的进行展示;同时也会采用瀑布流分层的方式设计广告填充网络,且一定会在最底层设计无底价的广告位,主打的就是蚊子再小也是肉(但是不得不说这种方式对用户体验非常差,以免费小说app为例,翻几页来一个广告,非常影响用户体验)


图片
点击创建广告单元按钮之后,你会得到下面这个页面
图片
将上面的两个红框对应的code需要保存下来,其中应用ID都是一样的,主要用于更新android基座中 AndroidMainfest.xml 文件的 APPLICATION_ID 值
图片

而下面的广告单元ID,则主要对应 android 基座中 AdsEnum中的广告单元

根据你创建的广告类型,将不同的广告单元填充在下面的 "" 内如上面是开屏广告,则需要将ca-app-pub-55920005****/***4386 拷贝到 SPLASH 右边的 "" 内, 如下图

图片

接下接下来依次创建插页、插页视频、激励广告

到这里,广告就已经申请完毕;接下来就等待我们的应用上架之后,再回来绑定一下即可
图片

3. 应用绑定及审核

垃圾消除小游戏之前已经绑定过了,因此这里我们换一个来演示全流程

如上面这个app上架之后,可以直接在谷歌后台获取到对应的访问地址如下


图片
通常上面的保存提交之后,就会出现下面这个页面,两种情况进行区分
图片

通常上面的保存提交之后,就会出现下面这个页面,两种情况进行区分


  • 你没有维护过 app-ads.txt维护了 app-ads.txt如果已经维护了,那就不用管,因为刚上架的app,很多信息估计没有全量同步,过一段时间就好了

图片
如果没有维护过app-ads.txt,那就需要将上面这个页面中的 app-ads.txt 文本,放在你的应用对应的网站域名下
图片
如上面Printo应用,在商店设置中,指定网站域名,然后在这个域名下添加 app-ads.txt文件
图片
能正常访问之后表示配置完成,接下来就是等待审核通过的通知即可
一般来说提交完毕之后,应用设置里下面这样

Android基座

对于android基座中,广告相关的改动非常少,你只需要调整下面几个位置即可

1. 广告应用id设置


在 simpleDemo/src/main/AndroidManifest.xml 文件中修改上面提到 APPLICATION_ID

2. 广告单元设置

在文件uni-admobs\src\main\java\com\git\hui\uni\admobs\adsAdsEnum中维护广告单元


3. 广告开关

除了上面的广告单元配置之外,还有一个地方需要注意,在 AdsUtil.java 文件中

如果 TEST_ENV = true 表示现在展示的是测试广告,适用于本地测试时使用如果需要发布应用市场,需要将 TEST_ENV 设置为 false


图片

应用中使用广告

接下来我们需要在ai生成的应用中找到合适的地方,调用广告

1. 获取广告访问文件

下面的文件中封装了常见的三种广告展示方式(开屏广告不用管哈,这个是在android基座中完成展示的)

看视频广告兑换免广告时长:autoCloseAds方法,默认免24小时,根据实际情况修改 24 * 60 * 60 * 1000 这段代码优先展示视频激励,如果视频激励没有,则展示插页激励,如果插页激励也没有,则展示插页,如果插页还没有,则无法兑换免广告时长看视频兑换激励: showRewards方法优先展示视频激励,如果视频激励没有,则展示插页激励,如果插页激励也没有,则展示插页,如果插页还没有,则无法兑换激励自动展示广告: showAds方法优先展示插页激励,如果插页激励没有,则展示插页,如果插页没有则不展示

const isAndroid = uni.getSystemInfoSync().platform === 'android';const ADS_DISABLED_KEY = 'ads_disabled_until';class AppUtils {    static androidPlantform() {        return isAndroid;    }    static showAds() {        if (!isAndroid || this.isAdsDisabled()) {            return;        }        try {            const adsManager= plus.android.importClass('com.git.hui.uniapp.ads.GlobalAdsManager');            adsManager.autoShowAds();        } catch (e) {            console.error('调用Android Toast失败:', e);        }    }    /**     * 视频激励广告     */    static showRewards(callback, failedCallback) {        if (!isAndroid) {            // 回调            callback(true);            return;        }        var testModule = uni.requireNativePlugin("AdsModule");        testModule.showAds('reward', (res) => {            console.log('app返回的结果是:', res)            const suc = res && res.code === 'success';            if (callback) {                testModule.printLog(JSON.stringify(res) + "|" + suc);                callback(suc);            } else {                if (failedCallback) {                    failedCallback()                }            }        })    }    /**     * 看视频免兑换免广告时长     *      * @param {*} callback      * @returns      */    static autoCloseAds(callback) {        if (!isAndroid) {            return;        }        var testModule = uni.requireNativePlugin("AdsModule");        testModule.showAds('reward', (res) => {            console.log('app返回的结果是:', res)            const suc = res && res.code === 'success';            // 这里默认免广告时长为24小时            const disabledUntil = Date.now() + 24 * 60 * 60 * 1000;            if (suc) {                // 设置24小时后的时间戳                uni.setStorageSync(ADS_DISABLED_KEY, disabledUntil);            }            if (callback) {                testModule.printLog(JSON.stringify(res) + "|" + suc + "无广告时间:" + disabledUntil);                callback(suc);            }        })    }    static isAdsDisabled() {        try {            const disabledUntil = uni.getStorageSync(ADS_DISABLED_KEY);            if (!disabledUntil) return false;            return Date.now() < disabledUntil;        } catch (e) {            return false;        }    }    static getAdFreeTime() {        try {            const disabledUntil = uni.getStorageSync(ADS_DISABLED_KEY);            if (!disabledUntil) return 0;            const remainingTime = disabledUntil - Date.now();            return remainingTime > 0 ? Math.floor(remainingTime / 1000) : 0;        } catch (e) {            return 0;        }    }}export default AppUtils;


将上面的代码,拷贝到你的项目工程中合适的位置,比如我将其放在 utils 目录下
图片

2. 展示广告

接下来就是在我们使用ai生成的垃圾消除小游戏中,找到合适的地方来展示广告

还不知道如何使用ai生成app的小伙伴可以看一下这篇文章 毫无技术难度:由0到1基于AI完成“垃圾消除小游戏” ,我们合理的增加一下这个游戏的可玩性,做成闯关的模式,这样就可以实现用户通关成功之后进行展示广告了
图片
接下来就直接让Trae来帮我们实现想要的广告展示逻辑,如下
每玩三关就展示一次广告
图片

3. 激励广告兑换道具

激励广告兑换也是一种常见的广告变现方式,通过观看广告来获取对应的道具,如我们给游戏新增两个功能

撤销:回退上次卡槽中的卡片到游戏区域重新排列:将卡槽和游戏区域的卡片重排一下

上面的游戏界面截图底部采用的是中文按钮的方式,我们使用图标进行替换一下;然后在右上角标记看广告兑换的徽标(admob的政策性要求,对于触发广告的按钮需要显示标注ads/广告字样)


图片

调整之后的样式如下:

图片

接下来就是需要在对应的按钮点击之后,集成广告功能

基本使用姿势:


// 将原来的逻辑,包裹在 AppUtils.showRewards()的第一个参数内AppUtils.showRewards(() => {    // 这里是看完广告的回调,即之前的正常逻辑}, () => {    // 这里是未看完广告的回调})



图片

4. 看视频,兑换免广告时长

这只是上面激励广告的使用变种,有想法的小伙伴可以按照自己的意愿进行各种广告功能设计

通常的方式是在主页的设置里中,添加一个免广告时长兑换的功能,点击之后观看视频广告,看完之后在倒计时之前,再通过 AppUtils.showAds 就不会再展示广告了(即主要是免除上面的第二步的插页广告展示)

同样的直接交给Trae帮我们补全相关逻辑:


图片

具体的广告兑换逻辑就在下面

图片

使用之后的效果如下

图片

5. app安装体验

接下来我们将集成广告之后的应用打包安装到手机上实际体验一下

谷歌应用市场下载地址:

    https://play.google.com/store/apps/details?id=com.git.hui.sheepgame.googleapk下载地址:(点击查看原文即可)

https://apkpure.com/cn/%E7%BE%8A%E4%BA%86%E4%B8%AA%E7%BE%8A-%E5%9E%83%E5%9C%BE%E6%B6%88%E9%99%A4%E7%89%88/com.git.hui.sheepgame.google

小结

这里主要给大家介绍如何将admob广告集成到uniapp的项目中从而实现变现,基本流程比较清晰:

admob后台创建应用 -> 创建广告位修改android基座中的应用ID + 广告位信息下载封装的AppUtils.js文件都自己的应用中在合适的地方使用广告

文中提到的基座 & 工具类,关注公众号,回复 “基座” 或者 “Android”关键词获取哦

本文对应的垃圾消除小游戏对应的源码已完全托管,欢迎自取

https://github.com/liuyueyi/ai-games-sheepremovehttps://gitee.com/liuyueyi/ai-games-sheepremove


打赏

本文链接:https://www.kinber.cn/post/5123.html 转载需授权!

分享到:


推荐本站淘宝优惠价购买喜欢的宝贝:

image.png

 您阅读本篇文章共花了: 

群贤毕至

访客