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.
- 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.
- Query app details, search app, subscribe app status and other functions.
- 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