# 正式用户
UNITY_EMAIL: ${{ secrets.UNITY_EMAIL }}
UNITY_PASSWORD: ${{ secrets.UNITY_PASSWORD }}
UNITY_SERIAL: ${{ secrets.UNITY_SERIAL }}
# 免费用户
UNITY_LICENSE: ${{ secrets.UNITY_LICENSE }}
用于登录和构建_Unity for Linux_ 时候, 你的 Unity 的电子邮件地址
用于登录和构建_Unity for Linux_ 时候, 你的 Unity 的密码
如果你是订阅了 Unity Plus 或者 Unity Pro 之后, 那么直接可以从Unity 订阅页面获取密钥.
-
创建一个文件, 加入以下代码, 并放置到
.github/workflows/getManualLicenseFile.yml
name: 获取激活文件 on: workflow_dispatch: {} jobs: activation: name: 请求手动激活文件 🔑 runs-on: ubuntu-latest steps: # 请求手动激活文件 - name: 请求手动激活文件 id: getManualLicenseFile uses: game-ci/unity-request-activation-file@v2 # Upload artifact (Unity_v20XX.X.XXXX.alf) - name: 导出 uses: actions/upload-artifact@v2 with: name: ${{ steps.getManualLicenseFile.outputs.filePath }} path: ${{ steps.getManualLicenseFile.outputs.filePath }}
-
推送该文件并手动运行该
Action
等待片刻得到一个Unity_v20XX.X.XXXX.alf
并下载保存解压 -
上传刚刚得到的
.alf
文件- 可能会有 serial has reached the maximum number of activations. 这个问题的出现, 目前没有好的解决方案.
- 我的解决方案是创建了一个新的账号, 这个账号不在个人电脑上操作.
-
得到一个
Unity_v20XX.x.ulf
文件, 里面的内容便是.
注意:更改 Unity 版本时,您可能需要重复相同的过程。
1. 这个不需要填写, Github Action
文档里面的意思好像会自动填写.
所有以 GITHUB
开头的都不允许填写.
详见对应文档
将整个 .keystore
文件 base64 处理, 用于构建安卓包.
该方法并不适用
生成certutil -encode release.keystore release.base64
只需要复制里面的内容即可验证certutil -decode release.base64 release_decode.keystore
安装并直接调用 base64 库即可
- 生成
base64 release.keystore > release.base64
- 验证
cat release.base64 | base64 --decode > release_comp.keystore
keystore密钥中, 密钥库的密码
keystore密钥中, 密钥库中选中的密钥名称
keystore密钥中, 密钥库中选中的密钥密码
Github
的 Personal access token, 用来上传包到 Github
的发布页面
Github
的 Personal access token, 用来上传内容到 Github
用于登录和构建_Unity for Windows_ 时候, 你的 Unity 的电子邮件地址
用于登录和构建_Unity for Windows_ 时候, 你的 Unity 的密码
用于登录和构建_Unity for Windows_ 时候, 激活账号使用权限的密钥
- 登录 Unity 帐户
- 转到帐户设置
- 通过身份验证器应用程序激活双因素身份验证
- 在带有 QR 码的页面上,单击"无法扫描条形码?"并保存密钥(删除其中的空格)
- 完成激活
获取 API 访问权限 利用 Google Play Developer Publishing API 实现应用配置自动化,并将应用版本整合到您现有的工具和流程中。
- 打开 Google Play 管理中心(Google Play Console)
- 单击 帐户详情 ,然后下滑找到并记下其中列出的 开发者帐号 ID
- 单击 设置 → API 权限
- 单击 选择要关联的项目
- 单击 我同意 → 创建新项目 → 关联项目
- 在 服务账号 这一栏目里面有 单击 创建新的服务账号.
- 在弹出的对话框中的 Google 云端平台(Google Cloud Platform) 链接,该链接将打开一个新标签页:
- 在 搜索框 左边有一个 下来框, 如果显示 选择项目, 需要下来选择到 Google Play Console Developer
- 然后 创建服务账号
- 输入 服务账号名称 → 输入 服务账号说明
- 点击 创建并继续
- 单击 请选择一个角色 → 筛选框内输入
Service Account User
并选中筛选结果. - 直接点击继续
- 得到一个账号后, 在
操作
那里有垂直三点图标, 点开选中 管理密钥 → 添加密钥 → 选择JSON
后直接创建. - 这时候浏览器将会提示将文件保存在计算机上,并记住文件保存到的位置.
- 返回 Google Play 管理中心 标签页,然后点击 完成 以关闭对话框
- 然后底部就会出现一个新的服务账户 单击 授予访问权.
- 建议直接选择 管理员(所有权限) → 邀请用户 → 发送邀请
- 完成.
ios:
APPLE_CONNECT_EMAIL: ${{ secrets.APPLE_CONNECT_EMAIL }}
APPLE_DEVELOPER_EMAIL: ${{ secrets.APPLE_DEVELOPER_EMAIL }}
APPLE_TEAM_ID: ${{ secrets.APPLE_TEAM_ID }}
APPLE_TEAM_NAME: ${{ secrets.APPLE_TEAM_NAME }}
MATCH_URL: ${{ secrets.MATCH_URL }}
MATCH_PERSONAL_ACCESS_TOKEN: ${{ secrets.GH_PERSONAL_ACCESS_TOKEN }}
MATCH_PASSWORD: ${{ secrets.MATCH_PASSWORD }}
APPSTORE_KEY_ID: ${{ secrets.APPSTORE_KEY_ID }}
APPSTORE_ISSUER_ID: ${{ secrets.APPSTORE_ISSUER_ID }}
APPSTORE_P8: ${{ secrets.APPSTORE_P8 }}
USYM_UPLOAD_AUTH_TOKEN: ${{ secrets.USYM_UPLOAD_AUTH_TOKEN }}
mac:
APPLE_CONNECT_EMAIL: ${{ secrets.APPLE_CONNECT_EMAIL }}
APPLE_DEVELOPER_EMAIL: ${{ secrets.APPLE_DEVELOPER_EMAIL }}
APPLE_TEAM_ID: ${{ secrets.APPLE_TEAM_ID }}
APPLE_TEAM_NAME: ${{ secrets.APPLE_TEAM_NAME }}
APPLE_DISTRIBUTION_CERTIFICATE: ${{ secrets.APPLE_DISTRIBUTION_CERTIFICATE }}
APPLE_DISTRIBUTION_PASSWORD: ${{ secrets.APPLE_DISTRIBUTION_PASSWORD }}
MAC_INSTALLER_CERTIFICATE: ${{ secrets.MAC_INSTALLER_CERTIFICATE }}
MAC_INSTALLER_PASSWORD: ${{ secrets.MAC_INSTALLER_PASSWORD }}
APPSTORE_KEY_ID: ${{ secrets.APPSTORE_KEY_ID }}
APPSTORE_ISSUER_ID: ${{ secrets.APPSTORE_ISSUER_ID }}
APPSTORE_P8: ${{ secrets. APPSTORE_P8 }}
${{ secrets.MICROSOFT_STORE_PFX_FILE }}
MICROSOFT_TENANT_ID: ${{ secrets.MICROSOFT_TENANT_ID }}
MICROSOFT_CLIENT_ID: ${{ secrets.MICROSOFT_CLIENT_ID }}
MICROSOFT_KEY: ${{ secrets.MICROSOFT_KEY }}
username: ${{ secrets.STEAM_USERNAME }}
password: ${{ secrets.STEAM_PASSWORD }}
configVdf: ${{ secrets.STEAM_CONFIG_VDF }}
ssfnFileName: ${{ secrets.STEAM_SSFN_FILE_NAME }}
ssfnFileContents: ${{ secrets.STEAM_SSFN_FILE_CONTENTS }}
DISCORD_WEBHOOK: ${{ secrets.DISCORD_WEBHOOK }}
consumer-key: ${{ secrets.TWITTER_CONSUMER_API_KEY }}
consumer-secret: ${{ secrets.TWITTER_CONSUMER_API_SECRET }}
access-token: ${{ secrets.TWITTER_ACCESS_TOKEN }}
access-token-secret: ${{ secrets.TWITTER_ACCESS_TOKEN_SECRET }}