Unity3d 微信小程序(小游戏)项目实现流量主接入功能(含源码)

news2024/12/25 15:36:00

前言

很早之前编写了Unity导出微信小游戏的博客,也尝试自己做了个Demo上线了,基本没更新过,不过几个月的时间,用户超过了一千,可以开通流量主了,大概率是因为上篇的帖子浏览量大了,扫码体验的人多,基本没什么留存的用户。
说白了就是接入后有一定的收ru,不过Unity端的接入就不是嵌入代码的方式,需要通过SDK的接口来调用,并编写逻辑实现激励视频流量主的发放奖励的功能。
本篇文章的还是基于该Demo游戏,将banner、插屏和激励这些接入,并将过程记录分享给大家。大家可以扫码该程序:
在这里插入图片描述

进行体验,如果流量主组件通过审核后会出现流量的内容,如果方便点击可以点击查看一下。

如果你还不了解Unity3d如何开发微信小游戏的方法,建议你先看看这个博客
Unity3d平台转微信小游戏保姆级教程

我个人的这个流量主也接入好几天了,效果是微乎其微。

当然如果大家都是认真做游戏,能做个像羊了个羊的高热度,让大家都愿意获取道具的,基本可以财富自由了,不用奋斗了。

功能效果

由于不能包含AD内容,请扫描体验吧:
在这里插入图片描述

AD条件

开通条件如下:
累计独立访客(UV)不低于 1000
存在刷粉行为或有严重违规记录的小程序不予申请
同一个收款账户最多允许关联 50 个账号开户主体

开通

进入 推广 > 流量主 界面:
在这里插入图片描述

在开通条件达成的时候开通按钮是绿色的,点击其进行开通即可。
在这里插入图片描述

开通后我们进入流量主 > 管理 > 选择类型 > 新增位,进行位的添加:
在这里插入图片描述

选择类型后,输入名称后即可创建完成,可以各个类型的添加几个AD位。
之后的需要用到的就是这里的AD位 ID。
如果是小程序的AD就可以通过“获取代码”按钮获取到AD插入的代码,将代码粘贴到项目的脚本(JavaScript可以直接使用)中:

// 创建 Banner AD实例,提前初始化 
let bannerAd = wx.createBannerAd({ adUnitId: '', style: { left: 0, top: 0, width: 350 } }) 

不过开通流量主后,在小游戏上线后小程序AD组件还需要审核,我的就是在审核
中持续了几天
在这里插入图片描述

(目前已经审核通过了)。

功能实现

AD虽然能够给平台和开发者带来一定的收益,但是一定程度会给用户带来差的体验,之前铺天盖地的好友/群消息中的小程序AD大家应该都有体验过的,现在如果小程序存在涉嫌滥用,不正当使用、非善意使用小程序功能、接口、能力的行为会被关闭AD组件,更严重可能会被封禁账号,所以需要合理的展示AD(不然即使上线后也可能被封)。

UI搭建

这里简单的展示AD的接入和控制效果所以就设置了4个按钮:
在这里插入图片描述

只有banner可以进行开关和位置的设置,所以准备了打开bannerAD、关闭bannerAD,打开插屏AD和打开激励AD按钮。至于如果你要问按钮文字为啥是英文的建议你看看这篇博客微信小程序转换后中文字体不显示问题解决。

BannerAD

BannerAD过程大概为初始化、打开、关闭。初始化在Start中进行,打开和关闭都是加载完成中进行。

初始化:

    void InitBannerAd() {

        var sysInfo = WX.GetSystemInfoSync();

        bannerAd = WX.CreateBannerAd(new WXCreateBannerAdParam()
        {
            adUnitId = "",  //修改AD位ID
            adIntervals = 30,
            style = new Style()    //适配bannerAD的大小和位置
            {
                left = 0,
                top = (int)sysInfo.windowHeight - ((int)sysInfo.windowWidth / 4),
                width = (int)sysInfo.windowWidth,
                height = (int)sysInfo.windowWidth / 4
            }
        });
        bannerAd.OnError((WXADErrorResponse res) =>
        {
            Debug.Log("bannerad error response");
        });
        bannerAd.OnResize((WXADResizeResponse res) =>

        {
            //拉取的AD可能跟设置的不一样,需要动态调整位置
            bannerAd.style.top = (int)sysInfo.windowHeight - res.height;
        });
        bannerAd.OnLoad(ShowBannerAd);//加载后直接将其显示
}

这里创建BannerAD的过程中,我将其大小设置为:宽为屏幕宽度,高为屏幕宽度/4,并将其的位置至于屏幕的底部,并在加载后直接将其显示出来。adUnitId 需要填写你自己的ADID,adIntervals 为AD切换间隔,style 可以改变AD的位置和大小(注意大小不能设置过于小,不然无用)。

