IAP questions

I am trying to follow along with this guide: https://docs.coronalabs.com/daily/guide/monetization/IAP/index.html#purchasing-products

one thing that I am having trouble finding an answer for is how to figure out what I’m supposed to put under the “product list”

The code I have is as follows

 appleProductList = { "com.ninepoundgames.icecreamtruck.ICE\_2X\_REV" }

I’ll explain where I got this

In the guide it constantly uses this as its example

"com.domainname.ExampleInAppPurchase.ExampleConsumableItem"

So I figured id use the reverse domain that I set up for my app within iTunes connect

com.ninepoundgames.icecreamtruck

that took the place of 

com.domainname.ExampleInAppPurchase

that left 

ExampleConsumableItem

I went into the IAP section for my app on iTunes connect and pulled the ID that I had set up for the specific IAP which happened to be 

ICE_X2_REV

I am wondering if I constructed the string for the apple product list correctly.

I may not be reading this right, but you need to use the whole string when setting up your IAP on Apple.

i.e. It should be: com.ninepoundgames.icecreamtruck.ICE_2X_REV everywhere.

If you only have this for the apple ID: ICE_X2_REV  then that is what you need to use in Corona.  However, that is not a great id.

The reason folks use reverse URLs it because the recipe is easy to remember and easily identified with an account and product.

com.company.game_acronym.[IAPtype.]IAPproductID

Tip: You can use the same IDs for Apple, Google Play, and Amazon.  Some folks like separte IDs for each store, but I find that both confusing and wasteful.

I set up the info for my actual app in iTunes connect.

the bundle ID for the app itself is com.ninepoundgames.icecreamtruck  

within iTunes connect under that specific app, there is a section to establish the IAP for that app (setting up descriptions for store, setting price tier, etc…)

during that process it asks for you to give the IAP the following info

  • reference name

  • type (consumable, non-consumable, etc)

  • product ID

then it also displays the status of the IAP, mine is currently “Ready to Submit” because my app has not be submitted.

I combined my bundle ID for the actual app (com.ninepoundgames.icecreamtruck), with the product ID (ICE_2X_REV) I created for that specific IAP product.

Hope this clears things up

“com.domainname.ExampleInAppPurchase.ExampleConsumableItem” is just a placeholder. You’re supposed to translate that to:

com.acme.supergame.500gems

where “acme” is your domain name, “supergame” is the name of your game as  you have it in your Bundle/Packgage ID and “500gems” is the name of that particular item. So for instance, in my personal development website is:  omnigeekmedia.com. I have a game named Omniblaster. Now if I had an option in there to unlock the whole game, my product ID would be something like:

com.omnigeekmedia.omniblaster.unlockgame

or if I wanted to offer up packs of 100 MIRV rockets, I might do:

com.omnigeekmedia.omniblaster.mirv100pack

That’s the string you type into iTunes Connect. That’s the string you type into your app.

Rob

Rob, when you mention “500gems is the name of that particular item”

are you talking about the reference name that is set up on iTunes connect or the product ID?

If you game offers 500 gems for sale, then “500gems” is a perfectly valid name. You could call it “IAP_Item_Z408” of you wanted to. It should be a name that makes sense to you. I would avoid IAP_Item_Z408 because you can’t look at it and make any sense out of it. If you’re selling 100 rocket packs, I wouldn’t name it “500gems” either. At the end of the day, what you enter is a string of letters, numbers and some symbols. It has to be unique to iTunes. Someone else probably has used “500gems” already, but no one has used “com.omnigeekmedia.omniblaster.500gems” which is why people use the reverse domain name scheme like this. That’s it. That’s the only rules.

I don’t think we are on the same page. 

Does anything in corona need to match what is in iTunes connect? and if so, what?

thats what I’m trying to get answered

I understand the reverse domain name (bundle ID) mine is com.ninepoundgames.icecreamtruck

but that is just for the app itself. I would then need to tag something on the end of it in order for it to point at the IAP

so it would look something like this: com.ninepoundgames.icecreamtruck.PUT_NAME_HERE

I have already created the IAP within iTunes connect and they all display the following within iTunes Connect

  • reference name

  • type (consumable, non-consumable, etc)

  • product ID

my question is, do i replace PUT_NAME_HERE with the reference name i made in iTunes connect or the product ID, or does it just not matter?

I’m working on posting a screen shot of what I have in iTunes connect

