-
-
Notifications
You must be signed in to change notification settings - Fork 54
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Update StoreKit integration to StoreKit 2 #57
Comments
The iOS plugins need to be updated for Godot 4 first before this can be tackled. We currently lack contributors available to do so. |
This has been lacking contributors and is pushing people away from Godot. Is there any way we can all chip in an just pay someone to take care of it. Been over 6 months with no updates or timeline. Godot is amazing and its just going to fade if independent devs cant monetize. |
While you are free to contact a developer and pay them to work on this (or organize your own crowdfunding campaign), we don't use a bounty system. This is something you will have to organize on your own, including finding that developer (likely the hardest part) and ensuring they do their work correctly. There's a lot of risk involved in this process by design. |
I am more than willing to work on the iOS plugins if I can successfully find some information on how to code them. Just give me some time. |
almost finished with it ! no worries :) |
@dinopanagos hey, did you make any progress on this? If so, would you mind sharing the files? |
Almost a year since the OP and the InAppStore plugin is still using StoreKit 1, which Apple deprecated a few months back: Are there any plans in the dev pipeline to upgrade this plugin to StoreKit 2? The freemium model is the only realistic revenue stream on the App Store so in-app purchase support is vital for mobile developers. |
There is a vulnerability with the way most Godot users are currently using this "inappstore" plugin.
Unlike the Android Billing plugin, there is no way to
query_purchases()
and find out what the user has purchased/subscribed to when the app starts up. This is due to the plugin using StoreKit 1. From what I've seen, it seems like most Godot game developers using this plugin have the following logic:Some notes about this:
expiry_date
involves maintaining your own server that can decrypt the receipt data. If you want it to detect refunds, renewals, or cancellations, you need to implement the whole App Store Server Api on your server infrastructure. It's a mess.There is a solution to this however: upgrading the plugin to Apple's new StoreKit 2, which is designed to simplify this whole process. You would be able to simply query active purchases through the Transaction History methods - that's it! Here's a breakdown:
StoreKit 2 requires iOS 15+, but it is installed on 99%+ of iOS devices, so there are no compatibility concerns there. Creating a StoreKit 2 branch would make it a lot easier for your average solo developer or small studio to monetize their Godot games.
The text was updated successfully, but these errors were encountered: