One, foreword

For iOS developers, the App Store is a rite of passage, and I’m sure you’re all familiar with it. But there are so many features in the AppStore, and they get updated every year. For example, in our last post, we talked about how to interpret AppStore’s new features: Customizing product pages and A/B Test tools, so this article will explain some of the features that you often touch, but may overlook some of the details, and also explore some of the features that you rarely touch. It may not be the most complete, but there are some App Store secrets you don’t know!

AppStore secrets

Our SDK contains 250,000 apis that give you endless possibilities for building advanced functionality in your app. 92% of all iPhone devices released in the last four years are running iOS 13, so you can safely take advantage of the latest technology to deliver functionality.

Source: App Store-Apple Developer

  • 1 ecosystem.
  • Five platforms.
  • 40 languages.
  • 175 districts.
  • 500 million visitors a week.
  • 1.5 billion Apple devices.

The most familiar services are App Store Apps, In-app Purchases (IAP), App subscriptions, and App review search. So, let’s take a look at some of the secrets people don’t know

2.1 System Status

For example, last Friday, Apple’s App Store was out of order and users could not connect to the App Store and could not open the App Store.

In view of the above situation, is there any way to predict in advance? I’m sorry to tell you that at present, Apple has not officially provided real-time system service status query. You can see the system status page in the help of Apple’s official website:

As you can see from the chart above, Apple Books and iTunes Store services have been suspended in Mainland China since April 26, 2016 for some irresistible reasons. Apple Pay and Wallet have been interrupted:

2021-07-23 am – Now, some users are affected, lingnantong · Yangchengtong cardholders may not be able to use some Apple Pay functions.

As you can see from the outage, apple’s system status notification is not a real-time announcement, but a delayed announcement, sometimes after a fix.

On the system status page, there are different links for different regions.

Country/region Language code link
China zh_CN www.apple.com/cn/support/…
The United States en_US www.apple.com/support/sys…
Hong Kong, China zh_HK www.apple.com/hk/support/…
Taiwan, China zh_TW www.apple.com/tw/support/…
South Korea ko_KR www.apple.com/kr/support/…
Japan ja_JP www.apple.com/jp/support/…
Singapore en_SG www.apple.com/sg/support/…
Russia ru_RU www.apple.com/ru/support/…
Germany de_DE www.apple.com/de/support/…

As you can see here, the code in the link for each Country or Region is available from the source code of apple’s Choose Your Country or Region page, which is currently supported by Apple.

The above is for user level services, such as the availability of the App Store, iCloud, etc. What about the system status of Apple’s service apis for developers? Well, there is.

Developer system status

As you can see from this picture, there are many services for the App Store, App Store Connect, App Store Sandbox, App Store Server Notifications, In-app Purchases, App Store Receipt Verification, etc. So you can see the information on this page is very important! Of course, there is no official notification from Apple. Like this:

Today, 12:58am – 1:07am Some users were affected by the Resolved Outage. App Store Connect, App Store Connect API, TestFlight Users experienced a problem with this service.

Because the service is currently services for developers, there is no national or regional server, unified with the developer.apple.com/system-stat… Page to view the developer system status. In general, when a large number of services are unavailable, you can check the status to see if it is an Apple server problem. For example, often encountered apple Sandbox environment can not recharge (App Store Sandbox), online users can not recharge (in-app, App Store Receipt Verification), can only say that the problem is suspected to be apple’s service problems, Take a look at this page. But this page also from time to time real-time refresh, a large area can not be used, is still to see everyone (peers) or news news.

Note: Why is there no real-time notification? I think it is because apple’s services are all over the world at present. If you want to complete real-time notification, on the one hand, it is the duration of the impact, on the other hand, the scope of the impact. I’m sure Apple has internal system alarms, but if there’s a problem, notify developers immediately? Assess the length and scope of the impact? Or should it be fixed right away? I’m not going to go into it here, but I’m going to take a look at apple to be continued.

Since apple is like this, let’s compare Google and see if there are any different findings. First, the traffic and outage pages for Google products and services will show:

You can see the interruption of Google services, there are country-by-country, regional screening conditions, here will not expand, you want to know can see ah.

When Google’s common services fail or even go down, you can view them in the Status information center page of Google Workspace:

At the bottom of the page, there is an entry for The Google Workspace History to view the outage time of a service, the impact duration, and so on. RSS and JSON history interfaces, and even help documentation, are more sophisticated and user-friendly than Apple’s services:

Google’s system Status viewing services include: Google Workspace, Google Cloud Status Dashboard, Firebase Status Dashboard, Google Ads, etc., with unified page style. Google Play Store system status, xiaobian did not find the entry; The real-time status of Google system information is not relevant information, there are friends who understand, can be in the comment area together to communicate ha ~

