Amazon warning of older IAP SDK when submitted to store

We recently submitted an apk which uses the latest IAP plugin:

["plugin.amazon.iap"] = { publisherId = "com.coronalabs", supportedPlatforms = { ["android-kindle"] = true } },

When we did so, the review status said:

We’ve determined that your app uses an older version of the IAP SDK. This may result in inconsistent behavior of IAP on the customer’s device. We would suggest that you update your code to IAPv2.0. You may download the latest SDK from https://developer.amazon.com/public/resources/development-tools/sdk

I don’t think we’ve had this error before, though most of our previous apps were made using Enterprise/Native whereas this was made in the sim. 

I’m wondering if there is just something in the plugin or base SDK which causes Amazon to flag the app as using SDK v1, rather than checking if there is v2 stuff present. 

Has anyone else seen this error before?  

That’s interesting because our plugin is the V2 plugin. We are using 2.0.61. I’ll ask engineering.

Rob

I’m also pretty sure that it’s using the v2 plugin, because it seems to work with live app testing.  

As I say, maybe there is there is something in the plugin or core sdk that flags up that v1 is in the app (e.g. something in the manifest which is no longer used).

Hey Alan, can you post a copy of your build.settings?

Are you doing a native build?

Thanks

Rob

Not native, it’s a simulator build.

Here is my build.settings as it is in the app, the only change here is that I’ve obfuscated the googlePlayGamesAppId:

 settings = { orientation = { default = "landscapeRight", supported = { "landscapeLeft", "landscapeRight", }, }, plugins = { --utilities ['plugin.toast'] = {publisherId = 'com.spiralcodestudio'}, ['plugin.vibrator'] = {publisherId = 'com.spiralcodestudio'}, ["CoronaProvider.native.popup.activity"] = { publisherId = "com.coronalabs", supportedPlatforms = { iphone=true} }, ["CoronaProvider.native.popup.social"] = { publisherId = "com.coronalabs", supportedPlatforms = { android=true, ["android-kindle"] = true } }, ["plugin.reviewPopUp"] = { publisherId = "tech.scotth", supportedPlatforms = { iphone=true} },--need to update sim first --notifications ["plugin.notifications"] = { publisherId = "com.coronalabs", }, ["plugin.OneSignal"] = { publisherId = "com.onesignal", }, --analytics ["plugin.firebaseConfig"] = { publisherId = "tech.scotth" }, ["plugin.firebaseAnalytics"] = { publisherId = "tech.scotth" }, --game networks ["plugin.gamecircle"] = { publisherId = "COM\_INNOVATIVELEISURE", supportedPlatforms = { ["android-kindle"] = true }}, ["plugin.gpgs"] = { publisherId = "com.coronalabs", supportedPlatforms = { android=true}, }, ["CoronaProvider.gameNetwork.apple"] = { publisherId = "com.coronalabs", supportedPlatforms = { iphone=true} }, --ads ["plugin.admob"] = { publisherId = "com.coronalabs", supportedPlatforms = { iphone=true} }, ["plugin.vungle"] = { publisherId = "com.vungle", supportedPlatforms ={ iphone=true, android=true,} }, --not currently supported on Amazon ["plugin.appodeal"] = { publisherId = "com.coronalabs", supportedPlatforms = { android=true, ["android-kindle"] = true } }, --iap ["plugin.google.iap.v3"] = { publisherId = "com.coronalabs", supportedPlatforms = { android=true}, }, ["plugin.amazon.iap"] = { publisherId = "com.coronalabs", supportedPlatforms = { ["android-kindle"] = true } }, }, androidPermissions = { "com.google.android.c2dm.permission.RECEIVE", "android.permission.INTERNET", "android.permission.ACCESS\_NETWORK\_STATE", "android.permission.RECEIVE\_BOOT\_COMPLETED",--for notifications "com.android.vending.BILLING", }, android = { isGame = true, googlePlayGamesAppId = "XXXXXXXXXXXXX", useGoogleServicesJson = true, usesPermissions = { "com.android.vending.BILLING", }, }, osx = { plist = { } }, iphone = { plist = { NSAppTransportSecurity = { NSAllowsArbitraryLoads=true },--needed for appodeal FacebookAppID = "", UIApplicationExitsOnSuspend = false, UIPrerenderedIcon = true, UIStatusBarHidden = true, CoronaUseIOS6LandscapeOnlyWorkaround = true, UIBackgroundModes = {"remote-notification"}, UIAppFonts = { "orbitron-black.otf" }, CFBundleIconFiles = { "Icon.png", "Icon@2x.png", "Icon-Small-40.png", "Icon-Small-40@2x.png", "Icon-60.png", "Icon-60@2x.png", "Icon-72.png", "Icon-72@2x.png", "Icon-76.png", "Icon-76@2x.png", "Icon-Small-50.png", "Icon-Small-50@2x.png", "Icon-Small-40.png", "Icon-Small-40@2x.png", "Icon-60@3x.png", "Icon-Small-40@3x.png", "Icon-Small@3x.png" }, UILaunchImages = { { -- iPhone 4 LandscapeLeft ["UILaunchImageMinimumOSVersion"] = "7.0", ["UILaunchImageName"] = "Default",--got it ["UILaunchImageOrientation"] = "LandscapeLeft", ["UILaunchImageSize"] = "{320, 480}" }, { -- iPhone 4 LandscapeRight ["UILaunchImageMinimumOSVersion"] = "7.0", ["UILaunchImageName"] = "Default",--got it ["UILaunchImageOrientation"] = "LandscapeRight", ["UILaunchImageSize"] = "{320, 480}" }, { -- iPhone 5 LandscapeLeft ["UILaunchImageMinimumOSVersion"] = "7.0", ["UILaunchImageName"] = "Default-Landscape-568h",--got it ["UILaunchImageOrientation"] = "LandscapeLeft", ["UILaunchImageSize"] = "{320, 568}" }, { -- iPhone 5 LandscapeRight ["UILaunchImageMinimumOSVersion"] = "7.0", ["UILaunchImageName"] = "Default-Landscape-568h",--got it ["UILaunchImageOrientation"] = "LandscapeRight", ["UILaunchImageSize"] = "{320, 568}" }, { -- iPad LandscapeLeft ["UILaunchImageMinimumOSVersion"] = "7.0", ["UILaunchImageName"] = "Default-Landscape",--got it ["UILaunchImageOrientation"] = "LandscapeLeft", ["UILaunchImageSize"] = "{768, 1024}" }, { -- iPad LandscapeRight ["UILaunchImageMinimumOSVersion"] = "7.0", ["UILaunchImageName"] = "Default-Landscape",--got it ["UILaunchImageOrientation"] = "LandscapeRight", ["UILaunchImageSize"] = "{768, 1024}" }, { -- iPhone 6 LandscapeLeft ["UILaunchImageMinimumOSVersion"] = "8.0", ["UILaunchImageName"] = "Default-Landscape-667h", ["UILaunchImageOrientation"] = "LandscapeLeft", ["UILaunchImageSize"] = "{375, 667}" }, { -- iPhone 6 LandscapeRight ["UILaunchImageMinimumOSVersion"] = "8.0", ["UILaunchImageName"] = "Default-Landscape-667h", ["UILaunchImageOrientation"] = "LandscapeRight", ["UILaunchImageSize"] = "{375, 667}" }, { -- iPhone 6 Plus LandscapeLeft ["UILaunchImageMinimumOSVersion"] = "8.0", ["UILaunchImageName"] = "Default-Landscape-736h",--got it ["UILaunchImageOrientation"] = "LandscapeLeft", ["UILaunchImageSize"] = "{414, 736}" }, { -- iPhone 6 Plus LandscapeRight ["UILaunchImageMinimumOSVersion"] = "8.0", ["UILaunchImageName"] = "Default-Landscape-736h",--got it ["UILaunchImageOrientation"] = "LandscapeRight", ["UILaunchImageSize"] = "{414, 736}" }, { -- iPad Pro Landscape Right ["UILaunchImageMinimumOSVersion"] = "9.0", ["UILaunchImageName"] = "Default-Landscape-1366",--got it ["UILaunchImageOrientation"] = "LandscapeRight", ["UILaunchImageSize"] = "{1024, 1366}" }, { -- iPad Pro Landscape Left ["UILaunchImageMinimumOSVersion"] = "9.0", ["UILaunchImageName"] = "Default-Landscape-1366",--got it ["UILaunchImageOrientation"] = "LandscapeLeft", ["UILaunchImageSize"] = "{1024, 1366}" }, }, CFBundleURLTypes = { { CFBundleURLSchemes = { "", } } } }, }, }

Thanks Alan. I’ll pass this on. However I do see one thing that seems to be unrelated.

