Apple Subscription product info, any reference for what are the keys?

On the IAPDemo.cs file bundled with the Unity IAP we have this line:

Dictionary<string, string> introductory_info_dict = m_AppleExtensions.GetIntroductoryPriceDictionary();

Is there any reference anywhere for what are the keys for this dict?

It only seems to be used later on the example file but it also requires a receipt, I’d like to retrieve this information before the player made a purchase (to display the conditions to the user).

(edit: I can’t even test this myself because Apple refuses to allow me to create a subscription before implementing it, and I can’t implement it properly if I can’t know what are the subscription conditions…)

You can create a subscription on Apple without knowledge of the dictionary, I’m not quite following. But yes, it is often desired to get the subscription info prior to a purchase, I’ll look into that.

I can’t, Apple doesn’t allow the subscription to be created because they can’t see it in the app.

This is what they sent me:

"Therefore, we need to verify the implementation of your submitted in-app purchases in the app to ensure your app, and its in-app purchases, are in compliance with the App Store Review Guidelines.

Next Steps

In order to approve your your new in-app purchase business model, we have to verify the purchasability of the items being sold. Please upload a new binary and make sure that your new in-app purchase products are available for purchase at the time of review."

You can use the Sample IAP Project here and create subscriptions on the Dashboard and they will be available. Follow these instructions here. They are configured the same way as other products, there is no difference Unity - Manual: Configuring for Apple App Store and Mac App Store I use TestFlight for testing https://testflight.apple.com/ and Sample IAP Project

1 Like

So, when I create the subscription I can see it on TestFlight before Apple approves it? I should have thought of that before… Thank you!

Approves the IAP product or your app? Subscriptions are not handled any differently than other products. Do you have other products already? I suspect this is your first IAP, correct?

Nope, game is already live with consumable IAPs.

We are creating new subscriptions and Apple wants to see them implemented before approving the Subscription IAP.

Interesting. So are you unblocked now?

I guess so, I’m going to test later to see if I retrieve the introductory_info_dict from the subscription on the TestFlight version without having the subscription approved.

Not sure that will work, if I understand your issue. Have you uploaded a new binary that uses the subscription product? Seems once you do that, they will allow you submit your subscription product. It the subscription isn’t approved, you won’t get a dictionary on TestFlight either. Can you show a screenshot of the status of your product on your Apple dashboard?

It’s like this:

And what does the Developer Action Needed say? I suspect they will inspect your binary looking for that product.

Yes that’s what I mentioned above:

“In order to approve your your new in-app purchase business model, we have to verify the purchasability of the items being sold. Please upload a new binary and make sure that your new in-app purchase products are available for purchase at the time of review.”

In order to enable the subscription I need to display it on the binary first…
In order to display it on the binary I need it enabled to retrieve the info and display it…

I’ll test if I can get the info with the current status first, if I can then I can finish the feature and ask for approval again.

No, just upload a binary that includes the product. You don’t need to “display it on the binary”, just have a purchase button for it, and allow the user to purchase it, don’t worry about the dictionary. You can customize later.

1 Like

I see, that makes sense too, thank you.

1 Like

But it sounds like you want to be able to get the subscription information prior to a purchase, I’m checking on that for you.

I just tested and the subscription IAP really isn’t returned.

The introductory_info_dict returns info from every IAP, as json on a string.

I guess I’ll just add the subscription without any information and hope Apple accepts my inapp, so then I can change the game to display proper info…

Is the subscription product approved after you submitted a new binary? It won’t return until it is. You’ll want to look in the device logs, it will say “Product Unavailable” in the logs. What happens when you attempt a purchase? https://discussions.unity.com/t/700551