Look from the Internet material, the situation that Google service appears to fail is not much, graduate Google has commercial cloud service, fail is impossible? Apple generally uses cloud services from Microsoft and Amazon, while iCloud service in China uses cloud service in Guizhou, and other services are still unified servers for the time being?

Of course, in terms of real-time, there are third-party services that listen to Apple’s and Google’s services. Such as Downdetector, Google Play not working? , Google Workspace Status. Here is not expanded, after all, the third party is listening, from the best solution is of course official support.

Finally, apps that are generally user products will encounter user feedback: if you can’t connect to the App Store, iTunes Store, or other Apple services, but the documentation is the solution to the problem, can you optimize it to reduce the problem? What is the purpose of a service system status query? Certainly is not a problem, to give everyone notice on the end of it, and should be to a higher real-time improvement! Come on, Apple!

2.2 App subscriptions

Apple in-app subscription is a very common type, such as the continuous monthly subscription for music and video apps. In the past, users may think that the subscription is a one-time payment or they want to cancel it after the expiration, and then the fee will be automatically deducted. Alipay and Wechat have long learned this trick. Another reason is that in the past, Apple’s App Store account management rolled down to the bottom of the home page. In short, the steps were very complicated, which made it difficult for ordinary white users to find.

Actually, in terms of managing app subscriptions, Before it is possible through the https://buy.itunes.apple.com/WebObjects/MZFinance.woa/wa/manageSubscriptions links to open the App Store will automatically display the user’s subscription information interface, But most developers don’t provide it, and developers don’t even know it’s there.

Now, with iOS 14, it’s easy to find an App Store user account, go to “Account” and tap “Subscribe” to manage your subscriptions. Of course, if developers want to direct users to the subscription management interface, they can use the latest Apple link at https://apple.co/2Th4vqI. More information about unsubscribing can be found in the how to Unsubscribe documentation provided by Apple.

Finally, With WWDC21, Apple has introduced an interface to manage user subscriptions within the app, without having to jump to the App Store. For more details, see the previous article “Apple In-app Purchases – WWDC21”.

2.3 the App links

Before 2019, apple’s app store link, has always been, itunes.apple.com, for example, is this: https://itunes.apple.com/cn/app/ dou luo continent – the masters/id1558453472. Because iTuens is Apple’s Music playback and management software, the iPhone is sort of an upgrade from the iPod. I won’t say much about iTuens here, because Apple has abandoned it and moved it to Apple Music and Apple Podcasts. Check out itunes-apple for details.

On June 14, 2019, Apple announced that the AppStore will replace itunes.apple.com with Apps.apple.com. Such as https://itunes.apple.com/cn/app/ dou luo continent – masters fight/id1558453472 request, Will automatically jump to https://apps.apple.com/cn/app/ dou luo continent – the masters/id1558453472. So we suggest using a new link to reduce the page jump.

Of course, this link has a CN which is the national or regional logo, this logo is the same as mentioned in the previous article. If your App is only used in mainland China, then use CN. If you use other accounts, it will not affect the access of users from mainland China, while users from other regions will be prompted: this App is not currently available in your country or region. If you choose to publish in all regions of the world, you can use any region logo can be opened.

Can also be further, without region, such as: https://apps.apple.com/app/ dou luo continent – masters fight/id1558453472, even don’t have to take the game name with https://apps.apple.com/app/id1558453472. Connecting to the iTunes Store , but can normally jump to the App Store:

With all parameters, the App Store preview page is displayed:

So, about the App links, the best link format, should be like this: https://apps.apple.com/cn/app/id1558453472. The region and Apple ID are fine, the game name is not necessary.

App Store Developer page

So here’s a question: Apps can link to the App Store, is it possible to link to the developer interface of the App Store?

Apparently it can! Like this link: https://apps.apple.com/cn/developer/khorgas-zhifan-network-technology-co-ltd/id1540746184, you need to pay attention to this id1540746184 is developer account id, It’s not app. So how do I get the link to the developer page?

The answer is to open the developer’s app preview page in the browser, and the developer name column is the developer page link, just copy it

2.4 App comments

In all iOS versions, the action=write-review link will redirect you to the App Store to open the review page. Such as https://apps.apple.com/cn/app/id1558453472?action=write-review. Note that if the user has never downloaded this app, the jump will prompt that the user must own this item to comment:

In iOS 10.3 and above, Apple provides in-app review, which is as simple as calling Apple’s API [SKStoreReviewController requestReview] :

Notes for in-app scoring function

  • Supports only iOS 10.3+ or higher
  • The scoring popover is standardized and does not provide custom UI or control scoring capabilities
  • The scoring interface is displayed with each invocation of the development environment
  • TestFlight does not display the scoring screen
  • In the production environment, a user account can be displayed for a maximum of three times or 365 days
  • If the production environment has been commented successfully, the call will not bounce again

Many developers, if they weren’t paying attention, would look at the popup and think that text reviews are only available in the App Store. In fact, you can also write reviews within the app. After the star review is submitted, the following interface is displayed:

Users can also choose whether to write a review or not. Of course, clicking “Ok” means not to write a text comment.

The low number of app ratings may reduce the willingness of users to download the app, so Apple has made such interfaces available to developers. For developers, it’s a great opportunity to get more user reviews, but if you don’t move to App Store reviews, you’re going to get less exposure for your App. Of course, a good app will eliminate the user’s concerns, but the wine is also afraid of the alley, the developer needs to think multidimensional.

Finally, from the user’s point of view, if you feel that in-app reviews are affecting your experience, you can actually turn them off in your Settings:

On the App Store subpage, you can select close. So, apple’s products do tend to think more in terms of user experience, and not just (not) satisfy developers.

2.5 iTunes Store API

Apple provides an API for developers to access content from the iTunes Store, App Store, iBooks Store, and Mac App Store, including apps, iBooks, movies, podcasts, music, music videos, audiobooks, and TV shows.

The latest information such as access to the app, request access to https://itunes.apple.com/cn/lookup?id=1558453472:

{
	"resultCount": 1."results": [{"advisories": [
				"Occasional/slight cartoon or fantasy violence."."Occasional/minor real life violence."]."appletvScreenshotUrls": []."artistId": 1540746184."artistName": "Khorgas Zhifan Network Technology Co., Ltd."."artistViewUrl": "https://apps.apple.com/cn/developer/khorgas-zhifan-network-technology-co-ltd/id1540746184?uo=4"."artworkUrl100": "... /100x100bb.jpg"."artworkUrl512": "https://is2-ssl.mzstatic.com/image/thumb/Purple115/v4/67/ac/7e/67ac7e2b-765c-ac94-9a60-215e975312e4/source/512x512bb.jp g"."artworkUrl60": "... /60x60bb.jpg"."averageUserRating": 4.5312200000000002475530891388189047574."averageUserRatingForCurrentVersion": 4.5312200000000002475530891388189047574."bundleId": "com.khorgas.hsdj"."contentAdvisoryRating": "12 +"."currency": "CNY"."currentVersionReleaseDate": "2021-07-20T15:01:04Z"."description": "-- 200 million soul recommended, real 3D combat mobile games -- 21 year national LEVEL IP combat mobile games, by China Literature group and Tencent animation legitimate authorization, 200 million users recommended, and the animation is exactly the same as the" Dors mainland: soul duel "on July 22 official beta! Download and thousands of soul division instantly duel! . . "."features": [
				"iosUniversal"]."fileSizeBytes": "1441496064"."formattedPrice": "Free"."genreIds": [
				"6014"."7014"."7017"]."genres": [
				"Game"."Role play"."Strategy"]."ipadScreenshotUrls": [
				"https://is4-ssl.mzstatic.com/image/thumb/PurpleSource125/v4/33/6f/ee/336fee4b-ced2-a41c-7e53-45ab6ad8e446/86ac5fcd-ba9d -41ee-8a20-63899b6b7697_2732x2048-1.jpg/552x414bb.jpg". ] ."isGameCenterEnabled": false."isVppDeviceBasedLicensingEnabled": true."kind": "software"."languageCodesISO2A": [
				"ZH"]."minimumOsVersion": "10.0"."price": 0.0."primaryGenreId": 6014."primaryGenreName": "Games"."releaseDate": "2021-07-20T07:00:00Z"."releaseNotes": "1. Doulo world is new, real weather interaction, immersive Doulo continent, and each Doulo fan a true Doulo! 2 random fusion technology play, awakening your exclusive soul, depth of cultivation, free growth variation, challenge douro mainland the strongest soul technology strategy combination! 3. Other improvements: engine, compatibility, graphics, etc., to improve the best game experience!"."screenshotUrls": [
				"https://is3-ssl.mzstatic.com/image/thumb/PurpleSource125/v4/65/7c/25/657c25a0-3fc7-cab5-b3f3-e46f8ece74d4/440d205f-827a -4446-9b28-2dcce8bef01e_2208x1242-1.jpg/406x228bb.jpg". ] ."sellerName": "Khorgas Zhifan Network Technology Co., Ltd."."supportedDevices": [...]. ."trackCensoredName": "Douro Mainland: Soul Battle - Tencent Animation legal license"."trackContentRating": "12 +"."trackId": 1558453472."trackName": "Douro Mainland: Soul Battle - Tencent Animation legal license"."trackViewUrl": "https://apps.apple.com/cn/app/%E6%96%97%E7%BD%97%E5%A4%A7%E9%99%86-%E9%AD%82%E5%B8%88%E5%AF%B9%E5%86%B3-%E8%85%BE%E8%AE %AF%E5%8A%A8%E7%94%BB%E6%AD%A3%E7%89%88%E6%8E%88%E6%9D%83/id1558453472?uo=4"."userRatingCount": 44061."userRatingCountForCurrentVersion": 44061."version": "2.0.2"."wrapperType": "software"}}]Copy the code

