使用 TypeScript 构建的 appstore-conne
App Store Connect API 概述
App Store Connect API 是苹果公司为开发者提供的一组基于 REST 架构的 API,它们用于管理您的 App Store Connect 账户、应用程序、版本、测试等资源。App Store Connect API 提供了一种编程方式来管理这些资源,从而使自动化操作成为可能。无论是自动化应用程序发布、审查更新、分析收入等,使用 App Store Connect API 都可以大幅提高开发人员的效率,比如:
- 上传和发布应用程序、应用程序元数据和应用程序截图
- 获取应用程序评级和评估的详细信息
- 查看应用程序的销售和财务报告
- 处理应用程序的财务事务,例如订阅和消费品购买
- 使用 App Store Connect API 可以实现自动化管理和监控应用程序在 App Store 中的表现,帮助开发者和运营团队提高效率,同时还可以提供更好的用户体验。
例如,如果您需要上传和发布应用程序更新,您可以使用 App Store Connect API 自动化这个过程,减少手动干预的时间和错误,同时也可以提高发布的效率。
另外,使用 App Store Connect API 还可以帮助您分析您的应用程序在应用商店中的表现,例如获取应用程序的评分和评论等信息。这些信息可以帮助您更好地了解用户需求,并及时响应用户反馈,提高应用程序的质量和用户体验。
总之,使用 App Store Connect API 可以帮助开发者和运营团队自动化应用程序管理和监控,提高效率和用户体验。
appstore-connect-sdk 简介
appstore-connect-sdk 是我最近开发的一个 Node.js 模块,使用 TypeScript 编写,它提供了一种方便的方式,供开发人员与 App Store Connect API 进行交互,该模块构建在 OpenAPI Generator
工具之上,基于苹果官方提供的 OpenAPI 规范提供对全部 API 的支持。
import AppStoreConnectAPI from "appstore-connect-sdk";
import {
AppsApi,
AppEventLocalizationsApi,
} from "appstore-connect-sdk/dist/openapi/apis";
const appStoreConnect = new AppStoreConnectAPI({
issuerId: "<YOUR ISSUER ID>",
privateKeyId: "<YOUR PRIVATE KEY ID>",
privateKey: "<YOUR PRIVATE KEY>",
});
const res = await client.call(AppsApi).appsGetCollection();
console.log(res);
使用 appstore-connect-sdk
可以方便地进行许多自动化任务,例如提交应用程序更新、审查、查询销售报告等操作,从而大幅提高开发人员的效率。通过使用 TypeScript 编写,该模块提供了良好的类型支持,从而使代码更易于编写和维护。
OpenAPI Generator
appstore-connect-sdk
模块是基于 OpenAPI 规范生成的,因此它提供了对 AppStore Connect 上百个 API 的完整支持。如果之后苹果更新了 API,只需要使用其他的 API,只需要修改对应的 OpenAPI 规范文件并使用 OpenAPI Generator 重新生成相应的代码即可。
openapi-generator-cli generate \
-i ./app_store_connect_api_2.2_openapi.json \
-o src/openapi \
-g typescript-fetch \
--additional-properties=supportsES6=true \
--skip-validate-spec
使用 OpenAPI Generator 生成的代码具有良好的可读性和易于维护的特点。开发人员可以使用自己熟悉的 HTTP 客户端库(例如 Axios、node-fetch 或浏览器的内置 fetch API 等)进行请求,从而更加灵活地使用该模块。
对 Deno 运行时的兼容
虽然 appstore-connect-sdk
是一款基于 Node.js 的 SDK,但它在一定程度上也兼容 Deno 运行时环境。不过,由于 Deno 并没有完全支持 Node.js 的 crypto 模块,导致 appstore-connect-sdk 的某些功能在 Deno 环境下可能无法正常工作。
其中,最明显的限制是 appstore-connect-sdk
依赖的 jsonwebtoken
包不完全支持 Deno。因此暂时无法使用 jsonwebtoken
在 Deno 环境下生成 JWT 令牌,不过,你可以通过与 Deno 完全兼容的库(例如 djwt)手动生成 JWT 令牌,然后将其传递给 appstore-connect-sdk
模块,以实现与 App Store Connect API 的身份验证。
在 deno_example 中可以找到一个在 Deno 环境下使用 appstore-connect-sdk
模块的示例。
我们致力于确保 appstore-connect-sdk
模块在 Node.js 和 Deno 环境下的完全兼容,并将继续改进其在 Deno 环境下的兼容性,以适应 Deno 运行时的演进。
通过 AWS/Vercel/Deno Deploy 等函数计算快速构建 App Store Connect 自动化任务
appstore-connect-sdk
模块提供了一个方便的方式,让开发者快速地与 App Store Connect API 进行交互。不过,为了进一步提高使用效率,你也可以将 appstore-connect-sdk
模块与 AWS Lambda、Vercel 或 Deno Deploy 等函数计算服务一起使用。
以 AWS Lambda 为例,你可以通过将 appstore-connect-sdk
作为依赖包添加到 AWS Lambda 函数的 Node.js 运行时环境中,快速搭建一个用于自动化 App Store Connect API 操作的 Lambda 函数。在 Vercel 或 Deno Deploy 等平台上,你也可以通过类似的方式使用 appstore-connect-sdk
模块。
结语
随着移动应用市场的不断扩大,开发者对于 App Store Connect API 的需求也越来越多。使用 appstore-connect-sdk
这样的工具,可以使开发者更加便捷地与 App Store Connect API 进行交互,从而实现自动化流程、提高工作效率、降低人力成本。我们相信,随着技术的不断发展和应用场景的不断扩展,App Store Connect 自动化将会有更加广阔的发展空间。