SDKBOX “Invalid iap item name”

I’m working on (re-)integrating my IAPs into my app.

Unfortunately, when trying it on the iPhone, I see

**IAP :Invalid iap item name: unlock_mission2**

in XCode’s debug output.

Here’s my sdkbox_config.json file, which sits in jsb-default/assets :

{
	"ios": {
		"iap": {
			"items": {
				"unlock_mission2": {
					"id": "escapeteam.mission2",
					"type": "non_consumable"
				}
			}
		}
	}
}

Does it get read? What else could be going wrong here? Thanks alot!

invaild iap item name,

maybe, iap havn’t get product list from apple server.

plz check apple itune connect, tax info, bundle id, or other settings.

plz read the https://developer.apple.com/in-app-purchase/ Preparing section .

Or

follow https://www.raywenderlich.com/5456-in-app-purchase-tutorial-getting-started steps.

Hello!

Those IAPs are already used in the release of my app on the App/Play Store. They just don’t work in my dev environment. Here’s a run-down of the issue:

This is my IAP on AppStore Connect.

escapeteam.mission2  

is the ID I use on the Apple side.

Then we have my ‘internal’ ID for that IAP, which is

unlock_mission2

(This is the sample sdkbox_config.json file I modified, so there should be no issues regarding its structure/format.)

But somehow, it doesn’t get read:

image

This is XCode’s debug output when I touch the ‘purchase’ button on my phone while running the build on it.

Note that it can’t find unlock_mission2 (which is my internal ID, not what I use on AppStore Connect (‘escapeteam.mission2’) ) – does it have problems finding my sdkbox_config.json? It was put in place automatically when I installed SDKBOX (and imported IAP) via the command line. It’s here:

I checked Tax/Banking, all good on Apple’s side. But it doesn’t seem to be an Apple-related problem, rather one of SDKbox not reading its config file?

Note that I have some installation issues with SDKBox via the GUI in Cocos Creator, as discussed here: https://discuss.cocos2d-x.org/t/sdkbox-in-cocos-creator-update-issue/51835/19

But this

/Users/fabianhemmert/.sdkbox/bin/sdkbox --alwaysupdate --nohelp --runin gui-creator -s main import iap --projectpath proj.ios_mac/EscapeTeam.xcodeproj --projectpath proj.android-studio
  • only when run from the command line - works fine:

    _______ ______  _     _ ______   _____  _     _
    |______ |     \ |____/  |_____] |     |  \___/
    ______| |_____/ |    \_ |_____] |_____| _/   \_
    

    Copyright (c) 2016-2020 SDKBOX Inc. v1.4.1.0
    Please reference the online documentation to finish the integration:
    In-App Purchases(IAP) with Javascript - SDKBOX
    Installation Successful :slight_smile:

    Log file = /Users/fabianhemmert/.sdkbox/log/sdkbox-log-2020-11-04-3.sdkbox.temp

The content of that logfile is:

