最近谷歌商店强制要求所有应用在8月31日前更新结算库更新到版本6,我在Unity Package Manager更新IAP到4.12.0,发现打包安卓的时候编译失败。论坛上发现其它人也有一样的问题,Unity官方还未修复此问题,只能退回4.11.0,手动更新Google结算库了。

0.1. IAP退回4.11.0

在Package Manager中回退到4.11.0

0.2. 下载aar

在这里下载billing的aar文件 https://maven.google.com/web/index.html?q=billing#com.android.billingclient:billing:6.2.1

0.3. 替换aar

1.把billing:6.2.1.aar拷贝到Asset目录下,这时候会自动生成同名的meta文件
2.在项目文件夹中搜索billing,找到billing:5.2.1.aar的所在目录(注意,它的同级目录下还有一个同名meta文件),这把两个文件删除,并把billing:6.2.1.aar和billing:6.2.1.aar.meta文件移动到该目录

阅读全文 »

iOS11之后,在Plist中设置LSSupportsOpeningDocumentsInPlace和UIFileSharingEnabled为YES,可以从系统的Files应用中访问应用的Documents目录。

从系统的文件打开,查看我的iPhone,开启了此功能的应用可以从这里面看到这个文件夹,这个文件夹是从应用内部的沙箱目录链接过来的,应用删除后会被随之删除。

1. 细节参考文档

2. 安装依赖

  • Assets -> Google Mobile Ads -> Android -> Resolve
  • Assets -> Google Mobile Ads -> IOS -> cocopads

3. 报错

AndroidJavaException: java.lang.ClassNotFoundException: com.google.android.gms.ads.initialization.OnInitializationCompleteListener

Build Settings > Player Setting > Publishing Settings > Custom Progurard File

阅读全文 »

1. 在linux下部署clash

如何在 Linux 上优雅的使用 Clash?

2. 为 dockerd 设置网络代理

“docker pull” 命令是由 dockerd 守护进程执行。而 dockerd 守护进程是由 systemd 管理。因此,如果需要在执行 “docker pull” 命令时使用 HTTP/HTTPS 代理,需要通过 systemd 配置。

  • 为 dockerd 创建配置文件夹。
    sudo mkdir -p /etc/systemd/system/docker.service.d
  • 为 dockerd 创建 HTTP/HTTPS 网络代理的配置文件,文件路径是 /etc/systemd/system/docker.service.d/http-proxy.conf 。并在该文件中添加相关环境变量。
    [Service]
    Environment="HTTP_PROXY=http://proxy.example.com:8080/"
    Environment="HTTPS_PROXY=http://proxy.example.com:8080/"
    Environment="NO_PROXY=localhost,127.0.0.1,.example.com"
  • 刷新配置并重启 docker 服务。
    sudo systemctl daemon-reload
    sudo systemctl restart docker

3. 为 docker 容器设置网络代理

在容器运行阶段,如果需要使用 HTTP/HTTPS 代理,可以通过更改 docker 客户端配置,或者指定环境变量的方式。

阅读全文 »

大家好,今天我给大家分享一个超实用的教程,教你如何从LightShowCreator导出xLights项目,让你的特斯拉灯光秀更加个性化!我们都知道xLights可以自定义非常酷炫的灯光秀,但是操作起来可能有些繁琐。因此,我开发了一款自动生成灯光秀的APP,让你轻松制作特斯拉灯光秀。

不少用户建议我给LightShowCreator添加类似xLights的时间轴来编辑帧,但我深思熟虑后认为,LightShowCreator的宗旨是以娱乐化和简单化为主,添加时间轴可能会让APP变得臃肿,而且在手机上难以实现与xLights一样的精细操作。考虑到这部分用户的需求,我在LightShowCreator中加入了导出xsq文件的功能,完全兼容xLights。