打开AD:

if (bannerAd != null)
         bannerAd.Show();

关闭AD:

        if (bannerAd != null)
        bannerAd.Hide();

插屏AD

插屏AD过程大概为初始化、打开,初始化同样在Start中进行,打开需要在合适时机,关闭就得用户手动了。

初始化:

    void InitInterstitialAd()
    {
        interstitialAd = WX.CreateInterstitialAd(
            new WXCreateInterstitialAdParam()
            {
                adUnitId = ""   //修改AD位ID
            });
        interstitialAd.OnLoad(ShowInterstitialAd);
 }

adUnitId 需要填写你自己的ADID,这里也是默认加载后就显示。

打开:

if (interstitialAd != null)
        interstitialAd.Show();

激励AD

插屏AD过程大概为初始化、打开,初始化同样在Start中进行,打开需要在合适时机,关闭就得用户手动了(而且中途关闭不给奖励,AD结束关闭才发放奖励)。

初始化:

    void InitRewardedAd()
    {
        rewardedVideoAd = WX.CreateRewardedVideoAd(
            new WXCreateRewardedVideoAdParam()
            {
                adUnitId = "",   //修改AD位ID
                multiton = true
            });
        rewardedVideoAd.OnClose(RewardAdClose);
    }

adUnitId 需要填写你自己的ADID,这里也是默认加载后就显示,OnClose对关闭事件进行监听并以此判定是否发放奖励。

打开:

        if (rewardedVideoAd != null)
        rewardedVideoAd.Show();

激励AD的作用大概是道具获取、复活玩家等,让玩家看AD获得奖励的方式,通过关闭事件的监听判定是否发放奖励,一般中途关闭是不发放奖励,判定的逻辑如下:

    //关闭事件监听
    void RewardAdClose(WXRewardedVideoAdOnCloseResponse res) {
        if ((res  != null && res.isEnded) || res == null)
        {
            // 正常播放结束,可以下发游戏奖励
            Debug.Log("正常播放结束,可以下发游戏奖励");
        }
        else
        {
            // 播放中途退出,不下发游戏奖励
            Debug.Log("播放中途退出,不下发游戏奖励");
        }
}

Unity工程

https://download.csdn.net/download/qq_33789001/87400314
如果打不开说明还没审核通过。

下载工程后需要填写自己的Appid,如果不清楚请查看前言中的那篇博客。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/183174.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Aurora、Chip2chip、Ethernet(二)

摘要:Aurora、Chip2chip、Ethernet共用一个gt时钟的正确的解决方案以及在实际实现以及在实现过程中遇到的其它的问题。 我在实际中遇到的困难如下: 现在需要将三个ip共用一对GT时钟,一个Ethernet IP,一个Ethernet IP&#xff08…

每日学术速递1.29

CV - 计算机视觉 | ML - 机器学习 | RL - 强化学习 | NLP 自然语言处理 Subjects: cs.CV 1. Compact Transformer Tracker with Correlative Masked Modeling 标题:带有相关掩码建模的紧凑型变压器跟踪器 作者: Zikai Song, Run Luo, Junqing Yu, Y…

GLM国产大模型训练加速:性能最高提升3倍,显存节省1/3,低成本上手

