Hi. We are a small team of developers. We develop a multi-platform app to control all the popular smart devices.
We are stuck for the last 2 months publishing the iOS app and it's starting to annoy me.
We were told that is mandatory to give possibility to purchase subscription via in app purchase, as well to make an account from the app (even tough if you login with apple ID, it creates automatically a new account).
So we started to work on in app purchase. We are using capacitor to make an app from our angular app.
I set up everything after 2 weeks of searching trough the most hidden corners of documentation (both from capacitor plugin and apple docs).
Now I am able to purchase a subscription, but there everything goes wrong.
The app requests that subscriptions need to be available cross-platform and I am having a hard time linking a purchase from iOS with my user's account.
As far as I know, apple makes it hard or impossible to share something that you bought from app store with any other platform.
So I get forced to add functionality that I don't want nor need, because they can, and then they limit me in terms of subscription sharing.
As for now, the only way I can publish my app in App Store, is to give access in frontend to every feature based on what apple servers tell me when I start the application.
The flow I want is like this.
When transaction is initiated, create an order in my backend with the transaction ID, with processing status.
Then, after the purchase is completed, or canceled, or anything else, I get the event on webhook, and finish/cancel the order, or whatever case it is.
My idea was to use "this.store.when('subscription').owned" instead of webhook, but for some reason, that is getting triggered 1000 times when the store is initiated (because i did a lot of tests).
But then I wondered what was the approach of Netflix on this problem.
AAAND SURPRISE SURPRISE, netflix does not have register from app, nor in app purchase for their subscription.
When you install the app you can only login. They dont even have login by apple id, that was mandatory for our app.
And my question it is why is that. Why they are allowed to bypass this hassle?
Our case is 100% what netlix is doing. You create account and purchase a subscription from our web app (that also have free tier). Therefore, our APP is a FREE APPLICATION 100%.
Our app is an port from our angular web app, and it's only purpose is to make it more convenient to access, and maybe push notifications (that are anyway possible from browser).
My question is : What I need to do, so my app works like NETFLIX, without useless, painful, despicable apple in app purchase system and rules.
Our app is basically a webview. Nothing more. It should not be nothing more. The console is FREE DASHBOARD APP for our clients.
My alternate question is : How can I link in app purchase with the client's account from my backend?
If only I could send the transaction ID to my backend ONCE and only ONCE, after the transaction is initiated, I could link it with the webhook event and all my problems are resolved.
But I am stuck for weeks on this problem and can't figure it out.
But the most important question is how to convince apple to publish my app, that should work exact like NETFLIX:
If you have an account, you can log in our app, and use it. And that's it. No in app purchase, no register, nothing else.