下面是具体的教程:

  1. 在LightShowCreator中,先导入你喜欢的音乐,并使用自动模式或者手动模式生成灯光秀。导出时会得到三个文件:lightshow.wav、lightshow.fseq和lightshow.xsq。将这三个文件拷贝到电脑的同一个文件夹备用。

  2. 打开xLights软件,请务必下载最新版本的xLights和特斯拉开源项目的最新工程文件。目前APP导出的xsq适配的是Apr 27, 2023提交的版本。你可以从此链接下载:https://github.com/teslamotors/light-show/blob/09601c577f838e84320faff8ea3a7266af783f56/xlights/tesla_xlights_show_folder.zip

  3. 在xLights中点击“文件(File)”->“打开序列(Open Sequence)”,选择LightShowCreator导出的lightshow.fseq文件。请务必确保打开的是lightshow.fseq,而不是lightshow.xsq。之后在View下拉菜单选择OldView,你会发现xLights里已经出现了很多自动生成的帧,接下来你可以用xLights进行更加精细的编辑。

如果在导入时遇到问题,请务必注意以下几点:

  1. 将LightShowCreator导出的三个文件放到同一个文件夹中(mp3/wav,fseq和xsq)。
  2. 确保你用的xLights版本是从Github上下载的2023年最新版本(https://github.com/teslamotors/light-show)。使用2021年版本可能会导致不兼容的情况。
  3. 在导入时选择”lightshow.fseq”,而不是”lightshow.xsq”,否则可能会出现警告并丢失数据。

希望这个教程对你有帮助,享受制作特斯拉灯光秀的乐趣吧!如果你还有其他问题或需求,随时联系我,期待你的反馈和精彩灯光秀作品!

阅读全文 »

自定义灯光秀是特斯拉汽车的一项很酷的功能。 LightShowCreator是一款可以快速轻松制作灯光秀的APP。 如果您对它感兴趣,您也可以尝试用它来定制你自己的节目。

1. U盘要求

  • 必须包含一个名为“LightShow”的基本文件夹(解压从该项目下载的 LightShow.zip)
  • 必须格式化为 exFAT、FAT 32(适用于 Windows)、MS-DOS FAT(适用于 Mac)、ext3 或 ext4。 当前不支持 NTFS。
  • 根目录不得包含的 TeslaCam 文件夹。

特斯拉官方指南: https://github.com/teslamotors/light-show

2. 如何创建新项目

阅读全文 »

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

阅读全文 »

这段时间赋闲在家,对近些年的工作进行了复盘。工作么多年,一点小心得,分享一下。

1. 如何定义一个能力很强的游戏程序员

  • 拥有很强的battle能力,从根本上去说服一个人,改变一个人的看法,让他配合自己的工作,这个非常难(反例:级别压制,我是你是上级,或者我的上级要求这么做),更高阶是做倒知己知彼,站在多方角度考虑,给出靠谱方案。
  • 具备一定的前瞻性,在设计框架的时候充分考虑到将来的迭代计划,能预计到将来策划可能会提什么样的需求(纵使策划现在矢口否认),在现有的框架下,尽可能快的满足策划的需求。
  • 独当一面的能力,在项目的某一个方面或者某个模块,做到事无巨细,是团队里最熟悉这一模块的一员,不仅能出色得完成份内工作,还能驱动需求的迭代,给其它岗位的同事提出建议和解决方案。
  • 工作效率高,善用各类工具或者能自己写一些自动化工具进行编码,测试等。具体体现在,交付速度快,bug少,返工少,加班少。
  • 攻坚能力,有能解决核心问题,如关键算法,修复致命bug。
  • 知识面要广,不拘限于某种单一的语言或者技术。每一种语言或者技术都有它擅长的邻域,只要把它用在恰当的地方即可。

2. 如何定义一个能力很强的主程

  • 首先应该是一个能力很强的程序员plus
  • 具备很强的识人能力,在短短的面试阶段,能甄别出真正适合自己团队的人才,所谓的适合不是面试笔试对答如流,而是具备上面说的优秀程序员的特性,或者非常有潜力成为这样的程序。
  • 合理的安排任务,不把下属当工具人:根据团队成员的特性指派合适的任务,并给予高度自主权,所谓的合适,可能是该程序在某一方面的特长,或者是某一方面的技能需要历练,在出色的完成工作同时能得到能力上的提升。
  • 把控进度的能力。对于完成策划需求的用时预估要准确,在给下属留有一定缓冲的同时,尽可能早的让策划看到原型。
  • 对游戏有深刻理解,知道策划最终想要什么,还有他们此时此刻最想要什么。这有助于版本的快速迭代和上面说的进度把控。
  • 留得往人。给下属争取更多的利益,给下属足够的发展空间。很简单直接,要么钱给够,要么不让人受委屈。

3. 关于开源

  • 代码就像是程序员的底裤,不能随便给人看的。代码开源,就是把自己的内裤扒出来给人看。秀出来的,一定是很屌的东西。
  • 不能为了开源而开源。开源应该是一个造轮子的过程,这个轮子不能重复造。一定是因为某个项目,或者库,可能会对别人有帮助。不能是说,以前我做了个很牛很牛的项目,现在把它的代码开源,来炫一下技。还有一些通过歪门邪道来骗赞的就不说了。
  • 开源可以让自己的综合能力得到迅速提高。开源,其实说白了就是相互白嫖的过程。社区里什么牛马蛇神都有,大家共同维护一个项目,无私奉献和拿来主意都能各取所需,大家者有各自的需求。在这里,每设计一个接口,每提供一个功能,都会不由自主的考虑,这是不是大部分人想要的?会不会让项目变能冗余?能不能做的更通用点?扩展性好不好?等等这些问题,我们的自己的闭源项目里是很少思考的。长期以往,就会本能的写出更优质的代码,我们程序员最向往的高内聚,低耦合的代码。
阅读全文 »

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",

1. 插件的自动更新是问题频发的根源,下面总结了一些稳定能用的版本

  • dotnet framework版本:v4.7.1
  • unity的vscode package版本:1.2.0(在manifest.json中配置, “com.unity.ide.vscode”: “1.2.0”)
  • vscode的C#插件版本:v1.24.0(在卸载按钮旁边的小剪头,点击安装另一个版本)
  • vscode的omnisharp版本:1.39.2(settings.json里的omnisharp.path字段)

2. dotnet framework默认安装路径

阅读全文 »

最近在youtube上传了个应用的预览视频,给GooglePlay展示用,但是没过几天就被GooglePlay撤掉了。猜测原因是广告问题,我点开我上传的视频,总是偶尔会有广告出来。看文档是关闭视频的创收即可,我翻遍了整个youtube的各种设置界面都找不到关闭创收的按钮或选项,我压根就没有达到youtube合作伙伴的要求,何来关闭创收一说,可是我的视频广告是从何而来呢。

折腾了好久,还是搞不定,最后只能救助于GooglePlay的客服。

我的APP视频预览看不到了,猜测原因是我的youtube视频仍存在广告。但是我的youtube账号未加入合作伙伴计划,我在创收页面找不到关闭广告的选项,在选中视频内容的时候也找不到创收的选项。请问有什么办法关闭youtube的广告,或者是其它办法让APP的视频预览恢复?

谷歌的回信

经过调查,目前系统侦测到您的宣传影片含有盈利功能,而是否含有相关功能是由系统来判定的。如果您的视频中含有广告,则必须停用广告,视频才能在 Play 商店中展示。我们希望当用户浏览 Play 商店时他们看到的视频展示的是您的应用,而不是广告,因为广告可能会令用户感到困惑。

您可以参考此帮助中心与以下视频要求:
·关闭影片中的营利功能
·上传一个不含获利声明的视频,然后在 Google Play 管理中心内更新视频网址。
·将视频的隐私设置设为公开或不公开列出。请勿将其设为不公开。
·确保您的视频可嵌入 Play 商店 Android 应用和网站。
重要提示:如果您的视频使用了受版权保护的内容,那么即使您为该视频关闭了获利功能,也可能无法避免其展示广告。在这种情况下,您需要换一个视频(该视频应不含受版权保护的内容,不带有获利声明)。

经检查发现,果然是因为我的视频里的背景音乐收到了版本主张。
Youtube对音乐版本非常严格,不像国内的抖音一类可以随便嫖。有商用需求的话,一定要避免版权问题,可以直接购买该音乐的版权(通常我们一般人做不到),又或者可以免费使用CC版权音乐。

0.0.1. 推荐几个CC版权的网站

阅读全文 »