IOS Promoted IAP

Hey all,

I’ve implemented IOS promoted IAP using Corona store library and would like to share what I feel is a deficiency found in the library.

I used the following link for testing. 

itms-services://?action=purchaseIntent&bundleId=my.package.id&productIdentifier=my.iap.product.id

Corona SDK IAP library encapsulated in store module receives the intent and forwards it to the listener specified in the init call like so:

store.init( transactionListener )

The transactionListener is fired after the user purchases or cancels the transaction or if transaction failed. 

There are couple common dialogs that are typically presented:

  1. Login dialog - allows the user to input their credentials before the purchase

  2. Confirm IAP dialog - displays the IAP product price and allows the user to either buy or cancel

As it stands today there appears to be no way to execute any LUA code prior to user taking some kind of action on the above dialogs.  Only after taking an action of some type the listener will fire with the state variable set to either “cancelled” or “purchased”.

With the library behaving this way it’s not possible to customize the user’s IAP “landing” experience.  Whatever your application loads when it starts will be displayed.  In some cases it can even show the black screen.

It would be great if Corona could add another event type ( call it promoted_iap or something similar) prior to displaying any of the IOS IAP dialogs. 

What plugin are you talking about?  Please, always link the topic of your discussion.

I replaced “plugin” with “library” in my original post.  It’s the store library that comes out of the box with Corona SDK.

https://docs.coronalabs.com/api/library/store/index.html

+1 

We are stuck getting through the approval process because of this. 

We make apps for kids. 

We have parental locks on every action in our app that links to purchases or external content. 

We have **no way** to put a parent lock on the transactionListener which is fired when a user enters app with a promoted purchase. 

We can’t get past the review process! 

This is a blocking problem for us. Can somebody from Corona please escalate this request.

Thanks

Hello there, 

Our engineers currently working on to make the Apple IAP plugin and it will see the light soon. 

Best regards,
Tim

Any news on this? We are still getting rejections from Apple.

Thanks

Studycat

Can you post the message you’re getting from Apple?

Rob

What plugin are you talking about?  Please, always link the topic of your discussion.

I replaced “plugin” with “library” in my original post.  It’s the store library that comes out of the box with Corona SDK.

https://docs.coronalabs.com/api/library/store/index.html

+1 

We are stuck getting through the approval process because of this. 

We make apps for kids. 

We have parental locks on every action in our app that links to purchases or external content. 

We have **no way** to put a parent lock on the transactionListener which is fired when a user enters app with a promoted purchase. 

We can’t get past the review process! 

This is a blocking problem for us. Can somebody from Corona please escalate this request.

Thanks

Hello there, 

Our engineers currently working on to make the Apple IAP plugin and it will see the light soon. 

Best regards,
Tim

Any news on this? We are still getting rejections from Apple.

Thanks

Studycat

Can you post the message you’re getting from Apple?

Rob

Any updates on this? I’ve posted this issue in other threads and we’ve had to remove our promoted IAP in order to get our apps approved. As you know, that cuts down on our searchability since we lose the keywords in the IAP’s title.

@rob, I don’t have a copy of the rejection text from Apple but, in a nutshell, for kids apps, they expect a parental gate to open before the transaction executes.

Apple says it’s possible to detect and halt the purchase if the app opens via promoted IAP through SKPaymentTransactionObserver, but we can’t figure out how to do it with Solar2D.

Hello again. Returning to this topic now what Corona SDK is Solar2D and it’s a new day!

We still would love this functionality for the reasons blakeleftwich notes above.

Can we get a optional callback in the handler code so that we can control the flow before the IAP purchase panel pops up?

  1. Here’s the description of promoted IAPs: https://developer.apple.com/app-store/promoting-in-app-purchases/

  2. Here’s the specific method that we need to handle: https://developer.apple.com/documentation/storekit/skpaymenttransactionobserver/2877502-paymentqueue

  3. Here’s how to test the method before publishing: https://developer.apple.com/documentation/storekit/original_api_for_in-app_purchase/testing_promoted_in-app_purchases

Thanks.

i wonder if there is any update ?

i’m still looking for updates. .

This is a really cool feature, I recommend you add this as a feature request https://github.com/coronalabs/corona/issues

Just noticed this is still alive. It think it is already implemented https://docs.coronalabs.com/plugin/apple-iap/deferStorePurchases.html

Any problems anyone with the latest version? Or is this working as expected?

Any feedback welcome! Thx!

QUESTION:

How exactly can I use the call “store.proceedToPayment(payment)” inside the transactionListener?

Any best practice?