This is a screen within iTunes connect where you can see the IAP that I have set up…

i_TC.png

Corona needs the exact strings you used.  What you type into iTunes Connect does not have to be com.yoursite.yourapp.yourproduct, that’s just a common way most people do it. So what you typed in is:

10_Gold

25_Gold

ICE_2X_REV

That’s what you put into Corona’s side:

appleProductList = {         "10\_Gold",         "25\_Gold",         "ICE\_2X\_REV"     }

ok, thank you

I may not be reading this right, but you need to use the whole string when setting up your IAP on Apple.

i.e. It should be: com.ninepoundgames.icecreamtruck.ICE_2X_REV everywhere.

If you only have this for the apple ID: ICE_X2_REV  then that is what you need to use in Corona.  However, that is not a great id.

The reason folks use reverse URLs it because the recipe is easy to remember and easily identified with an account and product.

com.company.game_acronym.[IAPtype.]IAPproductID

Tip: You can use the same IDs for Apple, Google Play, and Amazon.  Some folks like separte IDs for each store, but I find that both confusing and wasteful.

I set up the info for my actual app in iTunes connect.

the bundle ID for the app itself is com.ninepoundgames.icecreamtruck  

within iTunes connect under that specific app, there is a section to establish the IAP for that app (setting up descriptions for store, setting price tier, etc…)

during that process it asks for you to give the IAP the following info

  • reference name

  • type (consumable, non-consumable, etc)

  • product ID

then it also displays the status of the IAP, mine is currently “Ready to Submit” because my app has not be submitted.

I combined my bundle ID for the actual app (com.ninepoundgames.icecreamtruck), with the product ID (ICE_2X_REV) I created for that specific IAP product.

Hope this clears things up

“com.domainname.ExampleInAppPurchase.ExampleConsumableItem” is just a placeholder. You’re supposed to translate that to:

com.acme.supergame.500gems

where “acme” is your domain name, “supergame” is the name of your game as  you have it in your Bundle/Packgage ID and “500gems” is the name of that particular item. So for instance, in my personal development website is:  omnigeekmedia.com. I have a game named Omniblaster. Now if I had an option in there to unlock the whole game, my product ID would be something like:

com.omnigeekmedia.omniblaster.unlockgame

or if I wanted to offer up packs of 100 MIRV rockets, I might do:

com.omnigeekmedia.omniblaster.mirv100pack

That’s the string you type into iTunes Connect. That’s the string you type into your app.

Rob

Rob, when you mention “500gems is the name of that particular item”

are you talking about the reference name that is set up on iTunes connect or the product ID?

If you game offers 500 gems for sale, then “500gems” is a perfectly valid name. You could call it “IAP_Item_Z408” of you wanted to. It should be a name that makes sense to you. I would avoid IAP_Item_Z408 because you can’t look at it and make any sense out of it. If you’re selling 100 rocket packs, I wouldn’t name it “500gems” either. At the end of the day, what you enter is a string of letters, numbers and some symbols. It has to be unique to iTunes. Someone else probably has used “500gems” already, but no one has used “com.omnigeekmedia.omniblaster.500gems” which is why people use the reverse domain name scheme like this. That’s it. That’s the only rules.

I don’t think we are on the same page. 

Does anything in corona need to match what is in iTunes connect? and if so, what?

thats what I’m trying to get answered

I understand the reverse domain name (bundle ID) mine is com.ninepoundgames.icecreamtruck

but that is just for the app itself. I would then need to tag something on the end of it in order for it to point at the IAP

so it would look something like this: com.ninepoundgames.icecreamtruck.PUT_NAME_HERE

I have already created the IAP within iTunes connect and they all display the following within iTunes Connect

  • reference name

  • type (consumable, non-consumable, etc)

  • product ID

my question is, do i replace PUT_NAME_HERE with the reference name i made in iTunes connect or the product ID, or does it just not matter?

I’m working on posting a screen shot of what I have in iTunes connect

This is a screen within iTunes connect where you can see the IAP that I have set up…

i_TC.png

Corona needs the exact strings you used.  What you type into iTunes Connect does not have to be com.yoursite.yourapp.yourproduct, that’s just a common way most people do it. So what you typed in is:

10_Gold

25_Gold

ICE_2X_REV

That’s what you put into Corona’s side:

appleProductList = {         "10\_Gold",         "25\_Gold",         "ICE\_2X\_REV"     }