Swift 3/ iTunesConnect track app sales live - ios

As opposed to Google Play Console, I can't find a way to check the amount of app sales being made in real time. I am not a patient person so I'd like to be able to check this information multiple times throughout the day.
At the moment, I track my website's performance with Google Analytics so I can see how many people visit the app's manual compared to the amount of people who did the same thing 7 days ago. However, this value can vary up to 40% while having the same amount of app sales so it's not a very good indicator.
The app is dependent on a very small footprint so including a framework that tracks usage statistics would be overkill. I only need a way to get notified how many people have opened this app today. Have you implemented this somewhere in your own projects? Or is there even a section for that in iTunesConnect?

You could log an event with Google Analytics called "App Opened" or something where the label is the identifierForVendor. Another option is to create an UUID and store it in UserDefaults, and use that as the label.
By checking the number of events with a unique label you could see the amount of installs.
This wouldn't require you to add a new framework or to implement anything else.

Related

Why was my app rejected from Apple for a content rating that's identical to other similar apps?

This is the third time we've submitted our messaging app to the Apple App Store, and this time we got a very upsetting response:
The rating you’ve selected, 4+, is inconsistent with the content of your app. Since your application includes content and features involving user-generated information and picture sharing, it should be rated appropriately for this subject.
Not only is this cryptic, but it is completely inconsistent with what's already out there in the store. All of the top 5 messaging apps have ratings at 4+, and every single one of them have user-generated content. On top of that, I used the "rating form" that allows you to select items to determine what rating system you're in. It selected 4+.
My question is this: what do you do to combat inconsistent requests from the app store? I submitted an appeal, but I'm unhappy that I actually have to do this in the first place.
My question is this: what do you guys do to combat ridiculous inconsistent requests from the app store? I submitted an appeal, but I'm furious that I actually have to do this in the first place.
Welcome to the world of iOS developers. This is the state of the art. And believe it or not, it was worse in the past.
I had a few apps rejected which did exactly the same as other apps. Fighting against it is useless most of the time, im my opinion. Apple is Apple. And will ever be.
Making insanely much money shows them, they are on the right track.
Forget the inconsistent portion, that will buy you nothing. Instead concentrate on why the app was rejected: "includes content and features involving user-generated information and picture sharing". This is a valid concern on Apple's part: Apple has decided to rate content by age and as such they have a responsibility to attempt as best as possible to provide such protections.
Note as an example that any app that allows a user to browse to an address of their choosing must have a high age rating.
An app such as your is open to mis-abuse in many ways, think about it.
The solution is either raise the age or provide some mechanism to prevent abuse.

Stop deleting and downloading apps again to gain free access

I want to offer my app free for a period and then charge to continue using it. I understand that the way to do this is to force the user to buy an In-App product after the free period. However, if I simply record the date that the user starts using the app in the standardUserDefaults and use this to calculate when the user must buy the upgrade the user could simply delete the app when the time arrives (I assume the sandbox is also deleted) and download the app again for another free period.
First question. Is my reasoning so far correct?
Second question. Is there any way of accessing the date that an app is first downloaded?
Assuming the answers to these questions are Yes and No I have come up with the following solution.
Upon downloading the app the user is first forced to "buy" free an In-App product which then will have the date it was added to the transaction queue. This In-App product would then be downloaded for any subsequent download and I could use the date of this product as my reference date.
As I can find no reference to this problem or solutions I really wanted confirmation that this was a sound way to proceed or if there was another more standard way of dealing with the problem.
Thank you
Silas
You are not allowed to limit you app for free for a limited period:
11.9 Apps containing content or services that expire after a limited time will be rejected, except for specific approved content (e.g.
films, television programs, music, books)
If you want to risk it, you could save the date (encrypted) in keychain to make it more persistent. Just so you know, user are able to access their keychain data if they iCloud keychain sharing and are on a Mac. So if they delete the correct key or rest there device your app will fall back to the free/trial mode.
This does not seem entirely consistent with:
Communicate the value of your products to your users. Users want to
know exactly what they’re going to buy. Combine information from the
App Store, such as product prices and descriptions, with additional
data from your server or the app bundle, such as images or demos of
your products. Let users interact with a product in a limited way
before buying it. For example, a game that gives the user the option
to buy new race cars can allow users to run a test lap with the new
car. Likewise, a drawing app that lets the user buy additional brushes
can give users the chance to draw with the new brush on a small
scratch pad and see the difference between brushes. This kind of
design provides users an opportunity to experience the product and be
convinced they want to purchase it.
https://developer.apple.com/library/ios/documentation/NetworkingInternet/Conceptual/StoreKitGuide/Chapters/ShowUI.html
One way of letting the user interact with a product feature in a limited way is to let them use it a few times before requiring that they pay to use the feature.