I don’t think there is an “androidPermissions” top level table. See:

https://docs.coronalabs.com/guide/distribution/buildSettings/index.html#permissions-1

settings { android = { usesPermissions = { "android.permission.INTERNET", "android.permission.WRITE\_EXTERNAL\_STORAGE", "android.permission.ACCESS\_FINE\_LOCATION", "android.permission.ACCESS\_COARSE\_LOCATION", }, }, }

Rob

That’s interesting because our plugin is the V2 plugin. We are using 2.0.61. I’ll ask engineering.

Rob

I’m also pretty sure that it’s using the v2 plugin, because it seems to work with live app testing.  

As I say, maybe there is there is something in the plugin or core sdk that flags up that v1 is in the app (e.g. something in the manifest which is no longer used).

Hey Alan, can you post a copy of your build.settings?

Are you doing a native build?

Thanks

Rob

Not native, it’s a simulator build.

Here is my build.settings as it is in the app, the only change here is that I’ve obfuscated the googlePlayGamesAppId:

 settings = { orientation = { default = "landscapeRight", supported = { "landscapeLeft", "landscapeRight", }, }, plugins = { --utilities ['plugin.toast'] = {publisherId = 'com.spiralcodestudio'}, ['plugin.vibrator'] = {publisherId = 'com.spiralcodestudio'}, ["CoronaProvider.native.popup.activity"] = { publisherId = "com.coronalabs", supportedPlatforms = { iphone=true} }, ["CoronaProvider.native.popup.social"] = { publisherId = "com.coronalabs", supportedPlatforms = { android=true, ["android-kindle"] = true } }, ["plugin.reviewPopUp"] = { publisherId = "tech.scotth", supportedPlatforms = { iphone=true} },--need to update sim first --notifications ["plugin.notifications"] = { publisherId = "com.coronalabs", }, ["plugin.OneSignal"] = { publisherId = "com.onesignal", }, --analytics ["plugin.firebaseConfig"] = { publisherId = "tech.scotth" }, ["plugin.firebaseAnalytics"] = { publisherId = "tech.scotth" }, --game networks ["plugin.gamecircle"] = { publisherId = "COM\_INNOVATIVELEISURE", supportedPlatforms = { ["android-kindle"] = true }}, ["plugin.gpgs"] = { publisherId = "com.coronalabs", supportedPlatforms = { android=true}, }, ["CoronaProvider.gameNetwork.apple"] = { publisherId = "com.coronalabs", supportedPlatforms = { iphone=true} }, --ads ["plugin.admob"] = { publisherId = "com.coronalabs", supportedPlatforms = { iphone=true} }, ["plugin.vungle"] = { publisherId = "com.vungle", supportedPlatforms ={ iphone=true, android=true,} }, --not currently supported on Amazon ["plugin.appodeal"] = { publisherId = "com.coronalabs", supportedPlatforms = { android=true, ["android-kindle"] = true } }, --iap ["plugin.google.iap.v3"] = { publisherId = "com.coronalabs", supportedPlatforms = { android=true}, }, ["plugin.amazon.iap"] = { publisherId = "com.coronalabs", supportedPlatforms = { ["android-kindle"] = true } }, }, androidPermissions = { "com.google.android.c2dm.permission.RECEIVE", "android.permission.INTERNET", "android.permission.ACCESS\_NETWORK\_STATE", "android.permission.RECEIVE\_BOOT\_COMPLETED",--for notifications "com.android.vending.BILLING", }, android = { isGame = true, googlePlayGamesAppId = "XXXXXXXXXXXXX", useGoogleServicesJson = true, usesPermissions = { "com.android.vending.BILLING", }, }, osx = { plist = { } }, iphone = { plist = { NSAppTransportSecurity = { NSAllowsArbitraryLoads=true },--needed for appodeal FacebookAppID = "", UIApplicationExitsOnSuspend = false, UIPrerenderedIcon = true, UIStatusBarHidden = true, CoronaUseIOS6LandscapeOnlyWorkaround = true, UIBackgroundModes = {"remote-notification"}, UIAppFonts = { "orbitron-black.otf" }, CFBundleIconFiles = { "Icon.png", "Icon@2x.png", "Icon-Small-40.png", "Icon-Small-40@2x.png", "Icon-60.png", "Icon-60@2x.png", "Icon-72.png", "Icon-72@2x.png", "Icon-76.png", "Icon-76@2x.png", "Icon-Small-50.png", "Icon-Small-50@2x.png", "Icon-Small-40.png", "Icon-Small-40@2x.png", "Icon-60@3x.png", "Icon-Small-40@3x.png", "Icon-Small@3x.png" }, UILaunchImages = { { -- iPhone 4 LandscapeLeft ["UILaunchImageMinimumOSVersion"] = "7.0", ["UILaunchImageName"] = "Default",--got it ["UILaunchImageOrientation"] = "LandscapeLeft", ["UILaunchImageSize"] = "{320, 480}" }, { -- iPhone 4 LandscapeRight ["UILaunchImageMinimumOSVersion"] = "7.0", ["UILaunchImageName"] = "Default",--got it ["UILaunchImageOrientation"] = "LandscapeRight", ["UILaunchImageSize"] = "{320, 480}" }, { -- iPhone 5 LandscapeLeft ["UILaunchImageMinimumOSVersion"] = "7.0", ["UILaunchImageName"] = "Default-Landscape-568h",--got it ["UILaunchImageOrientation"] = "LandscapeLeft", ["UILaunchImageSize"] = "{320, 568}" }, { -- iPhone 5 LandscapeRight ["UILaunchImageMinimumOSVersion"] = "7.0", ["UILaunchImageName"] = "Default-Landscape-568h",--got it ["UILaunchImageOrientation"] = "LandscapeRight", ["UILaunchImageSize"] = "{320, 568}" }, { -- iPad LandscapeLeft ["UILaunchImageMinimumOSVersion"] = "7.0", ["UILaunchImageName"] = "Default-Landscape",--got it ["UILaunchImageOrientation"] = "LandscapeLeft", ["UILaunchImageSize"] = "{768, 1024}" }, { -- iPad LandscapeRight ["UILaunchImageMinimumOSVersion"] = "7.0", ["UILaunchImageName"] = "Default-Landscape",--got it ["UILaunchImageOrientation"] = "LandscapeRight", ["UILaunchImageSize"] = "{768, 1024}" }, { -- iPhone 6 LandscapeLeft ["UILaunchImageMinimumOSVersion"] = "8.0", ["UILaunchImageName"] = "Default-Landscape-667h", ["UILaunchImageOrientation"] = "LandscapeLeft", ["UILaunchImageSize"] = "{375, 667}" }, { -- iPhone 6 LandscapeRight ["UILaunchImageMinimumOSVersion"] = "8.0", ["UILaunchImageName"] = "Default-Landscape-667h", ["UILaunchImageOrientation"] = "LandscapeRight", ["UILaunchImageSize"] = "{375, 667}" }, { -- iPhone 6 Plus LandscapeLeft ["UILaunchImageMinimumOSVersion"] = "8.0", ["UILaunchImageName"] = "Default-Landscape-736h",--got it ["UILaunchImageOrientation"] = "LandscapeLeft", ["UILaunchImageSize"] = "{414, 736}" }, { -- iPhone 6 Plus LandscapeRight ["UILaunchImageMinimumOSVersion"] = "8.0", ["UILaunchImageName"] = "Default-Landscape-736h",--got it ["UILaunchImageOrientation"] = "LandscapeRight", ["UILaunchImageSize"] = "{414, 736}" }, { -- iPad Pro Landscape Right ["UILaunchImageMinimumOSVersion"] = "9.0", ["UILaunchImageName"] = "Default-Landscape-1366",--got it ["UILaunchImageOrientation"] = "LandscapeRight", ["UILaunchImageSize"] = "{1024, 1366}" }, { -- iPad Pro Landscape Left ["UILaunchImageMinimumOSVersion"] = "9.0", ["UILaunchImageName"] = "Default-Landscape-1366",--got it ["UILaunchImageOrientation"] = "LandscapeLeft", ["UILaunchImageSize"] = "{1024, 1366}" }, }, CFBundleURLTypes = { { CFBundleURLSchemes = { "", } } } }, }, }

Thanks Alan. I’ll pass this on. However I do see one thing that seems to be unrelated.

I don’t think there is an “androidPermissions” top level table. See:

https://docs.coronalabs.com/guide/distribution/buildSettings/index.html#permissions-1

settings { android = { usesPermissions = { "android.permission.INTERNET", "android.permission.WRITE\_EXTERNAL\_STORAGE", "android.permission.ACCESS\_FINE\_LOCATION", "android.permission.ACCESS\_COARSE\_LOCATION", }, }, }

Rob