I have submitted an in-App purchase item for app store promotion, everything approved and fine, But there is a yellow box with this warning:
These in-app purchases can’t be promoted on the App Store because your
latest approved binary doesn’t include the
SKPaymentTransactionObserver method.
I am sure I have added SKPaymentTransactionObserver method in my code, for making sure I have added in two places one in IAPManager class and another in main ViewController!.
How should I fix this issue?
The source code is available in this tutorial
An in-app purchase cannot be promoted in AppStoreConnect until the version of the app containing the additional ‘purchase from app store’ function has completed the Apple App Review process successfully.
The app containing this extra function needs to be either live on the App Store or Pending Developer Release (my preferred choice) before it is possible to promote an in app purchase and the message in the yellow box you are seeing is removed.
Can you confirm the status of your app in the App Review process?
Related
I recently finished the first version of an iOS application. I have several in-app purchases within it. When testing these, I always used a physical iPhone. Apple just approved the build for release and the app is now in "Pending Developer Release." As one last sanity check, I generated a promo code for myself on app store connect and downloaded the app onto my phone through the app store. I quickly noticed that the SKProductsRequestDelegate method is never fired and the list of in-app purchases is never downloaded from Apple's IAP server. This is similar behavior to when the app is run within a simulator: the IAP data is never loaded.
I am unfamiliar with how the "Pending Developer Release" stage impacts in-app purchases. Will they work as expected when I release the app to the public? Is there some change I need to make and resubmit?
Any help would be greatly appreciated.
As far as I know, it should work seamlessly except for the charging (You won't be charged if your app is downloaded from outside AppStore). So trying to gather logs may help you in this case.
Turns out this was an issue on Apple's end. I contacted support and something on their end had been messed up when they approved the in-app purchases.
My App was rejected because of error during payment process. The reason of an error was an empty product list returned via store kit API.
I’ve added Consumable In-App purchase with all required details. In-App Purchase is currently in Waiting for Review state and Cleared for sales is selected. Everything is working fine when I'm testing this via TestFlight using Sandbox mode.
Should I wait till In-App Purchase will be in Ready to submit state, before I will submit first version of my app for review?
Please advice.
Finally my build was approved.
I've noticed that in-app product after the 3rd review changed to Developer Action Needed with marked Localizations sections.
In my opinion everything was fine with it so I've just added new English (US) version (not required for that product).
Before I've submit a new build I've change one more thing in the code:
- Purchases.setDebugLogsEnabled(true);
+ Purchases.setDebugLogsEnabled(false);
Not sure if any of those changes had an impact but anyway build has been approved
I am new in ios Development iOS11 Apple introduced IAP purchases that can be initiated from the AppStore & it can be displayed in search results, and may be featured on an appropriate tab on the App Store.
for me not showing where Can i see the promoting my In-App Purchases UI ?
Testing Promoted In-App Purchases
To test your promoted in-app purchases before your app is available in the App Store, Apple provides a system URL that triggers your app using the itms-services:// protocol.
The resulting URL looks like this:
itms-services://?action=purchaseIntent&bundleId=com.example.app&productIdentifier=product_name
You can set up your in-app promotions at iTunesConnect under related app's page -> features -> App Store Promotions
Your in-app purchases won't actually show up in the App Store, until you've submitted a binary that has appropriate delegate methods.
You can use that URL for testing before go live. Once you have constructed this URL has the ITMS services protocol and three parameters.
The resulting URL looks like this: itms-services://?action=purchaseIntent&bundleId=com.example.app&productIdentifier=product_name
You can simple send this URL to yourself in an email or iMessage and open it from your device and tap it, your app will be opened automatically. So you will know the test is running when your app opens automatically. And you can then test your promoted in-app purchase's behavior from there.
You can find more information at Add an in-app purchase to promote (iOS)
Our app has been rejected but in app is in review. Now we are ready to resubmit the binary, but we are unable to select the previously added in app purchase from the app summary page. The option to select in app purchase is unavailable. I cant even create a new in app and delete the previous one (because the previous one is In Review).
So my question is, whether the In APP purchase is already attached to the app or not, if i resubmit the binary, will the previously submitted In-APP gets reviewed and attached to the app or not.
Please advise.
They are not attached although Apple guideline is that you submit you very first in-app purchase item with your app. All other in-app purchase items can be created and submitted independently.
If you resubmit your app and first in-app purchase item passes review you will be able to use it.
I'm going to remove my paid application from AppStore and wonder if in-app purchases will still work, or if they will be removed also. Are there any legal issues in the case if they will not be available anymore?
If you remove your app from App Store your in-app purchases are still valid and remain in approved state. So lets say you decide to put your app back in App Store then you don't need to do anything special with in-app purchases. They will be available and working.
Any existing user who had downloaded your app previously will be able to make in-app purchases. All you are doing is not letting new users download your app.
NOTE: as long as you don't "delete" your app or in-app purchases and you just make your app not available in any store / country, you should be fine.