Namespace(alwaysupdate=1, apitoken=None, command='import', days=10, dryrun=None, forcecopy=0, forcedownload=0, info=None, input=None, installer='/Users/fabianhemmert/.sdkbox/bin/sdkbox.pyc', jsonapi=0, key=None, legacy=None, local=0, manifest='manifest.json', mkey=None, mvalue=None, nohelp=1, nopatching=1, nopatchingcpp=0, noupdate=0, output=None, patcherrors=0, platform=None, plugin=u'/Users/fabianhemmert/.sdkbox/plugins/sdkbox-iap_v2.7.1.0/', project='/Users/fabianhemmert/Dropbox/Projekte/Development/Cocos2D-x/EscapeTeam_support/build/jsb-default/', projectpath=['proj.ios_mac/EscapeTeam.xcodeproj', 'proj.android-studio'], remote=1, runin='gui-creator', server='download.sdkbox.com/installer/v1/', silenttime=None, symbol=None, verbose=0)
get remote manifest from http://download.sdkbox.com/installer/v1/manifest.json
{
    "packages": {
        "SDKBOX": {
            "versions": {
                "1.4.1.0": {
                    "bundle": "sdkbox_installer.zip",
                    "sha1": "87cceae2f12341850680875153f23e9beeaeab17"
                }
            }
        },
        "adcolony": {
            "category": "AD UNITS",
            "conflict": [
                "soomlagrow",
                "appodeal"
            ],
            "dependence": [
                "googleplayservices"
            ],
            "description": "Instant-play\u2122 HD the best user experience, hands down.",
            "display_name": "AdColony",
            "displayed": true,
            "enabled_by_default": true,
            "is_library": false,
            "versions": {
                "2.7.1.0": {
                    "v3": {
                        "bundle": "sdkbox-adcolony_v2.7.1.0.tar.gz",
                        "sha1": "5c35d25377f94cb4a9bd7cf18b725aa71f10eb0d"
                    }
                }
            }
        },
        "admob": {
            "category": "AD UNITS",
            "conflict": [],
            "dependence": [
                "googleplayservices",
                "sdkboxads"
            ],
            "description": "Monetize your apps intelligently",
            "display_name": "AdMob",
            "displayed": true,
            "enabled_by_default": true,
            "is_library": false,
            "versions": {
                "2.7.1.0": {
                    "v3": {
                        "bundle": "sdkbox-admob_v2.7.1.0.tar.gz",
                        "sha1": "fa2009a3595c8d96d73d9094cf297a6addee0c02"
                    }
                },
                "2.7.1.1": {
                    "v3": {
                        "bundle": "sdkbox-admob_v2.7.1.1.tar.gz",
                        "sha1": "6955f17ec937338fd34a9734fd2863bf1beb0db2"
                    }
                },
                "2.7.1.2": {
                    "v3": {
                        "bundle": "sdkbox-admob_v2.7.1.2.tar.gz",
                        "sha1": "7aeb2b680065ba26a866a96941809217e7a88fd7"
                    }
                }
            }
        },
        "amazon": {
            "category": "APP STORES",
            "conflict": [],
            "dependence": [
                "iap"
            ],
            "description": "The exclusive appstore on Kindle tablets, but available for other devices, too.",
            "display_name": "Amazon",
            "displayed": true,
            "enabled_by_default": true,
            "is_library": false,
            "versions": {
                "2.7.1.0": {
                    "v3": {
                        "bundle": "sdkbox-amazon_v2.7.1.0.tar.gz",
                        "sha1": "45cdd9e80e45ea019810296c12d24d8983629492"
                    }
                }
            }
        },
        "anysdk": {
            "category": "MORE",
            "conflict": [],
            "dependence": [],
            "description": "SDKBox Plugin:anysdk",
            "display_name": "AnySDK",
            "displayed": true,
            "enabled_by_default": true,
            "is_library": false,
            "versions": {
                "2.7.1.0": {
                    "v3": {
                        "bundle": "sdkbox-anysdk_v2.7.1.0.tar.gz",
                        "sha1": "0a6e752e2fb8f740714617dcb641b1e9a2aa8040"
                    }
                }
            }
        },
        "appnext": {
            "category": "AD UNITS",
            "conflict": [],
            "dependence": [
                "googleplayservices"
            ],
            "description": "Grow Your Mobile Business by Promoting Apps.",
            "display_name": "Appnext",
            "displayed": true,
            "enabled_by_default": true,
            "is_library": false,
            "versions": {
                "2.7.1.0": {
                    "v3": {
                        "bundle": "sdkbox-appnext_v2.7.1.0.tar.gz",
                        "sha1": "0c1326c59e9cf570108f8be9e397e528969c5b26"
                    }
                }
            }
        },
        "apteligent": {
            "category": "ANALYTICS",
            "conflict": [],
            "dependence": [],
            "description": "Build Better Apps Faster: crash reporting and realtime performance data.",
            "display_name": "Apteligent",
            "displayed": true,
            "enabled_by_default": true,
            "is_library": false,
            "versions": {
                "2.7.1.0": {
                    "v3": {
                        "bundle": "sdkbox-apteligent_v2.7.1.0.tar.gz",
                        "sha1": "df542e0335bd18f89d645e97d03f92f3b5008caa"
                    }
                }
            }
        },
        "chartboost": {
            "category": "AD UNITS",
            "conflict": [
                "appodeal"
            ],
            "dependence": [
                "googleplayservices"
            ],
            "description": "The largest mobile games-only platform to increase revenue and discover new players.",
            "display_name": "Chartboost",
            "displayed": true,
            "enabled_by_default": true,
            "is_library": false,
            "versions": {
                "2.7.1.0": {
                    "v3": {
                        "bundle": "sdkbox-chartboost_v2.7.1.0.tar.gz",
                        "sha1": "a25cd1609c6d0d0fa18e172f0327b84000c3a37e"
                    }
                }
            }
        },
        "ethwallet": {
            "category": "MORE",
            "conflict": [],
            "dependence": [],
            "description": "SDKBox Plugin:ethwallet",
            "display_name": "ethwallet",
            "displayed": true,
            "enabled_by_default": true,
            "is_library": false,
            "versions": {
                "2.7.1.0": {
                    "v3": {
                        "bundle": "sdkbox-ethwallet_v2.7.1.0.tar.gz",
                        "sha1": "a2a7a79940e77a27dc0fdd384b6eb0a6ee48d305"
                    }
                }
            }
        },
        "facebook": {
            "category": "SOCIAL",
            "conflict": [
                "vungle",
                "appodeal"
            ],
            "dependence": [],
            "description": "The world's largest social media network.",
            "display_name": "Facebook",
            "displayed": true,
            "enabled_by_default": true,
            "is_library": false,
            "versions": {
                "2.7.1.0": {
                    "v3": {
                        "bundle": "sdkbox-facebook_v2.7.1.0.tar.gz",
                        "sha1": "5500d15da997b93be6fc3d66d2b544a59c0af432"
                    }
                },
                "2.7.1.1": {
                    "v3": {
                        "bundle": "sdkbox-facebook_v2.7.1.1.tar.gz",
                        "sha1": "573928561b771f6cc65167674a3fc1e94e0d3be4"
                    }
                }
            }
        },
        "firebase": {
            "category": "ANALYTICS",
            "conflict": [],
            "dependence": [
                "googleplayservices"
            ],
            "description": "Google Analytics SDK.",
            "display_name": "Firebase",
            "displayed": true,
            "enabled_by_default": true,
            "is_library": false,
            "versions": {
                "2.7.1.0": {
                    "v3": {
                        "bundle": "sdkbox-firebase_v2.7.1.0.tar.gz",
                        "sha1": "ddc04bc4bc425259aee9a1c7dfc4553dc5438efd"
                    }
                }
            }
        },
        "fyber": {
            "category": "AD UNITS",
            "conflict": [
                "soomlagrow",
                "appodeal"
            ],
            "dependence": [
                "googleplayservices"
            ],
            "description": "Designed with you in mind, Fyber empowers developers to execute smart ad monetization strategies.",
            "display_name": "Fyber",
            "displayed": true,
            "enabled_by_default": true,
            "is_library": false,
            "versions": {
                "2.7.1.0": {
                    "v3": {
                        "bundle": "sdkbox-fyber_v2.7.1.0.tar.gz",
                        "sha1": "e91fcc56f762790ff8020f4981bd3dc9f24ccf1c"
                    }
                }
            }
        },
        "gameroom": {
            "category": "MORE",
            "conflict": [],
            "dependence": [],
            "description": "SDKBox Plugin:gameroom",
            "display_name": "gameroom",
            "displayed": true,
            "enabled_by_default": true,
            "is_library": false,
            "versions": {
                "0.0.0.1": {
                    "v3": {
                        "bundle": "sdkbox-gameroom_v0.0.0.1.tar.gz",
                        "sha1": "1fb938b85771855f5e3c80c85a1d28a74d776af3"
                    }
                }
            }
        },
        "googleanalytics": {
            "category": "ANALYTICS",
            "conflict": [],
            "dependence": [
                "googleplayservices"
            ],
            "description": "Turn insights into action.",
            "display_name": "Google Analytics",
            "displayed": true,
            "enabled_by_default": true,
            "is_library": false,
            "versions": {
                "2.7.1.0": {
                    "v3": {
                        "bundle": "sdkbox-googleanalytics_v2.7.1.0.tar.gz",
                        "sha1": "a75f17877c2156c186011b96190d68635ef769c6"
                    }
                }
            }
        },
        "googleplayservices": {
            "category": "MORE",
            "conflict": [],
            "dependence": [],
            "description": "SDKBox Plugin:googleplayservices",
            "display_name": "Google Play Services",
            "displayed": false,
            "enabled_by_default": true,
            "is_library": true,
            "versions": {
                "2.7.1.0": {
                    "v3": {
                        "bundle": "sdkbox-googleplayservices_v2.7.1.0.tar.gz",
                        "sha1": "1c9b3d3ffda53d4ebf937cab6dd46351dde193b0"
                    }
                }
            }
        },
        "gpg": {
            "category": "ESSENTIALS",
            "conflict": [],
            "dependence": [
                "googleplayservices"
            ],
            "description": "The most secure and reliable game services for your mobile games now available on both Android and iOS!",
            "display_name": "Google Play Game Services",
            "displayed": true,
            "enabled_by_default": true,
            "is_library": false,
            "versions": {
                "2.7.1.0": {
                    "v3": {
                        "bundle": "sdkbox-gpg_v2.7.1.0.tar.gz",
                        "sha1": "6605f6c20493c67287a191a94e3e94584904a0e8"
                    }
                }
            }
        },
        "hms": {
            "category": "ESSENTIALS",
            "conflict": [],
            "dependence": [],
            "description": "Huawei Mobile Services Kits. Include Account, Game, Ads and IAP.",
            "display_name": "Huawei Mobile Services",
            "displayed": true,
            "enabled_by_default": true,
            "is_library": false,
            "versions": {
                "2.7.1.0": {
                    "v3": {
                        "bundle": "sdkbox-hms_v2.7.1.0.tar.gz",
                        "sha1": "dee82a769942b281fca4e5dc125fb18e70f0b8fb"
                    }
                }
            }
        },
        "iap": {
            "category": "ESSENTIALS",
            "conflict": [],
            "dependence": [],
            "description": "Implement Cross-Platform IAP easily. Support Apple AppStore, Google Play, Amazon AppStore, and Playphone store.",
            "display_name": "In App Purchase",
            "displayed": true,
            "enabled_by_default": true,
            "is_library": false,
            "versions": {
                "2.7.1.0": {
                    "v3": {
                        "bundle": "sdkbox-iap_v2.7.1.0.tar.gz",
                        "sha1": "50ecb263a4189ba35b52371a9308e2563ed44b79"
                    }
                }
            }
        },
        "misc": {
            "category": "MORE",
            "conflict": [],
            "dependence": [],
            "description": "SDKBox Plugin:misc",
            "display_name": "misc",
            "displayed": true,
            "enabled_by_default": true,
            "is_library": false,
            "versions": {
                "2.7.1.0": {
                    "v3": {
                        "bundle": "sdkbox-misc_v2.7.1.0.tar.gz",
                        "sha1": "d0c6e43a8aafc4ba47b211f15ccc392417bec19d"
                    }
                }
            }
        },
        "onesignal": {
            "category": "PUSH NOTIFICATION",
            "conflict": [],
            "dependence": [
                "googleplayservices"
            ],
            "description": "OneSignal is a free high volume Push Notification service.",
            "display_name": "OneSignal",
            "displayed": true,
            "enabled_by_default": true,
            "is_library": false,
            "versions": {
                "2.7.1.0": {
                    "v3": {
                        "bundle": "sdkbox-onesignal_v2.7.1.0.tar.gz",
                        "sha1": "e524e89b1413eb1076188a8db248c1e3995ed368"
                    }
                }
            }
        },
        "review": {
            "category": "ESSENTIALS",
            "conflict": [],
            "dependence": [],
            "description": "More downloads of your app with App store ratings and reviews.",
            "display_name": "Ratings & Reviews",
            "displayed": true,
            "enabled_by_default": true,
            "is_library": false,
            "versions": {
                "2.7.1.0": {
                    "v3": {
                        "bundle": "sdkbox-review_v2.7.1.0.tar.gz",
                        "sha1": "95569b8694fb9e73a6a7ffb94d3e0440e8a004d1"
                    }
                }
            }
        },
        "sdkboxads": {
            "category": "ESSENTIALS",
            "conflict": [],
            "dependence": [],
            "description": "An easy-to-use package that includes all SDKBOX supported Ad Units.",
            "display_name": "SDKBox Ads",
            "displayed": false,
            "enabled_by_default": true,
            "is_library": false,
            "versions": {
                "2.7.1.0": {
                    "v3": {
                        "bundle": "sdkbox-sdkboxads_v2.7.1.0.tar.gz",
                        "sha1": "a5f658e37cd1e4a363cbf7d9b97bf95dbf988778"
                    }
                }
            }
        },
        "sdkboxadsplus": {
            "category": "AD UNITS",
            "conflict": [],
            "dependence": [
                "chartboost",
                "admob",
                "unityads"
            ],
            "description": "An easy-to-use package that includes all SDKBOX supported Ad Units.",
            "display_name": "SDKBox Ads All",
            "displayed": true,
            "enabled_by_default": true,
            "is_library": false,
            "versions": {
                "2.7.1.0": {
                    "v3": {
                        "bundle": "sdkbox-sdkboxadsplus_v2.7.1.0.tar.gz",
                        "sha1": "6f437418c0a0cfb098c5561ef131d7f7a0bc6acf"
                    }
                }
            }
        },
        "sdkboxplay": {
            "category": "ESSENTIALS",
            "conflict": [],
            "dependence": [
                "googleplayservices"
            ],
            "description": "Cross platform support for both Apple Game Center and Google Play Services, including Login, Achievement and Leaderboard.",
            "display_name": "SDKBox Play",
            "displayed": true,
            "enabled_by_default": true,
            "is_library": false,
            "versions": {
                "2.7.1.0": {
                    "v3": {
                        "bundle": "sdkbox-sdkboxplay_v2.7.1.0.tar.gz",
                        "sha1": "ac45fe227f9e87c07af978b3df6ed3dddcfcb9d2"
                    }
                }
            }
        },
        "share": {
            "category": "ESSENTIALS",
            "conflict": [],
            "dependence": [],
            "description": "Grow audience network by publishing social messages to Facebook and Twitter.",
            "display_name": "Share",
            "displayed": true,
            "enabled_by_default": true,
            "is_library": false,
            "versions": {
                "2.7.1.0": {
                    "v3": {
                        "bundle": "sdkbox-share_v2.7.1.0.tar.gz",
                        "sha1": "6ef689a3e495d33334f761a3c53d6e61818d7b77"
                    }
                }
            }
        },
        "tapcore": {
            "category": "AD UNITS",
            "conflict": [],
            "dependence": [
                "googleplayservices"
            ],
            "description": "Detect and monetize pirated installations of your apps.",
            "display_name": "Tapcore",
            "displayed": true,
            "enabled_by_default": true,
            "is_library": false,
            "versions": {
                "2.7.1.0": {
                    "v3": {
                        "bundle": "sdkbox-tapcore_v2.7.1.0.tar.gz",
                        "sha1": "4cacbd23c99d52475cf68e5191a039010af71946"
                    }
                }
            }
        },
        "tune": {
            "category": "ATTRIBUTION",
            "conflict": [],
            "dependence": [
                "googleplayservices"
            ],
            "description": "Making mobile marketing better, for everyone.",
            "display_name": "Tune",
            "displayed": true,
            "enabled_by_default": true,
            "is_library": false,
            "versions": {
                "2.7.1.0": {
                    "v3": {
                        "bundle": "sdkbox-tune_v2.7.1.0.tar.gz",
                        "sha1": "50fa9ed9e98d12da74c04835f27b59202609c0e8"
                    }
                }
            }
        },
        "unityads": {
            "category": "AD UNITS",
            "conflict": [],
            "dependence": [
                "googleplayservices",
                "sdkboxads"
            ],
            "description": "Get paid for all your hard work.",
            "display_name": "UnityAds",
            "displayed": true,
            "enabled_by_default": true,
            "is_library": false,
            "versions": {
                "2.7.1.0": {
                    "v3": {
                        "bundle": "sdkbox-unityads_v2.7.1.0.tar.gz",
                        "sha1": "c7865784c301392c302a33c80d8c071f643f9055"
                    }
                }
            }
        },
        "youtube": {
            "category": "MORE",
            "conflict": [],
            "dependence": [
                "googleplayservices"
            ],
            "description": "Single API to play YouTube videos on both iOS and Android.",
            "display_name": "Youtube",
            "displayed": true,
            "enabled_by_default": true,
            "is_library": false,
            "versions": {
                "2.7.1.0": {
                    "v3": {
                        "bundle": "sdkbox-youtube_v2.7.1.0.tar.gz",
                        "sha1": "88fc91ecdd1b3dd79fb117a02c99808cf1741201"
                    }
                }
            }
        }
    }
}
misc ethwallet chartboost googleanalytics review gpg googleplayservices anysdk fyber tune sdkboxplay iap unityads share sdkboxads apteligent hms amazon firebase facebook SDKBOX tapcore sdkboxadsplus youtube appnext admob gameroom onesignal adcolony
cocos2d-x installation directory /Users/fabianhemmert/cocos2d-x/cocos2d-x-3.17.2/
cocos2d-x header directory /Users/fabianhemmert/cocos2d-x/cocos2d-x-3.17.2/cocos/
cocos2d-x installation version 3.17.2
looking for cocos2d.h at /Users/fabianhemmert/Dropbox/Projekte/Development/Cocos2D-x/EscapeTeam_support/build/jsb-default/frameworks/cocos2d-x/cocos/2d
looking for cocos2d.h at /Users/fabianhemmert/Dropbox/Projekte/Development/Cocos2D-x/EscapeTeam_support/build/jsb-default/frameworks/cocos2d-x/cocos
cocos2d-x project root /Users/fabianhemmert/Dropbox/Projekte/Development/Cocos2D-x/EscapeTeam_support/build/jsb-default/
fallback to cocos project search False
cocos2d-x project type js
loaded package manifest
loaded cocos project
iOS project dirs ['/Users/fabianhemmert/Dropbox/Projekte/Development/Cocos2D-x/EscapeTeam_support/build/jsb-default/frameworks/runtime-src/proj.ios_mac']
loaded xcode project
failed to load visual studio project
failed to load android project
load android studio project
supported projects cocos ios android studio
package base name iap
skipping download of sdkbox-iap_v2.7.1.0.tar.gz, already exists as /Users/fabianhemmert/.sdkbox/plugins/sdkbox-iap_v2.7.1.0/
setting plugin source to /Users/fabianhemmert/.sdkbox/plugins/sdkbox-iap_v2.7.1.0/
SHA1 of downloaded package 29f874d574a2fc33d5172847a3f3a455b8ff73ba
plugin exist setting --nopatching
adding to backup .sdkbox_packages.json.kujpFoGt.sdkbox.temp as /Users/fabianhemmert/Dropbox/Projekte/Development/Cocos2D-x/EscapeTeam_support/build/jsb-default/.sdkbox_packages.json
adding to backup project.pbxproj.9I0uebr4.sdkbox.temp as /Users/fabianhemmert/Dropbox/Projekte/Development/Cocos2D-x/EscapeTeam_support/build/jsb-default/frameworks/runtime-src/proj.ios_mac/EscapeTeam.xcodeproj/project.pbxproj
found sdkbox.package at /Users/fabianhemmert/.sdkbox/plugins/sdkbox-iap_v2.7.1.0/plugin/sdkbox.package
n/a does not exists.
defining constant SDKBOX_PLUGIN_NAME=>IAP
Saving to /Users/fabianhemmert/Dropbox/Projekte/Development/Cocos2D-x/EscapeTeam_support/build/jsb-default/.sdkbox_packages.json from .sdkbox_packages.json.kujpFoGt.sdkbox.temp
Saving to /Users/fabianhemmert/Dropbox/Projekte/Development/Cocos2D-x/EscapeTeam_support/build/jsb-default/frameworks/runtime-src/proj.ios_mac/EscapeTeam.xcodeproj/project.pbxproj from project.pbxproj.9I0uebr4.sdkbox.temp
Creating backup archive /Users/fabianhemmert/Dropbox/Projekte/Development/Cocos2D-x/EscapeTeam_support/build/jsb-default/backup-2020-11-04.zip
Backup Completed.
skipped xcode_add_compiler_flag -DSDKBOX_ENABLED
skipped android_add_key_value 2 LOCAL_CPPFLAGS -DSDKBOX_ENABLED None
skipped android_studio_add_key_value 2 LOCAL_CPPFLAGS -DSDKBOX_ENABLED None
skipped xcode_add_compiler_flag -DSDKBOX_COCOS_CREATOR
skipped android_add_key_value 2 LOCAL_CPPFLAGS -DSDKBOX_COCOS_CREATOR None
skipped android_studio_add_key_value 2 LOCAL_CPPFLAGS -DSDKBOX_COCOS_CREATOR None
skipped config_merge_section /Users/fabianhemmert/.sdkbox/plugins/sdkbox-iap_v2.7.1.0/plugin/sdkbox_config.json.sample /Users/fabianhemmert/Dropbox/Projekte/Development/Cocos2D-x/EscapeTeam_support/build/jsb-default/assets/sdkbox_config.json
skipped copy_file /Users/fabianhemmert/.sdkbox/plugins/sdkbox-iap_v2.7.1.0/plugin/ios/sdkbox.framework /Users/fabianhemmert/Dropbox/Projekte/Development/Cocos2D-x/EscapeTeam_support/build/jsb-default/frameworks/runtime-src/proj.ios_mac/sdkbox.framework
skipped copy_file /Users/fabianhemmert/.sdkbox/plugins/sdkbox-iap_v2.7.1.0/plugin/ios/PluginIAP.framework /Users/fabianhemmert/Dropbox/Projekte/Development/Cocos2D-x/EscapeTeam_support/build/jsb-default/frameworks/runtime-src/proj.ios_mac/PluginIAP.framework
skipped xcode_add_framework sdkbox.framework
skipped xcode_add_framework PluginIAP.framework
skipped xcode_add_framework Security.framework
skipped xcode_add_framework StoreKit.framework
skipped xcode_add_framework SystemConfiguration.framework
copy /Users/fabianhemmert/.sdkbox/plugins/sdkbox-iap_v2.7.1.0/plugin/android/libs/sdkbox.jar to /Users/fabianhemmert/Dropbox/Projekte/Development/Cocos2D-x/EscapeTeam_support/build/jsb-default/frameworks/runtime-src/proj.android-studio/libs/sdkbox.jar
copy /Users/fabianhemmert/.sdkbox/plugins/sdkbox-iap_v2.7.1.0/plugin/android/libs/PluginIAP.jar to /Users/fabianhemmert/Dropbox/Projekte/Development/Cocos2D-x/EscapeTeam_support/build/jsb-default/frameworks/runtime-src/proj.android-studio/libs/PluginIAP.jar
skipped copy_file (u'/Users/fabianhemmert/.sdkbox/plugins/sdkbox-iap_v2.7.1.0/plugin/android/libs/sdkbox.jar', '/Users/fabianhemmert/Dropbox/Projekte/Development/Cocos2D-x/EscapeTeam_support/build/jsb-default/frameworks/runtime-src/proj.android-studio/libs/sdkbox.jar')
skipped copy_file (u'/Users/fabianhemmert/.sdkbox/plugins/sdkbox-iap_v2.7.1.0/plugin/android/libs/PluginIAP.jar', '/Users/fabianhemmert/Dropbox/Projekte/Development/Cocos2D-x/EscapeTeam_support/build/jsb-default/frameworks/runtime-src/proj.android-studio/libs/PluginIAP.jar')
skipped copy_file /Users/fabianhemmert/.sdkbox/plugins/sdkbox-iap_v2.7.1.0/plugin/android/jni/sdkbox /Users/fabianhemmert/Dropbox/Projekte/Development/Cocos2D-x/EscapeTeam_support/build/jsb-default/frameworks/runtime-src/proj.android-studio/jni/sdkbox
skipped copy_file /Users/fabianhemmert/.sdkbox/plugins/sdkbox-iap_v2.7.1.0/plugin/android/jni/PluginIAP /Users/fabianhemmert/Dropbox/Projekte/Development/Cocos2D-x/EscapeTeam_support/build/jsb-default/frameworks/runtime-src/proj.android-studio/jni/PluginIAP
skipped copy_file /Users/fabianhemmert/.sdkbox/plugins/sdkbox-iap_v2.7.1.0/plugin/jsbindings/jsb2/PluginIAPJS.cpp /Users/fabianhemmert/Dropbox/Projekte/Development/Cocos2D-x/EscapeTeam_support/build/jsb-default/frameworks/runtime-src/Classes/PluginIAPJS.cpp
skipped copy_file /Users/fabianhemmert/.sdkbox/plugins/sdkbox-iap_v2.7.1.0/plugin/jsbindings/jsb2/PluginIAPJS.hpp /Users/fabianhemmert/Dropbox/Projekte/Development/Cocos2D-x/EscapeTeam_support/build/jsb-default/frameworks/runtime-src/Classes/PluginIAPJS.hpp
skipped copy_file /Users/fabianhemmert/.sdkbox/plugins/sdkbox-iap_v2.7.1.0/plugin/jsbindings/jsb2/PluginIAPJSHelper.cpp /Users/fabianhemmert/Dropbox/Projekte/Development/Cocos2D-x/EscapeTeam_support/build/jsb-default/frameworks/runtime-src/Classes/PluginIAPJSHelper.cpp
skipped copy_file /Users/fabianhemmert/.sdkbox/plugins/sdkbox-iap_v2.7.1.0/plugin/jsbindings/jsb2/PluginIAPJSHelper.h /Users/fabianhemmert/Dropbox/Projekte/Development/Cocos2D-x/EscapeTeam_support/build/jsb-default/frameworks/runtime-src/Classes/PluginIAPJSHelper.h
skipped copy_file /Users/fabianhemmert/.sdkbox/plugins/sdkbox-iap_v2.7.1.0/plugin/jsbindings/jsb2/SDKBoxJSHelper.tmp.cpp /Users/fabianhemmert/Dropbox/Projekte/Development/Cocos2D-x/EscapeTeam_support/build/jsb-default/frameworks/runtime-src/Classes/SDKBoxJSHelper.cpp
skipped copy_file /Users/fabianhemmert/.sdkbox/plugins/sdkbox-iap_v2.7.1.0/plugin/jsbindings/jsb2/SDKBoxJSHelper.tmp.h /Users/fabianhemmert/Dropbox/Projekte/Development/Cocos2D-x/EscapeTeam_support/build/jsb-default/frameworks/runtime-src/Classes/SDKBoxJSHelper.h
skipped xcode_add_source PluginIAPJS.cpp None
skipped xcode_add_source PluginIAPJS.hpp None
skipped xcode_add_source PluginIAPJSHelper.cpp None
skipped xcode_add_source PluginIAPJSHelper.h None
skipped xcode_add_source SDKBoxJSHelper.cpp None
skipped xcode_add_source SDKBoxJSHelper.h None
skipped android_add_source ../../Classes/PluginIAPJS.cpp None
skipped android_studio_add_source ../../Classes/PluginIAPJS.cpp None
skipped android_add_source ../../Classes/PluginIAPJSHelper.cpp None
skipped android_studio_add_source ../../Classes/PluginIAPJSHelper.cpp None
skipped android_add_source ../../Classes/SDKBoxJSHelper.cpp None
skipped android_studio_add_source ../../Classes/SDKBoxJSHelper.cpp None
skipped android_set_permission INTERNET False
skipped android_studio_set_permission INTERNET False
skipped android_set_permission ACCESS_WIFI_STATE False
skipped android_studio_set_permission ACCESS_WIFI_STATE False
skipped android_set_permission ACCESS_NETWORK_STATE False
skipped android_studio_set_permission ACCESS_NETWORK_STATE False
skipped android_set_permission com.android.vending.BILLING True
skipped android_studio_set_permission com.android.vending.BILLING True
skipped android_add_activity com.android.billingclient.api.ProxyBillingActivity android:configChanges=keyboard|keyboardHidden|screenLayout|screenSize|orientation android:theme=@android:style/Theme.Translucent.NoTitleBar
skipped android_studio_add_activity com.android.billingclient.api.ProxyBillingActivity android:configChanges=keyboard|keyboardHidden|screenLayout|screenSize|orientation android:theme=@android:style/Theme.Translucent.NoTitleBar
skipped android_add_static_library PluginIAP
skipped android_studio_add_static_library PluginIAP
skipped android_add_static_library sdkbox
skipped android_studio_add_static_library sdkbox
skipped android_del_call import-module, ./pluginiap
skipped android_add_call import-add-path, $(LOCAL_PATH)
skipped android_studio_add_call import-add-path, $(LOCAL_PATH)
skipped android_add_call import-module, ./sdkbox
skipped android_studio_add_call import-module, ./sdkbox
skipped android_add_call import-module, ./PluginIAP
skipped android_studio_add_call import-module, ./PluginIAP
skipped android_add_key_value 2 LOCAL_LDLIBS -landroid None
skipped android_studio_add_key_value 2 LOCAL_LDLIBS -landroid None
skipped android_add_key_value 2 LOCAL_LDLIBS -llog None
skipped android_studio_add_key_value 2 LOCAL_LDLIBS -llog None
replace_activity, file n/a/n/a.java not exists
skipped patch_file AppDelegate.cpp
skipped android_set_key_value 3 proguard.config ${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt
skipped android_studio_set_key_value 3 proguard.config ${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt
skipped patch_file proguard-rules.pro
Installation Successful :)
Performing at_exit cleanup.

This installation seems to skip a lot of things – not sure if that may be the root of the problem?

Thank you very much!
-Fabian

  1. can you find log Failed to find local config file in .... when sdkbox init.
  2. can you get product price info after iap init.(onProductRequestSuccess will trigger after iap.init)

Hello!

I just tried, here’s my entire XCode log from launching the app to the not recognized IAP - the error message about a not-found local config file is not there:

2020-11-05 06:53:21.683853+0100 EscapeTeam-mobile[2033:830506] (null)
2020-11-05 06:53:21.768297+0100 EscapeTeam-mobile[2033:830506] Metal GPU Frame Capture Enabled
2020-11-05 06:53:21.768675+0100 EscapeTeam-mobile[2033:830506] Metal API Validation Enabled
Initializing V8, version: 8.0.426.16
libuv version: 1.23.1-dev
Debugger listening..., visit [ devtools://devtools/bundled/js_app.html?v8only=true&ws=0.0.0.0:6086/00010002-0003-4004-8005-000600070008 ] in chrome browser to debug!
For help see https://nodejs.org/en/docs/inspector
JS: Enable batch GL commands optimization!
D/renderer (616): Device caps: maxVextexTextures: 16, maxFragUniforms: 224, maxTextureUints: 16, maxVertexAttributes: 16, maxDrawBuffers: 1, maxColorAttatchments: 1
libpng warning: iCCP: known incorrect sRGB profile
JS: Cocos Creator v2.4.3
libpng warning: iCCP: known incorrect sRGB profile
libpng warning: iCCP: known incorrect sRGB profile
libpng warning: iCCP: known incorrect sRGB profile
libpng warning: iCCP: known incorrect sRGB profile
libpng warning: iCCP: known incorrect sRGB profile
libpng warning: iCCP: known incorrect sRGB profile
libpng warning: iCCP: known incorrect sRGB profile
libpng warning: iCCP: known incorrect sRGB profile
libpng warning: Interlace handling should be turned on when using png_read_image
libpng warning: iCCP: known incorrect sRGB profile
libpng warning: iCCP: known incorrect sRGB profile
libpng warning: iCCP: known incorrect sRGB profile
libpng warning: iCCP: known incorrect sRGB profile
libpng warning: iCCP: known incorrect sRGB profile
libpng warning: iCCP: known incorrect sRGB profile
JS: Platform: true
JS: Language: de
I/AudioEngine-inl.mm (358): OpenAL was initialized successfully!
JS: playmusic
V/AudioCache (227):   id=3 _pcmData alloc: 0x11a088000
V/AudioCache (264): pcm buffer was loaded successfully, total frames: 4113, total read frames: 4113, adjust frames: 0, remainingFrames: 0
V/AudioCache (273):   id=3 generated alGenBuffers: 2425  for _pcmData: 0x11a088000
V/AudioCache (274):   id=3 _pcmData alBufferData: 0x11a088000
V/AudioCache (227):   id=1 _pcmData alloc: 0x11ad00000
V/AudioCache (264): pcm buffer was loaded successfully, total frames: 97101, total read frames: 97101, adjust frames: 0, remainingFrames: 0
V/AudioCache (273):   id=1 generated alGenBuffers: 2429  for _pcmData: 0x11ad00000
V/AudioCache (274):   id=1 _pcmData alBufferData: 0x11ad00000
JS: [{"id":999,"itemName":"MISSIONSELECT","itemLevel":"sehr einfach","itemPlayers":"2-4","itemDuration":30,"itemPrice":"RESTORE","type":"official","missionNumber":99,"numberOfPhases":3,"introText":"","gameWonText":"","gameOverText":""},{"id":0,"itemName":"Trainingsmission","itemLevel":1,"itemPlayers":"2-4","itemDuration":10,"itemPrice":0,"type":"official","missionNumber":0,"numberOfPhases":3,"introText":"","gameWonText":"","gameOverText":""},{"id":1,"itemName":"Mission 1: Bahnhof","itemLevel":2,"itemPlayers":"2-4","itemDuration":15,"itemPrice":0,"type":"official","missionNumber":1,"numberOfPhases":5,"introText":"","gameWonText":"","gameOverText":""},{"id":2,"itemName":"Mission 2: Terminal","itemLevel":2,"itemPlayers":"2-4","itemDuration":20,"itemPrice":"1","type":"official","missionNumber":2,"numberOfPhases":5,"introText":"","gameWonText":"","gameOverText":""},{"id":3,"itemName":"Mission 3: Fahrstuhl","itemLevel":3,"itemPlayers":"2-4","itemDuration":30,"itemPrice":1,"type":"official","missionNumber":3,"numberOfPhases":5,"introText":"","gameWonText":"","gameOverText":""},{"id":4,"itemName":"Mission 4: Achterbahn","itemLevel":3,"itemPlayers":"2-4","itemDuration":30,"itemPrice":1,"type":"official","missionNumber":4,"numberOfPhases":5,"introText":"","gameWonText":"","gameOverText":""},{"id":5,"itemName":"Mission 5: U-Bahn","itemLevel":3,"itemPlayers":"2-4","itemDuration":30,"itemPrice":1,"type":"official","missionNumber":5,"numberOfPhases":5,"introText":"","gameWonText":"","gameOverText":""},{"id":6,"itemName":"Mission 6: Schiff","itemLevel":3,"itemPlayers":"2-4","itemDuration":30,"itemPrice":1,"type":"official","missionNumber":6,"numberOfPhases":5,"introText":"","gameWonText":"","gameOverText":""},{"id":7,"itemName":"Mission 7: Gefängnis","itemLevel":3,"itemPlayers":"2-4","itemDuration":30,"itemPrice":1,"type":"official","missionNumber":7,"numberOfPhases":5,"introText":"","gameWonText":"","gameOverText":""},{"id":8,"itemName":"Mission 8: Bus","itemLevel":3,"itemPlayers":"2-4","itemDuration":30,"itemPrice":1,"type":"official","missionNumber":8,"numberOfPhases":5,"introText":"","gameWonText":"","gameOverText":""},{"id":9,"itemName":"Mission 9: Bank","itemLevel":3,"itemPlayers":"2-4","itemDuration":30,"itemPrice":1,"type":"official","missionNumber":9,"numberOfPhases":5,"introText":"","gameWonText":"","gameOverText":""},{"id":98,"itemName":"REDEEM code","itemLevel":"sehr einfach","itemPlayers":"2-4","itemDuration":30,"itemPrice":"RESTORE","type":"official","missionNumber":99,"numberOfPhases":3,"introText":"","gameWonText":"","gameOverText":""},{"id":99,"itemName":"RESTORE Purchases","itemLevel":"sehr einfach","itemPlayers":"2-4","itemDuration":30,"itemPrice":"RESTORE","type":"official","missionNumber":99,"numberOfPhases":3,"introText":"","gameWonText":"","gameOverText":""},{"id":100,"itemName":"MAINMENU","itemLevel":"sehr einfach","itemPlayers":"2-4","itemDuration":30,"itemPrice":"RESTORE","type":"official","missionNumber":99,"numberOfPhases":3,"introText":"","gameWonText":"","gameOverText":""}]
JS: Item Init
JS: [object Object]
JS: 999
JS: Item Init
JS: [object Object]
JS: 0
JS: Item Init
JS: [object Object]
JS: 1
JS: Item Init
JS: [object Object]
JS: 2
JS: Item Init
JS: [object Object]
JS: 3
JS: Item Init
JS: [object Object]
JS: 4
JS: Item Init
JS: [object Object]
JS: 5
JS: Item Init
JS: [object Object]
JS: 6
JS: Item Init
JS: [object Object]
JS: 7
JS: Item Init
JS: [object Object]
JS: 8
JS: Item Init
JS: [object Object]
JS: 9
JS: Item Init
JS: [object Object]
JS: 98
JS: Item Init
JS: [object Object]
JS: 99
JS: restore recognized
JS: Item Init
JS: [object Object]
JS: 100
JS: Purchasing Mission: 2
JS: Triggering  IAP
IAP :Invalid iap item name: unlock_mission2

can you get product price info after iap init
Could you provide a line of code that I should use to get that product price?

Thanks alot!
Fabian

sdkbox.IAP.refresh will request product info.

maybe you can try sdkbox-sample-ccc200.

or share a your sample project, i can check if have integrate issue.

Sure, no problem – can I send you a download link via email? Where should I send it to?

(Hang in there, I guess I found the root of the problem. --> [Paid] Update Cocos Creator 1.6.2 up to 2.4.2 (incl. XCode and Android Studio) )

you can send link to hugohuang1111@gmail.com.

Creator commented out the sdkbox related code after upgrade to 2.4+?

Exactly!

I simply didn’t spot it there – that’s why it wasn’t initialized. I’m migrating things to the current version now, making good progress. I’ll keep you updated. Thank you for your help, patience and outstanding support!

-Fabian