Detailed content field, here do not parse, see clearly. For developers, it is very convenient to obtain some information through the data linked by Apple, such as the app icon artworkUrl512 field, or the app version number, which can be used to judge whether there is a new version.

As a rule of thumb, it takes about 15 minutes after a new version is released for the link data to be updated and for the App Store to show the updatable version. Therefore, it is currently an efficient way to monitor the changes in the link when the app will take effect after the release of a new version. After all, Apple only guarantees that the app will take effect within 24 hours after the release.

Because we use Apple Music, video TV and so on relatively few, so here will not introduce, detailed can refer to: iTunes Search API and iTunes Store API documentation.

2.6 download the App

For games, the pack size is usually 1 GB or more. What is the maximum MB of an app pack that the AppStore can download using cellular mobile?

  • In September 2017, cellular traffic downloads were restricted from100MExpand to150M
  • In late May 2019, cellular traffic download restrictions from150MExpand to200M
  • In September 2019, the official version of iOS 13 will be released, with the option to download over cellular networks (unlimited size).

So, for devices under iOS 13, you can download apps up to 200 MB over a cellular network; otherwise, you can only download them over WiFi (even if your phone is running a hotspot). .

For iOS 13 and above, if you download an app over 200MB, you will be prompted to download it when you connect to WiFi or directly download it over a cellular network:

Options can be changed in Settings, go to Settings -> App Store -> App Download:

As shown above, there are three options available on iOS 13+ :

  1. Always allow
  2. Request permission over 200 MB
  3. Always ask

So, after September 2019, the cellular download limit should be gone, and instead of forcing it through the AppStore, apple will hand the choice back to users. This is also good news for developers.

2.7 App booking

App booking function you should have known, so you know the answer to the following questions?

  • What is the Beijing time corresponding to the release time after booking?
  • Can users cancel the app after booking?
  • When the app is launched, how do you tell which users are pre-ordered?
  • Can the app reward users for pre-ordering, as Google does?

There are several reasons why there are so many problems in the App booking function. First, there are two prerequisites for opening the App booking function:

  1. The app never made it to the store
  2. The app has been approved and is waiting for the developer to release

These two conditions have been applied to a group of developers, the most important is the test environment! Apple does not provide a test environment for App preorders! Or a test scheme! Complete let you in the production environment, so, the first time to eat crab are brave (spicy) dare (chicken) war (apple) cheese (fruit)!

What is the Beijing time corresponding to the release time after booking? This is a question that all developers with pre-ordered apps may have. There is no answer from apple’s official documentation. From experience, is generally Beijing time at 23 PM when the default scheduled release; Of course, developers can manually select release now in apple’s background and skip the system’s automatic scheduled release. So when exactly will this order be released?

If the booking time is 2020-10-16, then the real booking time is 2020-10-15 22:00 Beijing time (or 23:00)

First, we thought of looking for the source code from apple’s backend web page:

The timestamp 1551168000000 (ms) in the figure above is translated to 2019-02-26 16:00:00 Beijing time. Clearly not the expected time, so, what time is it?

Finally, you get the app information from Apple’s iTunes Search API (which will be covered in more detail below). “ReleaseDate “:” 2021-09-23t07:00:00 Z” (scheduled releaseDate: September 23, 2021) . The time of apple’s releaseDate field is Pacific time (UTC/GMT). The time of Apple’s releaseDate field is Pacific time. So what is Pacific time?

View from Wikipedia Pacific time zone:

The Pacific Time Zone is the Time Zone used along the west coasts of the United States, Canada, and Mexico near the Pacific Ocean.

  • Pacific Time: Also known as Pacific Time,PT).
  • Its Standard Time (in winter) is called Pacific Standard Time,PST), UTC – 8;
  • Summer Time (summer) is called Pacific Daylight Time,PDT), UTC – 7.

You can see the screenshot directly here:

This is xiaobian before in the company to share “game localization overview” PPT (preview: the next article will be organized to share with you.)

To put it simply, China standard Time (CST) is 8 hours ahead of Universal Coordinated Time (UTC), while Pacific Daylight Saving Time (PDT) is 7 hours behind UTC, which means Pacific Daylight Saving time (PDT) is 15 hours behind China Standard Time (CST).

