作者:iHTCboy

App Store 在 iOS 11 之前,App 排行榜一直是衡量开发者 App 活跃度的指标,但在 iOS 11 后苹果弱化了榜单功能,改为了二级入口,导致查询榜单困难,编者通过深入调研最终实现了一个开源节流什么意思查看 App产品运营 榜单、搜索、信息、发布生效等强大功能的开源 App。

一、前言

App Store 一直以来都是 iPhone 生态的最重要一分页预览环,在初代 iPhone 商店,因为 App 比较少,当时就有 Top 25 榜单:

用 SwiftUI 实现一个开源的 App Store

然后在后续的 App Store 迭代中,排行榜(Top Ch产品设计arts)一直是一个主要的入口,新用户基本都会从榜单下载 App,所以,榜单的重要性不容忽视。

用 SwiftUI 实现一个开源的 App Store

直到 2017 年,虽然占了不到 30% 的手机份额,但 iPhone 的体量已经非常大,App Store 应用数量已经达接口和抽象类的区别到 220 万。Ap产品设计专业p Store 的展示和推荐,显然满足不了每天巨大的新 App,有越来越多的 App 希望得到关注;而另一方面,排行榜刷jsonyau榜问题一直存在;还有就是 App Store 的设计已经接口和抽象类的区别满足不了需求!比如更新(Updates) 标签功能单一,就是负责显示需要更新的json格式转换 App 列表。

所以,从 iOS 11 开始,苹果将 AppStore 重新设计,增加了 T产品介绍oday 和 Games 游戏标签入口,而排行榜列表放到了 Apps 标签的二级入口分页符怎么显示出来中。苹果加强了自己的编辑团队推荐的App,在游戏和应用标签分类的前面也加入了大区域的编辑jsonyau推荐 App,如今已经看不到榜单了。

用 SwiftUI 实现一个开源的 App Store

而现在 iOS 15 中的 App Store 增加了更多的功能,比如产品页优化、自定产品页、A产品设计专业pp 内活动(In-App Events)等,目的很明显就是让开发者增加活跃内容,提升 App 日活和收入。

而排行榜功能,其实已经不单单是一个榜单的作用接口的作用,经常这些年的沉淀,榜单基本已经稳定。比如大家看到的 App,常年不变,而冲到榜单的 Ajson格式转换pp,会获产品经理得更多的下载量。对于开发者来说,榜单可以用来预测应用收入、使用量和下载量的一个重要指标。对于用户来说,发现一些有趣或者热门的 Ajson文件是干什么的pp,依然是部分老用户的习惯。

产品设计以,编者希望通过实现一个 App Store 排行榜,方便日常查看,同时查看信息,搜索或应用发布状态订阅等功能,解接口是什么决了非常多的痛点问题。

二、效果展示

首先,我们先来介绍一下分页符和分节符的区别,目前 iAppStore 实现了那些功能。

iAppStroe 是一款使用 SwiftUI 打造的苹果商店接口测试工具类 App。

  1. 提供苹果实时榜单查询,包含 iOS 和 iPajsonyaud 的热门免费榜、热门付费榜、畅销榜,还有新上架榜、新上架免费榜开源众包、新上架付费榜等。
  2. 提供查询 app 详细页面内容、搜索 app、订阅 app 状态等功能。
  3. 支持苹果所有国家和地区的商店,无需切换 Apple Id,即可查看!

2.1 排开源行榜

首先,App Store 的榜单有很多,包含 iOS 和 iPad 的热门免费榜、热门付费榜、畅销榜,还有新上架榜、新上架免费榜、新上架付费榜等json解析,我们都实现了这些榜单。另外,我们将 App Store 榜单的 UI 还原,同时,也增加了更接口测试多的信息展示,比如 App 所属分类分页符和分节符的区别等。

用 SwiftUI 实现一个开源的 App Store

最重要的是,我们把所有国家和地区的商店,都集成在一个面板中,通过下拉列表选择,实开源节流现快速切换榜单。分页符怎么加入

2.2 App 详细页

App 详细页面,把开发者最关心的参数显示在最前面。另外,复制包含或者 App ID 是一个高频的需求,App 描述和更新方案也高仿了 App开源阅读app下载安装 Store 的效果。预览区包含 iPhone 和 iPad 图片。点击可以显示大图,并且可以下载和分页符和分节符的区别分享大图。

用 SwiftUI 实现一个开源的 App Store

2.3 搜索

搜索区,可以输入关键字模糊搜索,分页预览怎么关闭或者 App ID精准开源阅读app下载安装搜索。另外,在右上角切换分页符怎么设置国家和地区,产品策略显示不同地区的 App 搜索。

用 SwiftUI 实现一个开源的 App Store

2.4 应用状态订阅

这个状态订阅是什么意思?就是可以监听 App 在商店的状态,举例来说,App 发布了新版本,那么大概要多久才能在商店上显示呢?所以,我们可以通过苹果的接口,来定时的查询 App 的状态,从而知道 App 什么时候生效。产品策略还有新 App 刚刚发布时、或者 App 需要下架了,什么时候才从商店消失等。

用 SwiftUI 实现一个开源的 App Store

2.5 其它

为了方便开发json解析者使用,App开源中国 列表长按时,会弹出操作列表,可以已经复制 App 的信息或者快速打开 App Sto产品介绍re 产品页,尽可能的快捷获取内容!另外,还支持暗黑模式,依然精美绝伦!切换图标可以选择自己显示的图标等。

用 SwiftUI 实现一个开源的 App Store

大家想要什么功能,可以在评论区留言啊~

三、调研工作

接下来,我们说一下要实现开源是什么意思以上功能,需要的 API 怎么调研出来的!通过大量的网页检索,最终测试后整理成有价值的列表:

3.1 榜单接口

查询排行榜的 API 示例

链接示例 链接说明 参考链接
https://json文件是干什么的rss.applemarketingtools.com/api/v开源中国2/cn/apps/tjson是什么意思op-free/100/apps.json 苹果官方提供的接口,除了 App 榜单,还支持苹果自家的 Music、Books、Podcasts 产品的榜单,目前提供前 200 条数据。 RSS Builder
http://产品生命周期ax.itunes.apple.com/WebObjects/MZStoreServicesjson数据.woa/ws/产品经理RSS/topfreeapplications/limit=100/json?cc=cn Apple RSjson格式转换S Feeds,苹果旧的 RSS接口,目前提供前 100 条数据。 RSS Infojson文件是干什么的rmation
https://itunes.apple.com/cn/rss/topfreeapplications/分页limit=100/json 苹果榜单查询接口,目前提供前 100 条数据。 Stack Overflow
https://itunes.apple.com/rss/topGrossing产品Applications/limit=100/json?cc=cnjson是什么意思 苹果榜单查询接口,目前提供前 100 条数据。把地区语言放到单独成一个字段。 链接

以上接口的作用内容在苹果公开的文档,都没有查询到 API 文档。但为苹果网站到在一个页面: Apple Services Performance Partners,其中一项服务叫:Enterprise Partner Feed Relational(企业信息流合作伙接口测试伴?),目前这个合作好像很难申请到。所以,相关的文档链接都无法访问到,比如 affiliate.itunes.apple.com/resources/d…。

那么以上链接json解析中几个参数类型,因为没有文档,所以调研梳理如下:

榜单类型

字段 英文说明 解析
topFreeApplications Top Free Applications 热门免费应用
topP接口测试aidApplications Top Paid Applications 热门产品质量法付费应用
topGrossingApplications Top Grossing Applicati开源中国ons 畅销榜(收入最高)
newApplications New Applications 新应用
newFreeApplications New Free Applications 新的免费应用
newPaidApplications接口crc错误计数 New Paid Applications 新的付费应用
topFreeiPadAppli产品质量法cations Top Free iPad Applications分页符怎么设置 热门免费 iPad 应用
topPaidi产品PadApplicati开源阅读ons Top Paid iPad Applications 热门付费 iPad 应用
topGross分页符ingiPadApplications Top Grossing iPad Applications 最畅销json格式的 iPad 应用

应用分类

分类 ID 英文说明 解析
6000 Business 商务
6001 Weath开源节流er 天气
6002 Utili接口类型ties 工具
6003 Trav接口类型el 旅游
6004 Sports 体育
6005 Social Networking 社交
6006 Reference 参考资料
6007 Productivity 效率
6开源众包008 Photo & Video 摄影与录像
6009 News 新闻,中国区无数据⚠️
6010 Navigation 导航
6011 Mu分页符和分节符的区别sic 音乐
6012 Lifestyle 生活
6013 Health &am接口测试用例设计p; Fitness 健康健美
6014 Games 游戏
6015 Finance 财务
6016 Entertainment 娱乐
6017 Educa开源众包tion 教育
6018 Books 图书
6019 Places & Obje接口测试用例设计ct分页s 地点与物品,字段已无效⚠️
6020 Medic分页符的作用是什么al 医疗
6021 Newsstand 报刊杂志
6022 Catalogs 商品指南,字段已无效⚠️
6023 Food & Drinkjson格式转换 美食佳饮
6024 Shopping 购物
6025 Stickers iMessage 贴纸,字段已无效⚠️
6026 Developer_Tools 软件开发工具
6027 Graphics_And_Design 图形和设计

更多分类,参考苹果网站的 HTML 标签:App Store

国家或地区标识

ID 英文说明 解析
cn China m开源阅读ainland 中国
hk Hong Kong 中国香港开源节流
tw Taiwan 中国台湾
mo Macao 中国澳门
us United States 美国
jp Japan 日本
kr Korea, Republic of 韩国

更多分类标识,参考苹果网站的 HTML 标签:RSS Builder

接口说明

原本接口提供 200 条数据查询,但 20221 年 9 月 2 日,苹果接口调整后,大幅削减 App Store 应用排行数据分享,从 1500 名降至 200 名。目分页符和分节符的区别前 AppStore 总榜、应用、游戏榜、分类榜只能查看前 200 个 App 的数据。

3.2 搜索接口

App 搜索接口开源是什么意思比如简单,并且有官方文档:

  • i分页符的作用是什么Tunes Store API
  • iTunes Search API: Constructing分页预览怎么关闭 Searches

接口示例:

https://itunes.apple.com/search?term=斗罗大陆&country=cn&limit=200&entity=software

ter产品批号是生产日期吗m 字段就是关键词,country 字段是国家或地区的标签,跟上面的榜单接口是同一个。entity=software 固定为搜索软件就好。详细的使用,可以参分页预览怎么关闭考官方文档,接口是什么这里就不展开了。

3.3 App 详细信息

查询某个 App 可以使用 lookup 接口,具体可以查看官网文档:Look产品策略up Examples。

接口示例:

https://itunes.apple.com/cn/lookup?id=1558453472

3.4 App 评论内容

查询某个 App 的用户评论内容,没有在苹果的文档中找到,但是根据以上的调研,接口使用问题不大。

接口示例:

https://itunes.apple.com/cn/rss/customerreviews/id=989673964/sortBy=mostRecent/json

地区、App Id、sortBy 字段,就可以搜索。如果需要分页或者获取更多,可以参考文末的链接。

四、开发思路

有了以上的 API 接口,接口就能实现我们的 App,这样使用 SwiftUI 来构建,现已开源:

  • iAppStore – GitHub

详细的实践过程就不在这样讲解了,因为 App 是工具类应用,交互的内容不多,所以并不是很复杂。分页符怎么加入当然,使用 SwiftUI 构建 UI 过程异常的快速,但是如果要调整 UI 细节,确定需要花很多心思。比如,Swi分页预览怎么关闭ftUI 还不支持 WebView,所以用 SFSafariViewController 桥接的 View 在 SwiftUI 组件中显示会异常。

  • How do I use SFSafariViewController with SwiftUI? – Stack Overflow

另外,就是苹果 Ajson文件是干什么的PI 的坑,接口返回的字段 im:ijson怎么读dim:bundleId,包含冒号,让人怀疑人生!最后,通过自定义键值名,解决了解析映射的问题。详细,可以参考源代码中 AppRank.swift 类。

struct IDAttributes: Codable {
    let imBundleID, imID: String
    // 自定义键值名
     enum CodingKeys: String, CodingKey {
        case imID = "im:id"
        case imBundleID = "im:bundleId"
    }
}

综上,如果是个人开发的开源 App,可以开始使用 SwiftUI 来开发,毕竟原生的体验和原生的组件,用户起来也很快产品介绍乐。另外,不考虑支持低版本系统,使用 SF Symbols 提供的图标,也非常的友好!

五、总结

iAppStore产品设计专业 从构思到实现,花了半个月的时间,期间调研接口和调试接口花了很多时间,网上依然看到很多jsonyau人问这些接口,相信很多开发者都不知道有这些接口,所以本jsonyau文也算是一个答案总结,希望这个问题从此消失哈~

最后,iAppStore 只是从编者需求来实现的一个产品,所以一定存在很多的分页符怎么删除问题,但同时它是一个开源项目,所以,如果大家有兴趣,一起来参与,增加更多有趣或者黑科技的体验吧!

欢迎大家有任何想法或者建议,可以在评论区给我们反馈。也可以到 iAppStore – GitHub 给我们 Star 鼓励!感谢大家~

欢迎大家在评论区一起交流~

欢迎关注我们,了解更多 iOS 和 Apple 的动态~

六、参考

  • app store – How to get top 400 lists from iTunes – Stack Overflow
  • web services – How can I use Appstore API to get top100 list? What is the common architecture to build a appstore application website? – Stack Overflow
  • 如何查询某个app在app接口卡store特定关键词搜索下的排名?接口文档 – 知乎
  • App开源众包Store应用排行榜、应用获取接口 | 安琪琪
  • iTunes Enter产品经理prisejson数据 Part产品设计ner Fe产品设计ed
  • RSS Builder
  • RSS Information – Apple
  • RSS for Top M分页符怎么显示出来ovies got no results – Apple Community
  • Module:分页符 StoreApi开源中国::AppStore — Docum接口测试用例设计entation for store_api (0.2.2)
  • 苹果大接口文档幅削减 App Store 应用排行数据分享,从 1500 名降至 200 名 – IT分页预览接口的作用
  • 从 iTunes 下载的 App Store
  • iTunes Store API
  • iTunes Search API: Construcjson格式转换ting Se开源arches
  • iTunes Search API: Lookup Ex接口英文amples
  • Analysis of PodCruncher App Ratings and Reviews o开源众包n iTunes
  • 接口卡听 iOS App 新评论 B接口卡ell’s blog
  • Marketinjson格式g To开源阅读ols and Resourcejsons – A开源阅读app下载安装pple Services
  • 37iOS/iAppStore-SwiftUI – GitHub
  • ios – How do I use SFSafariViewController wit产品质量法h Swijson格式ftUI? – Stack Overflow
  • SF Symbols – Appl开源e Developer