作者|BBuf、谢子鹏、冯文 2017 年,Google 提出了 Transformer 架构,随后 BERT 、GPT、T5等预训练模型不断涌现,并在各项任务中都不断刷新 SOTA 纪录。去年,清华提出了 GLM 模型(https://github.com/THUDM…

一句话说明线程和进程

知识点: 1、一句话说明线程和进程 2、操作系统为什么需要进程 3、为什么要引入线程 4、一图说明线程和进程的关系 一、一句话说明线程和进程 进程:是指⼀个内存中运⾏的应⽤程序,比如QQ、微信、浏览器等;⼀个应⽤程序可以同时运⾏…

CAS 和 Synchronized优化过程以及常见的锁策略

目录 🐑今日良言:追星赶月莫停留,平芜尽处是春山 🐂一、锁策略 🐼二、CAS 🐭三、Synchronized 🐑今日良言:追星赶月莫停留,平芜尽处是春山 🐂一、锁策略 锁策略是实现锁的时候,考虑出现锁竞争了该怎么…

电驱系统电磁兼容基础知识及测试方法

电驱系统电磁兼容基础知识及测试方法 学习参考:驱动视界公众号、百度百科、《电动汽车电机驱动系统EMC研究综述》 1.背景 2.电磁干扰三要素 3.电波暗室与屏蔽室的原理 4.测试方法 5.如何看测试数据 6.工作中需要注意的EMC的几点问题 7.案例 1.背景 汽车工业发展…

docker安装db2

第一步:下载镜像 docker pull ibmcom/db2express-c:latest备注:docker images -a 可以查看已安装镜像; 第二步:启动镜像 docker run -d --name db2 -p 50000:50000 -e DB2INST1_PASSWORD[数据库密码] -e LICENSEaccept ibmcom…

玩转PPT 第1节 PPT制作理念学习笔记

ppt神器islide 第1节 初步接触强大的工具1 PPT大神的课程总结1.1 骨架篇1.2 色彩篇1.3 对齐篇1.4 对比篇1.5 修饰篇1.6 字体篇1.7 素材篇1.8 线条篇1.8.1 可以随意画线条,填充空白1.8.2 在字体上画线条,做成艺术字1.8.3 做对称线条,比如递进三…

Bluesky勒索软件深度技术分析

0 1、 背景介绍 勒索软件作为一种流行的木马,近年来已成为最为常见的安全威胁之一。与其他威胁不同,勒索软件先向受害者表明自己的身份,再通过加密的方式使用户数据资产或计算资源无法正常使用,而恢复数据资产的唯一方法通常是支…

收藏破万,谷歌联手哈佛发布首个炼丹指南:教你科学化「调参」

调参不能只靠直觉,也是一门大学问! 虽然算法工程师往往调侃自己是「调参侠」,但调参这件事可能真没想象中那么简单。 比如,你是不是经常会有疑惑到底该选择哪个优化器?一个batch放多少数据?超参数如何设置…

人工智能英文缩写怎么读,人工智能英文缩写大全

1、人工智能英文缩写是什么? AI。 人工智能,英文缩写为AI。它是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术以及应用系统的一门技术科学。“十三五”以来,我国高度重视人工智能的发展,国内科研机构也围绕人工智能…

【Pytorch项目实战】之机器翻译:编码器-解码器、注意力机制AM

文章目录机器翻译 - 中英文翻译算法一:编码器-解码器(Encoder - Decoder)算法二:注意力机制(Attention Model,AM)2.1为何要引入注意力机制?2.2注意力机制的语义向量表示C计算2.3每个…

2023年首更,警惕6本SCISSCI期刊被剔除

2023年1月17日,Web of Science核心期刊目录首次更新。此次SCIE & SSCI期刊目录更新,与上次更新(2022年12月)相比,共有6本期刊被剔除出SCIE & SSCI期刊目录,详情如下: 公众号“Unionpub…

Redis实战9-全局唯一ID

发布优惠券的时候,每个店铺都可以发布优惠券,当用户抢购的时候,优惠券表中的id如果使用数据库的自增长ID会存在以下问题: 1:id的规律太明显,容易被刷 2:当数据量很大的时候,会受到单表数据的限…

三、分布式id,lua脚本,分布式锁,消息队列

文章目录优惠卷秒杀1.redis实现分布式ID2.优惠券秒杀下单3.超卖问题4.lua脚本5.分布式锁6.redis stream消息队列实现异步秒杀7.redis消息队列list实现消息队列PubSub实现消息队列stream实现消息队列stream的消息队列-消费者组学习黑马点评项目整理总结:https://www.bilibili.co…

5 个用于自动化的杀手级 Python 脚本

Python 是一种功能强大的语言,广泛用于自动执行各种任务。无论您是开发人员、系统管理员,还是只是想通过自动化日常任务来节省时间的人,Python 都能满足您的需求。 这里有 5 个 Python 脚本,可以帮助您自动执行各种任务 文章目录…

Spring Boot之Swagger

文章目录零 项目源码一 Swagger简介二 Spring Boot集成Swagger2.1 环境准备2.2 配置Swagger2.3 配置文档信息2.4 配置扫描接口2.5 配置开关Swagger2.6 配置API分组2.7 配置实体类2.8 常用注解零 项目源码 Swagger源码免费下载 一 Swagger简介 Swagger官网swagger是一款可以根…

深入开源和金融技术世界,《新程序员005》来了!

亲爱的 CSDN 以及《新程序员》的读者朋友们,《新程序员005:开源深度指南 & 新金融背后的科技力量》正式与大家见面!现在,点击下方封面,即可订阅,立享电子书,纸质书将在春节后为大家寄出&…

9、循环语句

目录 一、while循环语句 二、do…while循环语句 三、for循环语句 1. for语句 2. foreach语句 一、while循环语句 while语句也称条件判断语句,它的循环方式为利用一个条件来控制是否要继续反复执行这个语句。 语法如下: 当条件表达式的返回值为真时…

【并发编程十三】c++原子操作(1)

【并发编程十三】c原子操作(1)一、改动序列1、改动序列2、预测执行二、原子操作及其类别1、原子操作2、非原子操作3、原子类型三、标准原子类型1、标准原子类型的两种实现方式2、原子操作的用途3、原子操作的宏四、操作std:atomic_flag1、简介2、使用说明…