So, 7:00 Pacific Time (7:00 AM) = 22:00 Beijing time (10:00 PM). The time is right, but the date is not right!” ReleaseDate “: “2021-09-23T07:00:00Z”, so this is still a bit of a question, but I guess the server time is based on Pacific time. So, this question has known the friend, can discuss together in the comment section ha ~

Finally, as for GMT/UTC/PST, this article will not go into detail, sometimes in a separate article on time, please look forward to it

From 1986 to 1991, the People’s Republic of China implemented DST throughout the country for six years, from 2 o ‘clock on the first Sunday in mid-April (Beijing time) to 2 o ‘clock in the morning on the first Sunday in mid-September (Beijing Time). With the exception of 1986, the first year of daylight saving time, which began on May 4 and ended on September 14, daylight saving time is in effect in all other years. Time will be set back one hour during daylight saving time. Discontinued after 5 April 1992.

Can users cancel the app after booking?

The answer is yes. The details can be cancelled in the App Store App account Settings:

In addition, if the app is a paid download, there is no immediate charge for the subscription. After the app is released, the payment will be charged and you will be notified by email. (Note: If a paid App adjusts the App price during the pre-order period, it will be charged to the customer at the lower of the pre-order acceptance price and the release date price.)

And for subscribers, will the system automatically download to their devices after the application is released? If the user enables automatic downloading, the App will also be downloaded to all other devices of the user. The switch to enable automatic download is as follows:

When the app is launched, how do you tell which users are pre-ordered?

For a while I thought Apple didn’t have an interface for sign-up users, and then at the bottom of apple’s page for marketing your App, I saw this little paragraph:

You can identify customers who have subscribed to your app by the “preorder_date” field in the receipt. You can use this information to unlock rewards (such as extra game coins) for subscribers, or to display a thank you message within the app.

According to Apple’s document responseBody.receipt, Apple provides three fields (three different time formats) for the user to book app time:

field Function (English) Function (Chinese)
preorder_date The time the user ordered the app available for pre-order, in a date-time format similar to ISO 8601. The user orders the time of the app available for booking, in a date-time format similar to ISO 8601.
preorder_date_ms The time the user ordered the app available for pre-order, in UNIX epoch time format, in milliseconds. This field is only present if the user pre-orders the app. Use this time format for processing dates. The time, in milliseconds, that a user orders an app available for pre-order, in UNIX era time format. This field appears only when the user subscribes to the application. Use this time format to process dates.
preorder_date_pst The time the user ordered the app available for pre-order, in the Pacific Time zone. The time a user orders a preordered app in the Pacific time zone.

If you’re familiar with Receipt data, you might ask, right? Check user booking status through in-app purchase receipt?? Right! At the moment, apple’s API doesn’t have a library or a set of apis for the user’s App Store information, so maybe apple’s engineers are looking at it from a simple point of view, the pre-order data is App Store data, and the App Store in-purchase data is a generic API. So put it directly in receipt?? !!!!!

Everything is so (not) reasonable! Apple engineers are probably aware of the complexity of the process and the large receipt to get a user’s pre-order date, so StoreKit 2 was introduced with WWDC21, but apple didn’t provide a new interface for pre-order status queries. For details, see the previous article Apple In-app Purchase – WWDC21.

With that said, let’s get started on some technical stuff. First, the interface for getting Apple Receipt:

NSString *receiptString = [[NSString alloc] initWithData:[[NSData dataWithContentsOfURL:[[NSBundle mainBundle] appStoreReceiptURL]] base64EncodedDataWithOptions:0] encoding:NSUTF8StringEncoding];
Copy the code

In the sandbox environment, the obtained data does not have a preorder_date field, because in the test environment, the app cannot simulate the booking process, so hot! This is a good time to be imaginative, so just download some of the apps you ordered, get its Receipt data, and see what the preorder_date is. (Fortunately, there are many apps in the App Store for pre-order, so users develop a new App and then submit it for review, and then pre-order for download. Otherwise, this process may have taken more than a month!)

Jailbreak your device, download your subscription app, run the Cycript -p process name or Cycript -p process ID, and then run the following code to get the Receipt data:

[[NSString alloc] initWithData:[[NSData dataWithContentsOfURL:[[NSBundle mainBundle] appStoreReceiptURL]] base64EncodedDataWithOptions:0] encoding:NSUTF8StringEncoding]
Copy the code

Note: Cycript is a scripting language created by Saurik, founder of Cydia. It is a hybrid of Objective-C and JavaScript syntax interpreters that can detect and modify running applications. Cycript is used to inject the target process for runtime debugging. The advantage of Cycript is that all changes are disabled upon restart, and there are no side effects to the native program or code. More knowledge about jailbreak, everyone to consult the relevant information ah, here also do not expand.

Finally, verify the Receipt data obtained through Apple’s verifyReceipt interface and get the contents of the Receipt:

{
    environment = Production;
    receipt =     {
        "adam_id" = 1558453472;
        "app_item_id" = 1558453472;
        "application_version" = 14;
        "bundle_id" = "com.khorgas.hsdj";
        "download_id" = 111070588400817;
        "in_app"= ();"original_application_version" = 14;
        "original_purchase_date" = "2021-07-20 15:39:32 Etc/GMT";
        "original_purchase_date_ms" = 1626795572000;
        "original_purchase_date_pst" = "2021-07-20 08:39:32 America/Los_Angeles";
        "preorder_date" = "2021-05-03 03:34:56 Etc/GMT";
        "preorder_date_ms" = 1620012896000;
        "preorder_date_pst" = "2021-05-02 20:34:56 America/Los_Angeles";
        "receipt_creation_date" = "2021-08-02 02:32:58 Etc/GMT";
        "receipt_creation_date_ms" = 1627871578000;
        "receipt_creation_date_pst" = "2021-08-01 19:32:58 America/Los_Angeles";
        "receipt_type" = Production;
        "request_date" = "2021-08-02 07:18:50 Etc/GMT";
        "request_date_ms" = 1627888730021;
        "request_date_pst" = "2021-08-02 00:18:50 America/Los_Angeles";
        "version_external_identifier" = 843086210;
    };
    status = 0;
}
Copy the code

Then you can get the booking time:

  • “original_purchase_date” = “2021-07-20 15:39:32 Etc/GMT”;
  • “original_purchase_date_ms” = 1626795572000;
  • “original_purchase_date_pst” = “2021-07-20 08:39:32 America/Los_Angeles”;

To sum up, this is the way to determine whether a user is a booking user, is it a circle! It’s the only way we can do it right now. In addition, if there is no preORDER_date field, then the user is a non-subscribed user who downloaded the application after the subscribed time.

Can the app reward users for pre-ordering, as Google does?

For a game, rewards are usually sent to the users who make a reservation on the opening day of the service. So what is the process of issuing rewards to the users who make a reservation?

Let’s start with the Google Play Store. As you can see from the document on opening pre-registration for apps to increase user awareness, developers can choose to offer pre-registration rewards for items that only need to be set in the Play background (in-app purchases). The whole booking user judgment and award process, are unified to deal with Google and management, do not need to worry about developers! As we explained in our last post, interpreting new AppStore features: Custom product pages and A/B Test tools, Apple & Google, iOS & Android, App Store & Play Store, learning from each other, at least for now, Apple has A lot to learn from Google. Go apple ~

So how does iOS reward users for booking? From the above process, you may have felt. If the user is a scheduled user, you need to call the Apple interface to get the Receipt and send it to the server to verify the Receipt with Apple. The Receipt information in the response contains the preorder_date field to determine the time of the user’s appointment. Then you can determine the processing logic of the user to issue the reward.

The detailed reward process will not be expanded here, but here we need to pay attention to the point is to prevent users from malicious swiping, because just said, whether this field is associated with the user’s Apple ID account, and an Apple ID account can log in multiple devices. To get a sense of how bad apple’s pre-order bonus feature is, no comparison doesn’t hurt. Google’s pre-order rewards are controlled by Google services, Google can control a Google Play user can only receive once!

Other pits

There were a number of problems with apple’s new background, one of which was a Bug that made it impossible to change the pre-order time, making it impossible to delay the pre-order time. I have to make a joke about Apple, when there is a bug, it is usually via email or phone to contact the developer’s local customer service, and usually the developer’s feedback is not taken seriously, which leads to some very difficult problems for developers!

When this happens, the only option is to quietly remove the app, so will users who are worried about pre-ordering get notified to download it? If you remove an App preorder from the App Store, customers who have preordered your App will not receive it and will not be charged unless you make it available for preorder again before the release date. In addition, once the release date has passed, you cannot release the App as a pre-order again.

The final question is when the reservation status will take effect. After a user orders an App, the App Store displays a grey pre-ordered button that cannot be clicked:

However, there are some users who simply do not have the automatic download function enabled, and in this case, the user will not automatically download. Then, because the release time of Apple server application is only guaranteed within 24 hours, so, some users can not download the App Store problem!

In this case, instead of having the user manually download the app once it’s in effect, there’s another way to ask the user to cancel the app! You can refer to the documentation to cancel your app booking, however, it’s important to note that if the game has a subscription bonus enabled, then letting the user cancel the subscription to download may cause the user to lose the subscription bonus.

Through the exploration of these details, there are many functions in The App Store, and each small function is closely related, which leads to the huge and bloated system, which affects the whole body. I hope Apple can see these problems and do a better job

2.8 Promo Code (Exchange code)

