I'm having difficulty understanding the true cost of using the public container of CloudKit. I understand that the private container's limit counts towards the personal iCloud storage and the public container towards the separate limit, but I'm curious about the cost of the public container. Virtually every website I've visited to research this refers the Apple's calculator. This is the few information I was able to scrape. Basically, the public container is free to use up until a certain limit and then you get charged for anything extra. The limit is as follows:
- Asset Storage: 250 MB
- Database Storage: 2.5 MB
- Data Transfer: 50 MB
- Requests Per Second: 10 per 100k users
- Asset storage$0.03/GB
- Database storage$3.00/GB
- Data transfer$0.10/GB
- Requests per sec$100 per 10 requests
This is what Apple's website says about these numbers:
Limits are calculated and based on an average usage across the total number of active users per month. Users must have active container usage within the last 16 months. If your account exceeds its free limits of public storage, data transfer, or requests per second, overage charges may apply. Your app will not get additional free allowances by using multiple containers
I have a few questions and any help would be appreciated:
- Is the 50 MB transfer limit per month or per transfer?
- I'm not sure if I'm understanding the 2.5 MB of the database storage limit correctly because that's pretty minuscule.
- Does the user bear the cost or the developer?
- If former, what happens when the limit is reached? Does the iOS or iPadOS inform the user or does the app have to notify the user like the In App Purchase? Does the app have to inform the user before using the app that there is a limit?
- If latter, is there a way to set up an In-app purchasing option and have the public container access as a premium feature?