前端基于uni-app开发,后端基于uniCloud开发
整个网赚合成游戏,有2个项目,复用同一个uniCloud空间。一个项目是App端,另一个项目是管理端。
管理端面向开发商的运营人员使用,设置游戏参数,查看玩家日志,审批提现等,admin管理后台是另外插件,另见:https://ext.dcloud.net.cn/plugin?id=4102。
网赚游戏投入运营前,需完成如下准备工作:
首先确定App的应用名称、包名、证书,后续在各个三方服务申请时,都需要包名和证书摘要。并且注意在HBuilderX中打包时,必须使用相同的包名和证书。
应用名称在manifest
里设置,注意不要包含“游戏”字样,否则上架应用商店时可能会被要求提供游戏版号。请以应用的名义上架。
manifest.json
-> App模块配置
-> OAuth(登录鉴权)
-> 一键登录
,点击后面的开通配置
,在打开的web页面,同意协议,并点击充值按钮充值。添加应用(需要配置Android 包名和IOS BundleId ),充值。如果你已经确定包名,则可以在web界面点击“添加应用”,提交审核。这个是正式打包必须的。一键登录开通指南微信 appid 申请步骤:https://ask.dcloud.net.cn/article/208。
iOS平台微信SDK配置通用链接:https://ask.dcloud.net.cn/article/36445。
以上业务都有审核周期,请提前处理。
网赚游戏开发完成后,需要开通广告,推荐流程为:申请软著 -> 开通快手广告 ->上架应用市场 -> 开通优量汇广告 ->若有公司资质可开通穿山甲广告。
完成如下配置:
appid
一键登录
。微信登录
--> 填写appid
、appsecret
、ios平台通用链接
。微信分享
--> 填写appid
、如需在iOS平台使用还需要配置通用链接,填写ios平台通用链接
。苹果登录
,IOS苹果授权登录参考文档。如不发布到Appstore,不需要配置此项在项目目录uniCloud
--> cloudfunctions
--> common
--> uni-config-center
--> uni-id
--> config.json
文件里:
service
--> univerify
,填写appid
、apiKey
和 apiSecret
。在DCloud开发者中心一键登录基础配置下可查看。appid
、appsecret
, 在微信开放平台查看,微信开放平台app-plus
--> oauth
--> apple
,填写包名bundleId
在uniCloud
-> cloudfunctions
目录右键,选择 “上传所有云函数、公共模块及actions”。
打开uniCloud控制台 https://unicloud.dcloud.net.cn/,找到关联该项目的服务空间进入,点击左侧找到云函数下的云函数列表,点击云函数域名绑定。
腾讯云,复制默认域名(不含https://)部分。
阿里云,启用域名,复制域名。
在uniCloud
--> cloudfunctions
--> common
--> globalunit
--> utils
--> config
--> index.js
里面进行修改,在data
--> globalinfo
--> url
填写复制的域名,注意不能加http或https,(阿里云需添加PATH部分的/http,配置格式例如:url:"346xxxxxxxxxxxxxxxxxx9ab.bspapp.com/http") ,在globalinfo
右键上传公共模块。
在uniCloud
--> database
--> db_init.json
文件内,gameconfig
--> data
--> url
填写复制的域名。(阿里云需添加PATH部分的/http,配置格式例如:url:"346xxxxxxxxxxxxxxxxxx9ab.bspapp.com/http")
本项目需对hallctrl
、minectrl
、teamctrl
三个云函数url化。
/http/teamctrl
,目前已默认配置好了,你无需再配置。package.json
里,更改cloudfunction-config
下的path
路径为:/函数名,配置格式例如:/teamctrl
提现方式有两种方式:支付宝个人批量转账和微信企业付款到零钱,可自行按需选择。暂时无法开通微信商户支付的用户可选择个人支付宝方式转账
支付宝方式
uniCloud
--》cloudfunctions
--》common
--》globalunit
--》utils
--》config
--》index.js
里搜索一下tixiantype,修改配置tixiantype
下的 type:zhifubao(表示支付宝提现方式),修改完成后,上传云函数。微信方式
uniCloud
--》cloudfunctions
--》common
--》globalunit
--》utils
--》config
--》index.js
里搜索一下tixiantype,修改配置tixiantype
下的 type:weixin(表示微信提现方式),修改完成后,上传云函数。确保已开通微信支付商户,企业付款到零钱功能。
在项目目录uniCloud
--> cloudfunctions
目录
minectrl
--> controller
--> mine.js
配置如下:uni-admin
--> controller
--> admin.js
配置如下: appid: 'wxxxxxxxxxxxxxxx', //公众号id
mchid: '00000000000', //商户id
partnerKey: 'xxxxxxxxxxxxxxxxxxxxx', //安全密钥
替换apiclient_cert.p12证书
微信支付接口中,涉及资金回滚的接口会使用到API证书,包括退款、撤销接口。商家在申请微信支付成功后,收到的相应邮件后,可以按照指引下载API证书,也可以按照以下路径下载:微信商户平台(pay.weixin.qq.com)-->账户中心-->账户设置-->API安全。更多内容详见
将 minectrl
--> controller
目录下的apiclient_cert.p12
和 uni-admin
--> controller
目录下的apiclient_cert.p12
替换成从你自己微信商户平台下载的API证书。
教程参考,微信App支付功能申请
对 uniCloud
--> cloudfunctions
目录点右键,上传所有云函数及公共模块。
方式一:
uniCloud
目录-->database
-->db_init.json
文件,右键选择 “初始化云数据库”。database
目录,右键选择 “上传所有数据集合Schema及扩展校验函数”。方式二:
uniCloud
目录右键,选择“运行云服务空间初始化向导”,点击“下一步”,点击“开始部署”。激励视频广告位配置
现在是默认的激励视频测试广告位,广告位标识(adpid)为:1507000689,仅用于测试,不会产生真实收益。
你需要在uni-ad系统里申请激励视频广告位,获得广告位ID(即:adpid)。
在项目目录hybrid
--> html
--> index.html
--> _adpid
, adpid
:配置激励视频广告位id。
广告后台申请的广告位(adpid)需要自定义基座/云打包/本地打包后生效
插屏广告位配置
在项目目录pages
--> index
--> index.vue
,配置interstitialAdpid
:即配置插屏广告位标识。
插屏测试广告位:1111111113,仅在HBuilderX标准基座中有效,仅用于测试,不会产生收益。
const interstitialAdpid = "1111111113";
<!-- 1111111113 :为插屏测试广告位标识,需要替换成你自己申请的广告位adpid -->
注意:目前快手不支持插屏广告;广点通和穿山甲需要上架后才可开通插屏广告;HBuilder 3.1.10+以上
信息流广告配置
在项目目录pages
--> mine
--> mine.vue
页面,第126行
在项目目录pages
--> tuandui
--> tuandui.vue
页面,第124行
<ad adpid="1111111111" @close="onclose" @error="onerror"></ad>
<!-- 1111111111 为信息流测试广告位标识,需要替换成你自己申请的广告位adpid -->
信息流测试广告位:1111111111,仅在HBuilderX标准基座中有效,仅用于测试,不会产生收益。
正式商用需要替换成你自己广告后台申请的广告位(adpid),再自定义基座/云打包/本地打包后生效
教程参考:uni-AD广告联盟使用指南
裂变拉新是必要的传播手段,本项目集成了DCloud的应用发行平台服务,直接提供了分享下载的功能。
appid
,管理员审核。什么是统一发布页面common
--> globalunit.js
里面修改downloadurl
下载地址为上一步得到的短网址如运行在iOS上,需解决本地页面跨域问题。
在uniCloud web 控制台跨域配置里添加:localhost:13131
如果你需要把猫素材替换成其他内容(例如:兔子、猪等),在项目根目录下hybrid
--》 html
--》 res
--》 raw-assets
下修改图片可更换素材。
注意:图片名称、格式、尺寸必须和原图片一致
IOS和Android云打包,配置正确的包名,勾选广告,打包。
到此为止就部署完成啦!如果您在部署过程中遇到什么问题,可加入网赚游戏技术交流群,QQ群号:645630288 ,给我们反馈!
本项目已包含cocos模块,无需申请cocos游戏源码也可部署成功。
如果你需要二开,改动cocos游戏源码,或者获取本项目的图片的psd原图,则需按照以下步骤申请:
├──uniCloud───────────# 云函数目录
├──── cloudfunctions───────────# 云函数目录
│ └── hallctrl──────────────────# 业务主逻辑函数
│ └── controller──────────────────# 控制层
│ └── hall.js────────────────────────# 业务主逻辑函数
└── middleware──────────────────# 中间件层
│ └── auth.js────────────────────────# 验证token等
│ └── body.js────────────────────────# 过滤数据等
│ └── node_modules──────────────────# 函数依赖公共模块
│ └── index.js──────────────────────# 函数入口文件
│ └── uni-admin──────────────────# 管理后台主逻辑函数
│ └── controller──────────────────# 控制层
│ └── admin.js────────────────────────# 业务主逻辑函数
└── middleware──────────────────# 中间件层
│ └── auth.js────────────────────────# 验证token等
│ └── body.js────────────────────────# 过滤数据等
│ └── service────────────────────────# 具体业务层
│ └── node_modules──────────────────# 函数依赖公共模块
│ └── index.js──────────────────────# 函数入口文件
└── minectrl──────────────────# 我的主逻辑函数
│ └── controller──────────────────# 控制层
│ └── mine.js────────────────────────# 业务主逻辑函数
└── middleware──────────────────# 中间件层
│ └── auth.js────────────────────────# 验证token等
│ └── body.js────────────────────────# 过滤数据等
│ └── service────────────────────────# 具体业务层
│ └── node_modules──────────────────# 函数依赖公共模块
│ └── index.js──────────────────────# 函数入口文件
└── teamctrl──────────────────# 团队主逻辑函数
│ └── controller──────────────────# 控制层
│ └── team.js────────────────────────# 业务主逻辑函数
└── middleware──────────────────# 中间件层
│ └── auth.js────────────────────────# 验证token等
│ └── body.js────────────────────────# 过滤数据等
│ └── node_modules──────────────────# 函数依赖公共模块
│ └── index.js──────────────────────# 函数入口文件
└── trigger──────────────────# 定时脚本(云函数)
│ └── index.js──────────────────────# 函数入口文件
│ └── common─────────────────# 公共模块
│ └── globalunit──────────────────# 业务操作公共模块
│ └── logic──────────────────# 业务logic层
│ └── bidelogic─────────────────# 必得分红
│ └── bounslogic.js──────────────────# 每小时金币
│ └── catlogic.js──────────────────# 合成动物逻辑
│ └── citylogic.js──────────────────# 城市相关
│ └── dialytasklogic.js──────────────────# 每日任务相关
│ └── fenhongcatlogic.js──────────────────# 永久分红计算
│ └── friendacticelogic.js──────────────────# 团队活跃返利
│ └── roomlogic.js──────────────────# 合成格子逻辑
│ └── roulettelogic.js──────────────────# 视频次数逻辑
│ └── storelogic.js──────────────────# 仓库逻辑
│ └── tasklogic.js──────────────────#
│ └── tuijianlogic.js──────────────────# 推荐人逻辑
│ └── userlogic.js──────────────────# 用户信息相关
│ └── xscatlogic.js──────────────────# 限时分红相关
│ └── model──────────────────# 数据模型
│ └── utils──────────────────────# 云函数公共类库
├──── database───────────# 数据库集合Schema目录
│ └── db_init.json───────────# 数据库初始化文件,包含数据表和初始化数据
├──common───────────# 前端公共类库
├──compontents───────────# 云函数目录
├──hybrid───────────# cocos编译后页面
├──pages───────────# 前端页面
本项目由DCloud委托大连一家外包公司开发,该公司同时承接二开定制工作。如有二开需求,请加QQ群:645630288。
DCloud正在寻找更多行业服务商,开发各种基于uniCloud的项目,如论坛、阅读、短视频.... 由DCloud出资,开发完毕后上架插件市场,然后行业合作伙伴可持续接二开的项目。有意成为uniCloud行业服务商的公司或个人可以联系bd@dcloud.io。详见
除了网赚游戏外,DCloud还有猜歌游戏https://ext.dcloud.net.cn/plugin?id=4826。
login.js
中,打印登录错误回调信息,看具体原因。gameconfig
配置中url是否填写正确。查看hallctrl函数运行日志,将日志信息打包发给我们。uni-config-center
,注意事项:如果你是在cloudfunctions
右键‘上传所有云函数、公共模块及actions’,需要单独在cloudfunctions
--》common
--》uni-config-center
目录单独上传一次,右键‘上传公共模块’。