Hey @JoeAllen!
We don’t have an automated process for this, but you should be able to follow the same steps for transferring apps between accounts and doing a client side migration here:
Basically, you’ll need to create new apps in your main project for your other apps. You’ll then want to configure the new apps to be the same as the projects you’re migrating from (don’t forget bundle ID, shared secret, entitlements/products, etc).
From the SDK, you’ll want to call syncPurchases
on launch for apps launching the new version (with the new API key) so their receipt can be synced with the new app. You shouldn’t call this on launch every time, so make sure you are checking if the user actually exists in the new app first (on iOS, checking PurchaserInfo for originalApplicationVersion
is a good way to see if a receipt has been synced).
Let me know if that helps!
Thanks! To clarify, should I check that any value exists for originalApplicationVersion to verify that the user exists? Or should I validate that the version is (or isn’t) later than this particular update?
Hey @JoeAllen!
I’d recommend just checking if the value exists- if no value exists when you fetch PurchaserInfo
, then you can assume they’ve never had their receipt synced with this new app.
Additionally, syncPurchases
is silent, and will return the new PurchaserInfo
after syncing their transactions.
Does that make sense?
Yes that makes perfect sense thank you!