Reputation: 4787
On our app, we show a very simple "onboarding" message for users on their first visit. We rely on localStorage and when it is not supported fallback on cookies using github.com/Acanguven/StorageService. This data is first party as it's our cookies and they're set for our website. Nothing like adtech or cross-domain cookies/storage: for example just a simple way to not show onboarding modal to users who already visited the website.
The thing is on my iphone it does not work and we get some javascript "Security Error or Access denied" when we try to create those cookies/local storage.
For example one of our data is like this:
if ( (window.StorageService.localStorage.getItem('user_already_saw_the_message') !== null) ) {
showMessage():
}
// If user never saw the message, show 1st msg almost immediately
else {
//do nothing
}
}
I checked my iphone and indeed it says in Apps>Safari that the line block All cookies is activated/"ON". so it blocks even first party cookies (nothing like cross-domain or some advertising cookies).
So my question has two sub-components:
To assess how large/significant the issue is on the userbase: is it just my iphone or do all iphone users who upgraded to iOS11 and soon will upgrade to iOS12 automatically get the default setting of "all cookies blocked = "ON" ?
If question 1's answer is "yes all users by default get this all cookies blocked setting", that makes the following question even more crucial as it means, given the market share of iOS, that it affects a tremendous number of users: how do you just persist data like "only show this message once" or "only show this modal once every month" if we can't use cookies nor local/session Storage ?
Upvotes: 3
Views: 2872
Reputation: 1554
I did some reading and found this:
iOS11 does introduce a cookie storing prevention mechanism called Intelligent Tracking Prevention but that affects only 3rd party cookies. On iOs11, the default setting for Managing Cookies is Allow cookies from current websites i.e. First party cookies.
So your application should not have a problem. It should work fine. Reference: https://webkit.org/blog/7675/intelligent-tracking-prevention
Upvotes: 3