Hi, developing team.
I updated latest creator version 1.9.1 and link admob to my game.
I compiled it successfully but it shows black screen on device.
error message is following.
E/jswrapper: ERROR: Uncaught TypeError: Cannot read property 'setListener' of undefined, location: src/project.js:0:0
STACK:
[0]onLoad@src/project.js:43214
[1]anonymous@(no filename):3
[2]invoke@src/jsb_polyfill.js:3508
[3]activateNode@src/jsb_polyfill.js:11669
[4]_activate@src/jsb_polyfill.js:2336
[5]runSceneImmediate@src/jsb_polyfill.js:21602
[6]anonymous@src/jsb_polyfill.js:21694
[7]anonymous@src/jsb_polyfill.js:13737
[8]anonymous@src/jsb_polyfill.js:10225
[9]anonymous@src/jsb_polyfill.js:16575
[10]c@src/jsb_polyfill.js:9374
[11]77.n.invoke@src/jsb_polyfill.js:9267
[12]78.l.emit@src/jsb_polyfill.js:9432
[13]callback@src/jsb_polyfill.js:21734
[ERROR] (D:/SelfPub/TinkerPuzzle/build/jsb-default/frameworks/cocos2d-x/cocos/scripting/js-bindings/proj.android/../jswrapper/v8/Object.cpp, 519): Invoking function (0xee8b3ee0) failed!
my source code corresponding to this error is following.
if(cc.sys.isMobile) {
sdkbox.PluginAdMob.setListener({
adViewDidReceiveAd: function(name) {},
adViewDidFailToReceiveAdWithError: function(name, msg) {},
adViewWillPresentScreen: function(name) {},
adViewDidDismissScreen: function(name) {},
adViewWillDismissScreen: function(name) {},
adViewWillLeaveApplication: function(name) {}
});
sdkbox.PluginAdMob.init();
}
I had the issue like this at creator 1.7 but I fixed it following Cocos creator sdkbox integration error
I checked AppDelegate.cpp file and added codes pointed out above.
So frustrate for the Cocos Creator, whenever it is version up, new issues already fixed occur.
Please help me.
i’m checking on this issue.
UPDATE:
plz manually add bellow codes to AppDelegate.cpp
again,
#ifdef SDKBOX_ENABLED
#include "PluginAdMobJS.hpp"
#include "PluginAdMobJSHelper.h"
#endif
#ifdef SDKBOX_ENABLED
se->addRegisterCallback(register_all_PluginAdMobJS);
se->addRegisterCallback(register_all_PluginAdMobJS_helper);
#endif
I’m so sorry for the inconvenience, this issue will be fixed with 2.4.0.1, and the new release be release 05.22 or 05.23.
Thanks,
These code already added when it compiled.
So strange.
At 1.7, 1.8 if I add these code, issue was fixed .
At 1.9.1 even it is added automatically but it is not fixed.
I checked AdMob with Creator 1.9.1, iOS. It works.
I’ll check on Android.
I found the issue on android.
Plugin AdMob with creator 1.9.1 on Android is also ok for me.
I want to figure out what’s the problem here.
- Have you recompiled the project after import admob ?
- Works on iOS ?
- Would you like to show the
Android.mk
?
-
same as mine.
I want you use cocos
command to run the app
cd build/jsb-default
cocos run -p android
- what about the
build/jsb-default/.cocos-project.json
file:
{
"engine_version": "Cocos2d-x-lite v1.8.2",
"has_native": true,
"project_type": "js",
"projectName": "hello_world",
"packageName": "org.cocos2d.helloworld"
}
It reports 1.8.2.
.cocos-project.json file
{
“engine_version”: “Cocos2d-x-lite v1.8.2”,
“has_native”: true,
“project_type”: “js”,
“projectName”: “TinkerPuzzle”,
“packageName”: “chy.kkuk.tinker”
}
If I run cocos run command, get error.
D:\SelfPub\TinkerPuzzle\build\jsb-default>cocos run -p android
Building mode: debug
Using Eclipse project : D:\SelfPub\TinkerPuzzle\build\jsb-default\frameworks\runtime-src\proj.android
ANT_ROOT not defined. Please define it in your environment.
D:\SelfPub\TinkerPuzzle\build\jsb-default>
Did you not replicate this issue?
no, I can not.
what’s your steps?
UP: trying Android Studio project.
UP2:
Would u please check your sdkbox
command version by
$ sdkbox version
_______ ______ _ _ ______ _____ _ _
|______ | \ |____/ |_____] | | \___/
______| |_____/ | \_ |_____] |_____| _/ \_
Copyright (c) 2016-2018 SDKBOX Inc. v1.0.1.35
SDKBOX version 1.0.1.35
and plugin version is 2.4.0.1.
here is my test steps.
- remove
build
folder
- cmd + shift + b, checked
SDKBox
, and click build
- import
AdMob
in SDKBox panel.
- change
minSdkVersion 14
- cmd + shift + b, click
Compile
, then click Play
.
Okay, I followed your guide.
The app work properly, but ads is not shown.
sdkbox.PluginAdMob.isAvailable(“gameover”);
this function return false always.
Thanks.
Hi, did you check the admob shows ads?
You can get some error with adViewDidFailToReceiveAdWithError: function(name, msg) {},
,
// use this for initialization
onLoad: function () {
this.label.string = this.text + "!!!";
var self = this;
if(cc.sys.isMobile) {
sdkbox.PluginAdMob.setListener({
adViewDidReceiveAd: function(name) { sdkbox.PluginAdMob.show(name); },
adViewDidFailToReceiveAdWithError: function(name, msg) { self.label.string = msg; },
adViewWillPresentScreen: function(name) {},
adViewDidDismissScreen: function(name) {},
adViewWillDismissScreen: function(name) {},
adViewWillLeaveApplication: function(name) {}
});
sdkbox.PluginAdMob.init();
}
},
NTOE: you wont 100% get ad from AdMob.
Hi
So what I have to do to show ads?
At the 1.7, 1.8, ads has been shown properly after I add this code.
#ifdef SDKBOX_ENABLED
#include “PluginAdMobJS.hpp”
#include “PluginAdMobJSHelper.h”
#endif
#ifdef SDKBOX_ENABLED
se->addRegisterCallback(register_all_PluginAdMobJS);
se->addRegisterCallback(register_all_PluginAdMobJS_helper);
#endif
Is there any solution?
Please help me
would you please share the test code in GitHub.com ? I’ll check it.
Thanks,