Let the media and influencers get the first taste of your App or in-app purchases with promotional codes configured in App Store Connect. You can provide up to 100 promo codes for each version of an app on different platforms; Each in-app purchase also offers up to 100 promo codes.

Promotion Code Overview

A promo code might be called an exchange code. What promo codes do, from Apple’s point of view, is make it easy for developers to give media and influential users the first taste and review of an app. As a result, Apple is more restrictive, offering up to 100 promo codes per in-app purchase, with a total cap of 1,000 codes per in-app purchase per App for every six months (reset on January 1 and July 1). This code is for non-commercial use and expires 28 days after the requested code.

The only benefit of a promo code to a developer is that the app is used before it hits the App Store. In other words, after the app is approved, if it is not released to the public, it cannot be viewed in the App Store, but through the promotion code, it can be redeemed in the App Store to download. After the redemption, the app can be downloaded permanently. However, Apple will distinguish the users who have downloaded the promo code, and these users cannot evaluate the app. When you click the score, you will be prompted “You must own this item” :

In 2014, Apple acquired TestFlight, so now Apple’s main test distribution method is TestFlight. But TestFlight clearly has a demand that it can’t meet, because Apple eventually wants users to download the App through the App Store. So TestFlight releases only 90 days for testing each version of the app, and if the developer doesn’t update within 90 days, users can’t download the app from TestFlight. Apps that have been downloaded to the device will also expire 90 days after the date of download. Users will be able to switch between different versions of the app before a version becomes invalid or is removed by the developer.

Then, currently in the country, the promo code code also changed a lot of ways to become a third party distribution.

Finally, in addition to the above promo codes, Apple has introduced a subscription promo code for iOS 14, which allows you to offer subscriptions at a discounted price or for a limited time for free, and helps you acquire, retain, and win back subscribers. Apple’s marketing support for in-app purchases has always been a focus, especially since games are the majority of in-app purchases.

Customers using iOS 14 and iPadOS 14 and higher can redeem promo codes on the App Store with a one-time code to redeem urls; If developers in the app implements presentCodeRedemptionSheet (English) API, users can directly exchange within the app.

To sum up, the exchange code itself is convenient for developers to provide users with the opportunity to test, with the change of business needs, developers are more hoping to attract users to download the app through the exchange code! After all, getting users to download an app these days is incredibly difficult.

2.9 App Store Tools

Having said all that, the App Store is in the best interests of both Apple and developers (or at least no losses), so promoting developers’ apps is a top priority for both Apple and developers. For big companies, there’s a lot of marketing or ideas to promote, but for developers in general, and for indie developers in particular, it’s very difficult. So let’s take a look at some of the tools Apple offers developers to promote their apps

App Store Marketing Tools

The Market with App Store is a great tool that allows developers to quickly generate the promotional material they need. Generate a short link or embedded code that opens your App Store product page and displays your App icon, QR code, or App Store badge.

Simply put, you can search for your App in the Market with App Store, and then click to open the material page:

The Content Link is the app download Link, and the App Icon click on the left Copy Embed is a piece of HTML code, the effect is like the image of an Icon Icon, click the Icon will jump to the app download Link. On the right is the download current icon icon (1000×1000 resolution, automatically cut into rounded corners of the apple).

This is the App Store download badge, which supports both white and black styles, and the “download” option is defined in multiple languages.

Finally, there is QR Code, which supports black, white and blue styles, embedded app icon and so on. This feature is handy, to say the least

In addition to app promotional materials, there are also Books, Music, News, Podcasts, TV, etc., you can have your own research if you are interested in it, so I will not expand it here.

Other patterns and guides

To make things easier for developers, display apps on websites, emails and social media, along with Apple product images and App Store badges. Apple has a lot of material to download on its marketing resources and logo identification guide pages.

The App Store badge is available for download and pre-download on the App Store, Mac App Store and Apple TV platforms. For materials, all localized languages are included, with vector images in both EPS and SVG in each language folder downloaded.

Apple attaches great importance to brand promotion and marketing, so developers use product images provided by Apple in their marketing materials. Apple recommends that you always use the latest generation of product images for which your app is currently being developed. There are also many detailed specifications and guidelines in the marketing resources and logo identification guide page, interested friends can have a look ha ~

Apple Design Resources

At Apple Design Resources, you can download Apple’s standard UI materials, including Sketch, Photoshop, and XD templates, so that developers can quickly and accurately Design their app renderings.

RSS Generator

This RSS Feed generation tool page may get the App Store ranking, and there is a link to get the data, you can have a look.

2.10 Usage of iOS and iPadOS

On the App Store – Support page, Apple provides the latest iOS and iPadOS share data:

