Unity接入IAP内购支付
1. Google Play
1.1. 上传一个带BILLING权限的包
在AndroidMainfest.xml加入
<uses-permission android:name="com.android.vending.BILLING" /> |
上传APK审核通过后,在Google Play Console 创建商店,或订阅项目
1.2. 安装Unity IAP
Window -> Package Manager -> Unity Registry
在AndroidMainfest.xml加入
<uses-permission android:name="com.android.vending.BILLING" /> |
上传APK审核通过后,在Google Play Console 创建商店,或订阅项目
Window -> Package Manager -> Unity Registry
这段时间赋闲在家,对近些年的工作进行了复盘。工作么多年,一点小心得,分享一下。
vscode的C#智能提示老是会自动失效,最近又遇到了新问题
今天突然就出现了这个报错
System.Composition.Hosting.CompositionFailedException: No export was found for the contract 'ILoggerFactory' |
原因是vscode的omnisharp自动更新了,在settings.json里找到omnisharp.path字段,把lastest值改为1.39.2
"omnisharp.path": "1.39.2", |
最近在youtube上传了个应用的预览视频,给GooglePlay展示用,但是没过几天就被GooglePlay撤掉了。猜测原因是广告问题,我点开我上传的视频,总是偶尔会有广告出来。看文档是关闭视频的创收即可,我翻遍了整个youtube的各种设置界面都找不到关闭创收的按钮或选项,我压根就没有达到youtube合作伙伴的要求,何来关闭创收一说,可是我的视频广告是从何而来呢。
折腾了好久,还是搞不定,最后只能救助于GooglePlay的客服。
我的APP视频预览看不到了,猜测原因是我的youtube视频仍存在广告。但是我的youtube账号未加入合作伙伴计划,我在创收页面找不到关闭广告的选项,在选中视频内容的时候也找不到创收的选项。请问有什么办法关闭youtube的广告,或者是其它办法让APP的视频预览恢复? |
谷歌的回信
经过调查,目前系统侦测到您的宣传影片含有盈利功能,而是否含有相关功能是由系统来判定的。如果您的视频中含有广告,则必须停用广告,视频才能在 Play 商店中展示。我们希望当用户浏览 Play 商店时他们看到的视频展示的是您的应用,而不是广告,因为广告可能会令用户感到困惑。 |
经检查发现,果然是因为我的视频里的背景音乐收到了版本主张。
Youtube对音乐版本非常严格,不像国内的抖音一类可以随便嫖。有商用需求的话,一定要避免版权问题,可以直接购买该音乐的版权(通常我们一般人做不到),又或者可以免费使用CC版权音乐。
Light Show Creator这个APP已经上架一段时间,有用户反馈说,自动模式虽然好用,但是手动模式更加适合手机平台。于是我在新版本里添加了手动模式的规划。

其实在最早的版本,是有手动模式的,实现的原理跟xLights类似,都是通过时间轴来进行编辑。结果做出来效果很不理想,时间轴的控制更加精细,更适合用鼠标的控制,而不适合触摸屏。所以我在第一个正式版本抛弃了手动模式,只保留了自动模式。
旧版本很难用
我最近看到了一个钢琴类APP,受到了一点启发,我可以把控制车灯的方式改为类似钢琴的键盘,按下灯亮,松手灯灭。可以单独控制一边的车灯,也可以按黑键同时激活两边的车灯。
在手动录制的同时,也可以激活自动模式,只需要自己控制关键的几个车灯即可。
nginx做http代理的默认配置对请求包体大小有限制1M以内,如果超过个值会返回413错误码,及Request Entity Too Large这些的错误信息。修改一下nginx的配置即可:
http { |
从windows直接拷贝文件到linux/macos可能会出现行尾留下”^M”符号,git diff可见到,是因为windows的换行使用的是\r\n两个字符。
Ubuntu/Debian:
sudo apt-get install dos2unix |
Centos:
sudo yum install dos2unix |
MacOS
腾讯云的Ubuntu使用apt安装软件会报找不到源
Err:1 http://mirrors.tencentyun.com/ubuntu bionic/main amd64 m4 amd64 1.4.18-1 |
看着应该是mirrors.tencentyun.com挂了,都ping不通,更换源就好了:
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bk |
sudo vi /etc/apt/sources.list |
最近在尝试给APP引入账号第三方SDK,再三比较,如果是出海的APP,Firebase是不二选择。
接入的过程中比较坎坷,分别尝试了AS导出aar包到unity,还有从unity导出AS工程,都以失败告终(IOS还未尝试)。
其实是根本就是我没仔细阅读官方文档,google官方有提供unitypackage,将其导入unity并在后台做简单设置即可。
官方文档:https://firebase.google.com/docs/auth/unity/start

(注意,注册的时的包名要跟应用的最终包名一致)
Unity在引入最新版本Firebase发现报错:
Could not determine the dependencies of task ':launcher:lintVitalRelease'. |
大致意思是项目依赖了AndroidX,但是android.useAndroidX没有enabled
解决方案:
BuildSettings->Player->Publishing Settings 勾选Custom Gradle Properties Template。之后unity会自动生模板配置 Assets/Plugins/Android/gradleTemplate.properties
在properties文件中添加以下两行:
android.useAndroidX=true |
修改之后: