Author: iHTCboy

App Store Before iOS 11, the App charts had been used to measure developers’ App activity. But after iOS 11, Apple weakened the function of the charts and changed it to a secondary entry, making it difficult to query the charts. Through in-depth research, the editor finally realized an open source App with powerful functions such as viewing App lists, searching, information, and releasing effective apps.

One, foreword

The App Store has always been the most important part of the iPhone ecosystem. In the early days of the iPhone Store, because there were fewer apps, there were Top 25 lists:

However, in subsequent iterations of the App Store, Top Charts have always been a major entry point for new users to download apps from the Charts, so the importance of Charts cannot be ignored.

By 2017, the iPhone was huge, with 2.2 million apps in the App Store, even though it accounted for less than 30 percent of mobile phones. The display and recommendation of the App Store obviously cannot meet the huge number of new apps every day. There are more and more apps that want to be noticed. On the other hand, there is always the problem of leaderboards crashing; And the Design of the App Store just doesn’t cut it! The Updates TAB, for example, is a simple TAB that displays a list of apps that need to be updated.

So, starting with iOS 11, apple redesigned the AppStore to include Today and Games tabs, and put the leaderboard list in a secondary entry to the Apps TAB. Apple has beefed up its editorial team’s recommended apps by adding a large section of editorial recommended apps to the games and App TAB categories, which are no longer visible.

Now, the App Store In iOS 15 has added more functions, such as product page optimization, customized product page, in-app Events, etc., with the obvious purpose of enabling developers to increase active content and increase daily App activity and revenue.

In fact, the function of the list is not only a list, often over the years of precipitation, the list has been basically stable. For example, the apps you see are the same all year round, and the apps that make it to the top of the list get more downloads. For developers, charts are an important predictor of app revenue, usage, and downloads. For users, it is still the habit of some old users to find some interesting or popular apps.

Therefore, the editors hope to solve a lot of pain points by implementing an App Store leaderboard that can be easily viewed on a daily basis, while simultaneously viewing information, searching or subscribing to App release status.

Second, effect display

First, let’s take a look at what’s currently available in the iAppStore.

IAppStroe is an Apple Store tool App created using SwiftUI.

  1. Provide real-time apple chart query, including iOS and iPad hot free list, hot paid list, best-selling list, as well as new list, new free list, new paid list, etc.
  2. Query app details, search app, subscribe app status and other functions.
  3. Support Apple stores in all countries and regions, no need to switch Apple Id, you can view!

2.1 list

First of all, we have a lot of charts on the App Store. We have the top free charts, the top paid charts, the top grossing charts for iOS and iPad, the top grossing charts for new releases, the top free charts for new releases, the top paid charts for new releases. In addition, we restored the UI of the App Store charts and added more information, such as the category of the App.

Most importantly, we integrate all national and regional stores into one panel, allowing you to quickly switch lists by selecting from a drop-down list.

2.2 App Details page

The App details page displays the parameters that the developer cares about most at the front. In addition, duplicate inclusion or App ID is a high frequency requirement, and App description and update schemes also mimic the effects of the App Store. The preview area contains iPhone and iPad images. Click to display the larger image, and you can download and share the larger image.

2.3 the search

Search area, you can enter keyword fuzzy search, or App ID precise search. In addition, toggle countries and regions in the upper right corner to display App searches for different regions.

2.4 Application Status Subscription

What does this status subscription mean? You can monitor the status of the App in the store. For example, when a new version of the App is released, how long will it take to display it in the store? Therefore, we can query the status of the App periodically through the interface of Apple, so as to know when the App takes effect. When a new App is just released, or when it needs to be removed from the store, etc.

2.5 other

In order to facilitate the use of developers, the App list will be long, the operation list will pop up, you can copy the information of the App or quickly open the App Store product page, as quickly as possible to obtain the content! In addition, there is support for dark mode, still beautiful! To switch ICONS, you can select the ICONS to be displayed.

What function would you like to leave a message in the comments section

3. Research work

Next, let’s talk about how the API is researched to achieve the above functions. Through extensive web search, the final test is compiled into a valuable list:

3.1 List Interface

Example API for querying leaderboards

Link to the sample Links to illustrate Refer to the link
https://rss.applemarketingtools.com/api/v2/cn/apps/top-free/100/apps.json Apple’s official interface, in addition to the App charts, also supports apple’s own Music, Books and Podcasts charts, which currently offer the top 200 data points. RSS Builder
http://ax.itunes.apple.com/WebObjects/MZStoreServices.woa/ws/RSS/topfreeapplications/limit=100/json?cc=cn Apple RSS Feeds, Apple’s old RSS interface, currently provides the top 100 items of data. RSS Information
https://itunes.apple.com/cn/rss/topfreeapplications/limit=100/json Apple chart query interface, currently provides the top 100 data. Stack Overflow
https://itunes.apple.com/rss/topGrossingApplications/limit=100/json?cc=cn Apple chart query interface, currently provides the top 100 data. Put the regional language into a separate field. link

None of the above documents disclosed by Apple can be found in API documents. But the Web site for Apple is on one page: Apple Services Performance Partners, one of the Services called Enterprise Partner Feed Relational. At present, this cooperation seems to be difficult to obtain. So, relevant document links are unable to access to, such as affiliate.itunes.apple.com/resources/d… .

There are no documents for the parameter types in the above links, so the research is as follows:

List the type

field English description parsing
topFreeApplications Top Free Applications Hot Free Apps
topPaidApplications Top Paid Applications Top Paid Apps
topGrossingApplications Top Grossing Applications Best Seller list (highest income)
newApplications New Applications The new application
newFreeApplications New Free Applications New free app
newPaidApplications New Paid Applications New paid apps
topFreeiPadApplications Top Free iPad Applications Hot free iPad app
topPaidiPadApplications Top Paid iPad Applications Top paid iPad apps
topGrossingiPadApplications Top Grossing iPad Applications The best-selling iPad app

Application of classification

Category ID English description parsing
6000 Business business
6001 Weather The weather
6002 Utilities tool
6003 Travel tourism
6004 Sports sports
6005 Social Networking social
6006 Reference The resources
6007 Productivity The efficiency of
6008 Photo & Video Photography and video
6009 News News, China area no data ⚠️
6010 Navigation navigation
6011 Music music
6012 Lifestyle life
6013 Health & Fitness Health and fitness
6014 Games The game
6015 Finance financial
6016 Entertainment entertainment
6017 Education education
6018 Books The book
6019 Places & Objects Location and item, field is invalid ⚠️
6020 Medical medical
6021 Newsstand Newspapers and magazines
6022 Catalogs Product guide, field invalid ⚠️
6023 Food & Drink Good food drink
6024 Shopping shopping
6025 Stickers IMessage sticker, field is invalid ⚠️
6026 Developer_Tools Software development tools
6027 Graphics_And_Design Graphics and Design

For more categories, see the HTML TAB on Apple’s website: App Store

National or regional identification

ID English description parsing
cn China mainland China
hk Hong Kong Hong Kong, China
tw Taiwan Taiwan, China
mo Macao Macau, China
us United States The United States
jp Japan Japan
kr Korea, Republic of South Korea

For more classification identifiers, see the HTML tag on Apple’s website: RSS Builder

Interface specification

Originally, the interface provided 200 data queries, but on September 2, 20221, after the adjustment of the Interface, Apple significantly reduced the App Store ranking data sharing, from 1500 to 200. Currently, you can only view the data of the top 200 apps in the Overall AppStore, Apps, Games and Categories.

3.2 Searching interfaces

The App search interface is simple and has official documentation:

  • iTunes Store API
  • iTunes Search API: Constructing Searches

Example interface:

https://itunes.apple.com/search?term= & dou luo continent country = cn&limit = 200 & entity = softwareCopy the code

The term field is the keyword, and the country field is the label of the country or region, which is the same interface as the list above. Entity =software is fixed as search software. Detailed use, can refer to the official documents, here will not expand.

3.3 App Details

You can use the Lookup interface to query an App. For details, see Lookup Examples on the official website.

Example interface:

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

3.4 App review content

Query the user review content of an App, not found in apple’s documentation, but according to the above survey, interface use is not a problem.

Example interface:

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

Region, App Id, sortBy field, you can search. For pagination or more information, see the links at the end of this article.

Iv. Development ideas

With the above API interface, we can realize our App, which is built using SwiftUI, now open source:

  • iAppStore – GitHub

The detailed practical process will not be explained in this way, because App is a tool application, the interaction content is not much, so it is not very complicated. Sure, UI building with SwiftUI is incredibly fast, but when it comes to tweaking the UI details, make sure it takes a lot of thought. For example, SwiftUI does not yet support WebViews, so views bridged with SFSafariViewController will display incorrectly in the SwiftUI component.

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

Im :id, im:bundleId, including colon, make people doubt life! Finally, the problem of resolving mappings is solved by customizing key value names. For details, refer to the AppRank. Swift class in the source code.

struct IDAttributes: Codable {
    let imBundleID, imID: String
    
    // Create a custom key name
     enum CodingKeys: String.CodingKey {
        case imID = "im:id"
        case imBundleID = "im:bundleId"}}Copy the code

To sum up, if it is an App developed by individuals, SwiftUI can be used to develop it. After all, users are also happy with the native experience and native components. In addition, using ICONS provided by SF Symbols, regardless of support for lower versions, is also very friendly!

Five, the summary

IAppStore took half a month from conception to implementation, during which I spent a lot of time researching and debugging interfaces. I still see a lot of people asking about these interfaces on the Internet, and I believe many developers don’t know about these interfaces. Therefore, this article is a summary of the answers and I hope this problem will disappear from now on

Finally, iAppStore is just a product implemented from the needs of the editors, so there must be a lot of problems, but at the same time, it is an open source project, so if you are interested, join us to add more interesting or dark technology experience!

If you have any thoughts or suggestions, let us know in the comments section. You can also go to iAppStore – GitHub to give us Star encouragement! Thank you.

Welcome to the comments section

Please follow us for more updates on iOS and Apple

Six, reference

  • 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
  • How do I query the ranking of an app based on specific keywords in appstore? – zhihu
  • AppStore application list, access interface | AnQiQi
  • iTunes Enterprise Partner Feed
  • RSS Builder
  • RSS Information – Apple
  • RSS for Top Movies got no results – Apple Community
  • Module: StoreApi::AppStore — Documentation for store_api (0.2.2)
  • Apple has slashed sharing of App Store ranking data from 1,500 to 200 – IT homes
  • Download the App Store from iTunes
  • iTunes Store API
  • iTunes Search API: Constructing Searches
  • iTunes Search API: Lookup Examples
  • Analysis of PodCruncher App Ratings and Reviews on iTunes
  • Listen to new reviews on iOS Apps · Bell’s Blog
  • Marketing Tools and Resources – Apple Services
  • 37iOS/iAppStore-SwiftUI – GitHub
  • ios – How do I use SFSafariViewController with SwiftUI? – Stack Overflow
  • SF Symbols – Apple Developer