Through this data, we can know the latest proportion. Of course, for different regions or countries, different apps, if you want to explain the product or boss app does not support iOS 12? Maybe from their own product data monitoring, after all, Apple this is only the App Store data, not all of Apple’s devices system data.

2.11 App Infringement Disputes

Developers may face the risk of infringement of the app, this infringement is not only what you think of content plagiarism, material theft, etc., such as the name of the app, others may apply for a trademark, and you may not care too much when the name. As the App Store gets bigger, the competition is bound to become more and more important. Developers also need to pay special attention to the metadata and content of their apps.

Finally, if you find a controversial app, you can file a complaint through the Apple-legal-itunes App Store Content Dispute page. In this case, Apple will not immediately address the disputed app. Instead, it will send an email to both parties so that they can communicate directly and resolve the dispute. If you receive a dispute email from Apple, you should also pay special attention and respond to the email promptly. Otherwise, Apple will assume that you have no objection to the dispute and will remove your app.

2.12 Share your story

Featured in the App Store

The App Store has a global marketing team focused on increasing App discovery and user engagement. They create marketing campaigns and programs that provide help, information and inspiration to users, as well as help you increase the number of downloads and redownloads of your app and game. Our global team of editors tailor the App Store App shopping experience to the right users based on their devices, so that your App is available to the right users at the right time and place.

If you have a unique story behind your app that you would like to share with our editorial team, please let us know. If you are ready to launch a new app or major update, please let us know 6 to 8 weeks before release.

In addition to the App Store secrets mentioned earlier, sharing your developer story is the biggest secret of all! Get recommended, and ultimately bring a large number of new users is a very considerable way, you can tell us more about the specific welcome.

Finally, we are mainly to say, if recommended by Apple, often some students will ask, these materials through what way to Apple? What about the format and standard size?

If an app is featured, Apple will display a Promotional Artwork on The App Store Connect. Apple’s Promotional Artwork comes in a variety of sizes.

In particular, apple’s recommendations do not currently show different ratings or different accounts. All accounts show the same recommendations. Therefore, generally the best content is suitable for all ages, promotion materials need special attention, for example:

For details, see this App Store promotion guidelines document. Apple has a very comprehensive list of guidelines and tutorials that I won’t go into here.

Third, summary

It’s a bit long, but finally summed up 12 secrets that could be secrets? I don’t know if you have read it carefully, but I hope you have gained something

Finally, from a developer’s perspective, every company’s business is different, and the “secrets” of the App Store are different. Therefore, xiaobian is only from the perspective of contact with you to share, if you have more “secret” welcome to share with us, communicate together, progress together ~

Welcome to join us in the comments section ~

Welcome to follow us, learn more about iOS and Apple dynamics ~

Four, reference

  • Apple – Support – System Status
  • Choose your country or region – Apple
  • System Status – Apple Developer
  • If you are unable to connect to the App Store, iTunes Store or other Apple services – Apple Support (China)
  • Google Workspace status Information Center
  • Google Cloud Status Dashboard
  • View the current status of the Google Workspace service – Google Workspace Administrator Help
  • Firebase Status Dashboard
  • Google Ads status Information Center
  • Offer pre-order for your App – App Store – Apple Developer
  • Publish your App as a subscription – App Store Connect help
  • Preorder apps, movies, music, and Books in the App Store, iTunes Store, and Apple Books – Apple support
  • responseBody.Receipt | Apple Developer Documentation
  • verifyReceipt | Apple Developer Documentation
  • How to Manually Update App-Apple Support on Apple Devices (China)
  • App Store Link Update – Apple Developer
  • Open pre-registration services for apps to increase user awareness – Play Management help
  • Pacific time zone – Wikipedia
  • Apple iOS in-app purchase three steps: in-app refund, historical order query, binding users to prevent off the order! — WWDC21
  • Interpreting New AppStore features: Custom product pages and A/B Test tools
  • App Store – Features – Apple Developer
  • Ratings, reviews, and responses – App Store – Apple Developer
  • iTunes – Apple
  • iTunes Search API: Overview
  • iTunes Store API
  • How to cancel a subscription from Apple – Apple Support (China)
  • Download apps and games from the App Store – Apple support
  • If you can’t download or update app-Apple support on an iPhone or other Apple device
  • Select App Store featured recommendation – App Store – Apple Developer
  • Explore the App Store and Mac App Store-App Store-Apple Developer
  • Promo Code Overview – App Store Connect help
  • Get Ready to subscribe promo Codes – News – Apple Developer
  • Automatic renewal subscription – App Store – Apple Developer
  • Market with App Store
  • Marketing Resources and Logo Identification Guide – App Store – Apple Developer
  • App Store promotion pattern guidelines
  • App Store – Support – Apple Developer
  • Apple – Legal – iTunes App Store Content Dispute
  • Apple Design Resources – Apple Developer