Backing up in app purchases like gold or credits

I have implemented in-app-purchases like Mission packs or "full version" before. However, I am now looking into selling in-game credits.
What are some ways of keeping track of spent and total credits, even after removing and reinstalling the app
Is it common to sync these totals between the different iOS devices of a single user? Or should a user re-buy credits on different devices?
Should I have a user register with my server and track the credit on there?
I strongly recommend you to keep track of user's data on your server.
That way, even if the user deletes the app, the data will still be available after retrieving it from the server. Also, this will make you able to sync the same data between different platforms, not only devices.
After you retrieve the data, you might want to store it in NSUserDefaults and updated when needed.

How do I detect if my other apps were bought by the user?

We have some small similar apps in appstore with small portion of content in each, every app is paid.
Now we made large app with in-apps and all content from previous apps + new features and some new content. App is free.
Users are asking for getting content from previos apps for free and it's honest - some of them already paid for it
Update:
To be a little more specific - I need to choose between 3 ways:
Updating small apps (like said in the first answer) to use
keychain
Updaiting small apps to send sone unique codes to our
server (or other custom way of detecting)
Find a way to it
without updating small apps (a lot of them!)
You should take a look at this post. Shows how to check if a user has a specific app using the canOpenURL Method.
Simplest way in my book.

Apple App Store Advanced Analytics

I have several applications in App Store and I wish to get further advanced analytics for how they are doing. I'm already listed to some sites that do analytics for Number of Downloads and for Online Ranking (they check every hour where was each app ranked in each country).
I want to have the following:
Landing - I want to check how people got to my application's App Store / iTunes
page; from commercial banners, reviews (I want to see that it came
from a specific web page), from inner banners I have in my apps
directing to my other apps, etc...
App Store Search / Keywords - I want to check which keywords were
effective and which are redundant.
Keywords General Search - I want to check which keywords are
efficient in general for the categories my apps belong to.
Users Analytics - I want to check how many of my users have both the Free/Lite and Full versions of my apps. Maybe there are more
analytics I can look for in this area (if anyone has any good idea).
Any help or direction would be very much appreciated.
Answers numbered according the question
1: What you could do is set your Banners/Ads etc. to a 'middleman' URL on your Server which tracks the User Data and then redirects them to the iTunes App Store Page rather than directly going to the App Store Page. That way you can track the URL's from where the User came from etc. Also Banners and Ads should provide their own Tracking Data which could also help? For reviews, you could maybe ask the reviewer to use your Application Website Page with directs to this middleman URL and onto the App Store Link rather than just the direct App Store link.
2 and 3: I don't think Apple have any sort of tracking in place to the Developers for this kind of data besides the Sales and Trends data you get in iTunes Connect.
4: I've found Flurry Analytics to be an excellent tool for seeing how Users interact with my applications. You can set events in your Program and track various different events. You can easily track the Free/Paid by setting an event for each and then tracking it. It also provides a wealth of other data which informs you better of your user base. I definitely recommend checking it out for this kind of thing.

Resources