So @boriskey updated Admob IOS Interface part and I just updated Chartboost ios (with v4vc and feed) and Chartboost Android to newest sdk.
Unfortunately I could not get v4vc to work on Android for me. It always returns AD_FAILED with INTERNAL error and I could not find what it means. When looking into log it shows: Unexpected response code 503 for https://live.chartboost.com/api/config
So it might also be something on their server, but from code stand of point it should be working, so will retest later but already committed all the changes
I suppose is better to test them with different iOS versions and devices...
@unlying The Android Ads interface version (1.7) for Admob includes a change that removes the check for Google Play services, maybe it has to be done for iOS also.
3 days ago I updated my app with version 1.7. However, I received this crash report at least 100 times each day. In my devices, I tested many times and there is no crash. Do you have any idea for this crash?
java.lang.NullPointerException at com.giderosmobile.android.plugins.ads.frameworks.AdsAdmob.getHeight(AdsAdmob.java:191) at com.giderosmobile.android.plugins.ads.Ads.getHeight(Ads.java:501) at com.giderosmobile.android.player.GiderosApplication.nativeDrawFrame(Native Method) at com.giderosmobile.android.player.GiderosApplication.onDrawFrame(GiderosApplication.java:492) at com.giderosmobile.android.GiderosRenderer.onDrawFrame(BatakHD14Activity.java:258) at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1523) at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1240)
The error seems to happen because the ad type is not defined, thus can not get it's dimensions. But maybe, Google Play framework was updated and changed something in ad sizes?
Or maybe your lua instance gets garbage collected? But you probably did not change the lua code, right?
Should I add try/catch block in AdsAdmob .getHeight() function as temporary solution? I think that only the devices which have old versions of Google Play Services sent this report.
Internet connection was a great pointer, I now see a case it may occur in some situations, and basically yes your fix with try catch blocks should be fine, I will apply it also generally, when I have time to update Ads interface
Hi, I'm having an issue with the Ads interface on Xcode, if anyone can help me it'd be great! I already searched in the forums and haven't found how to get around this.
I want to use AdMob, I added the Ads folder to the project by right clicking and selecting "add files to 'project'". I also added the Admob SDK as stated here: https://developers.google.com/mobile-ads-sdk/docs/admob/ios/quick-start. Regardless if I add the Admob SDK or not the error is the same, a Mach-O linker error. I removed all the files I didn't need of other platforms that were not AdMob because there were errors in some of them too, but still I get this. I don't know if it's relevant but when adding the files to the project I can only add the full Ads folder and not single files.
I don't have much experience in Xcode so if anyone can help me like the Xcode novice I am It'll help tons!
@Disciple You should add these frameworks to your xcode project: AdSupport AudioToolbox AVFoundation CoreGraphics CoreTelephony EventKit EventKitUI MessageUI StoreKit SystemConfiguration
@ar2rsawseen Thanks for your help! I added all the frameworks you pointed out, both in the Build Phases tab as you can see in the screenshot, and in the General tab. I put all the files that are in the original Ads zip folder in the repo. I had the same issue as the first time I tried.
Is there anything I may be missing? If I remove those files from the project the app compiles well. I'm running it in the simulator.
Arturs, do you know if admob in your plugin will respect ads refresh properties set via admob web interface or will actually override this setting? The reason I am asking is that I am playing with one of my apps to see how revenue will change if I set autorefresh to NO on a server.
The ads are still being refreshed though automatically in android, using default 60 seconds refresh time.
@Disciple can you post a screenshot of your project tree in Xcode? When you add folders to your project, you can add them by reference or not (you will see colors of subfolders will be blue or yellow).
@Disciple the error you showed before came from the fact that there were no specific frameworks added to the xcode, are the errors the same?
@boriskey the only Ad that refresh rate I control is Amazon, others I don't touch any refresh rates. Most probably the change needs to propagate to all servers and may take time to
@ar2rsawseen The error I posted before was because I had deleted all files of other ad platforms I'm not using (hence the error that I post now wasn't happening). Then I copied all files from the repo again in case I messed up something and the same error that happened in the beginning is happening now. Hope this makes sense :P
@ar2rsawseen Thanks for your interest in helping I finally got around the issue after many tries and reading the instructions over and over. The thing was that I didn't figure I had to delete the frameworks both from the folder and from the zip file. When I did, it finally worked. Again, thanks for your help!
Most probably when I get my new IOS account working, so I could also fix AppLovin event dispatching. I requested DUNS number for the company so waiting when it will be active, probably will take couple of weeks
I'm getting an error reported from XCode when trying to add in more than one ad network: *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** setObjectForKey: object cannot be nil (key: millenial)'
This is not just occurring for millenial but for any subsequently added in network. Currently the first one added in is AdMob, and no problems with that one.
I thought at first that the subsequent call(s) to Ads.new("whatever_network") might be failing .. but this is only occurring on iOS, android launches millenial just fine.
No, but here is the entire log, and then following this will be the source code: ********************** log messages ******************************** /var/mobile/Applications/81F75019-C1A5-423A-9A26-669552122C60/Documents /private/var/mobile/Applications/81F75019-C1A5-423A-9A26-669552122C60/tmp/ /var/mobile/Applications/81F75019-C1A5-423A-9A26-669552122C60/LiverBirds.app *callFile* stack NOT ok begin:1 end:1 delta:-1 *loadFile* stack NOT ok begin:0 end:1 delta:0 2014-11-29 16:47:48.040 LiverBirds[272:60b] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** setObjectForKey: object cannot be nil (key: millenial)' *** First throw call stack: (0x2fb50f0b 0x3a726ce7 0x2fa8c1bf 0xd0007 0xd1db5 0xd18a1 0xbc579 0xbc4c5 0xba625 0x2c15cb 0x2c1e5f 0x2bee2b 0x2bedc7 0x1edc29 0x2c15cb 0x2bee21 0x2c121f 0x2beed3 0x2bee8f 0x20e501 0x1eda9b 0x1fd6ab 0x1fcfc1 0x1fe6cf 0xb78e7 0x323efcc1 0x323ef613 0x323e9cc9 0x32385c97 0x32384df9 0x323e9405 0x349bcb55 0x349bc73f 0x2fb1b847 0x2fb1b7e3 0x2fb19faf 0x2fa84769 0x2fa8454b 0x323e862b 0x323e3891 0xb761f 0xb75a8) libc++abi.dylib: terminating with uncaught exception of type NSException (lldb) ********************** end of log messages ************************* ********************** source file *********************************** require "ads"
mm = Ads.new("millenial")
print("millenial key not set") if application:getDeviceInfo() == "Android" then mm:setKey("******") --for android platform print("millenial key set for Android") end if application:getDeviceInfo() == "iOS" then mm:setKey("******") --for iOS platform print("millenial key set for iOS") end
***UPDATE*** I've been able to get all additional ad networks working properly, except Millenial .. Which continues to have the same error.
But I've noticed also (in 'http://docs.giderosmobile.com/interface/ads') that Millenial is the only one with no special iOS installation instructions. With no additional files and/or frameworks to add in. The Android installation has both special instructions as well as additional files/libraries. Possibly this is just an oversight .. if so .. could you forward anything required? .. This is the network we wish to try next.
@BBurgess66 this is true, it seems Millenial was only added for Android as it was not requested for ios previously, there are no millenial files on ios.
Unfortunately again you would have to wait for me to get my ios license so add it
Comments
and I just updated Chartboost ios (with v4vc and feed)
and Chartboost Android to newest sdk.
Unfortunately I could not get v4vc to work on Android for me.
It always returns AD_FAILED with INTERNAL error and I could not find what it means.
When looking into log it shows:
Unexpected response code 503 for https://live.chartboost.com/api/config
So it might also be something on their server, but from code stand of point it should be working, so will retest later but already committed all the changes
And updated interface docs
I hope will be backwards compatible...
Btw, I don't know if I'll include video ads in my "Action Basket" game, the user experience could be a lot more annoying and Apple could reject it:
http://techcrunch.com/2014/06/09/apple-begins-rejecting-apps-that-offer-rewards-for-video-views-social-sharing/
https://play.google.com/store/apps/developer?id=SimplesApps
http://www.amazon.com/gp/mas/dl/android?p=com.simplesapps.actionbasket
https://itunes.apple.com/artist/david-rodriguez/id763996989
And depending on your campaign in chartboost you can now also make video interstitials to appear instead of simple interstitials, without rewards
In the docs for ChartBoost they say that the SDK runs on devices from iOS 5.1.1:
https://answers.chartboost.com/hc/en-us/articles/201220095
Also for AdMob, the SDK supports iOS 5.0+ (from version 6.9.2).
https://developers.google.com/mobile-ads-sdk/docs/admob/ios/rel-notes
I suppose is better to test them with different iOS versions and devices...
@unlying The Android Ads interface version (1.7) for Admob includes a change that removes the check for Google Play services, maybe it has to be done for iOS also.
http://giderosmobile.com/labs/ads-interface
https://play.google.com/store/apps/developer?id=SimplesApps
http://www.amazon.com/gp/mas/dl/android?p=com.simplesapps.actionbasket
https://itunes.apple.com/artist/david-rodriguez/id763996989
3 days ago I updated my app with version 1.7. However, I received this crash report at least 100 times each day. In my devices, I tested many times and there is no crash. Do you have any idea for this crash?
java.lang.NullPointerException
at com.giderosmobile.android.plugins.ads.frameworks.AdsAdmob.getHeight(AdsAdmob.java:191)
at com.giderosmobile.android.plugins.ads.Ads.getHeight(Ads.java:501)
at com.giderosmobile.android.player.GiderosApplication.nativeDrawFrame(Native Method)
at com.giderosmobile.android.player.GiderosApplication.onDrawFrame(GiderosApplication.java:492)
at com.giderosmobile.android.GiderosRenderer.onDrawFrame(BatakHD14Activity.java:258)
at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1523)
at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1240)
The error seems to happen because the ad type is not defined, thus can not get it's dimensions. But maybe, Google Play framework was updated and changed something in ad sizes?
Or maybe your lua instance gets garbage collected? But you probably did not change the lua code, right?
Some users told me that when they don't have a internet connection, this crash occurs.
Should I add try/catch block in AdsAdmob .getHeight() function as temporary solution? I think that only the devices which have old versions of Google Play Services sent this report.
I want to use AdMob, I added the Ads folder to the project by right clicking and selecting "add files to 'project'". I also added the Admob SDK as stated here: https://developers.google.com/mobile-ads-sdk/docs/admob/ios/quick-start. Regardless if I add the Admob SDK or not the error is the same, a Mach-O linker error. I removed all the files I didn't need of other platforms that were not AdMob because there were errors in some of them too, but still I get this. I don't know if it's relevant but when adding the files to the project I can only add the full Ads folder and not single files.
I don't have much experience in Xcode so if anyone can help me like the Xcode novice I am It'll help tons!
You should add these frameworks to your xcode project:
AdSupport
AudioToolbox
AVFoundation
CoreGraphics
CoreTelephony
EventKit
EventKitUI
MessageUI
StoreKit
SystemConfiguration
Is there anything I may be missing? If I remove those files from the project the app compiles well. I'm running it in the simulator.
The ads are still being refreshed though automatically in android, using default 60 seconds refresh time.
@boriskey the only Ad that refresh rate I control is Amazon, others I don't touch any refresh rates. Most probably the change needs to propagate to all servers and may take time to
@boriskey Sure, here's the screenshot. It doesn't upload so I'm giving a link: http://giddelcreations.com/images/ProjectScreenshot1.png
@ar2rsawseen The error I posted before was because I had deleted all files of other ad platforms I'm not using (hence the error that I post now wasn't happening). Then I copied all files from the repo again in case I messed up something and the same error that happened in the beginning is happening now. Hope this makes sense :P
So I'm confused, what exactly is the end error message?
thx!
Much thx ... will you let us know when that happens? (the next update?)
and
Is there a timeframe now?
Many thx in advance
-B
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** setObjectForKey: object cannot be nil (key: millenial)'
This is not just occurring for millenial but for any subsequently added in network. Currently the first one added in is AdMob, and no problems with that one.
I thought at first that the subsequent call(s) to Ads.new("whatever_network") might be failing .. but this is only occurring on iOS, android launches millenial just fine.
Any thoughts?
Many Thx
-Brian
********************** log messages ********************************
/var/mobile/Applications/81F75019-C1A5-423A-9A26-669552122C60/Documents
/private/var/mobile/Applications/81F75019-C1A5-423A-9A26-669552122C60/tmp/
/var/mobile/Applications/81F75019-C1A5-423A-9A26-669552122C60/LiverBirds.app
*callFile* stack NOT ok begin:1 end:1 delta:-1
*loadFile* stack NOT ok begin:0 end:1 delta:0
2014-11-29 16:47:48.040 LiverBirds[272:60b] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** setObjectForKey: object cannot be nil (key: millenial)'
*** First throw call stack:
(0x2fb50f0b 0x3a726ce7 0x2fa8c1bf 0xd0007 0xd1db5 0xd18a1 0xbc579 0xbc4c5 0xba625 0x2c15cb 0x2c1e5f 0x2bee2b 0x2bedc7 0x1edc29 0x2c15cb 0x2bee21 0x2c121f 0x2beed3 0x2bee8f 0x20e501 0x1eda9b 0x1fd6ab 0x1fcfc1 0x1fe6cf 0xb78e7 0x323efcc1 0x323ef613 0x323e9cc9 0x32385c97 0x32384df9 0x323e9405 0x349bcb55 0x349bc73f 0x2fb1b847 0x2fb1b7e3 0x2fb19faf 0x2fa84769 0x2fa8454b 0x323e862b 0x323e3891 0xb761f 0xb75a8)
libc++abi.dylib: terminating with uncaught exception of type NSException
(lldb)
********************** end of log messages *************************
********************** source file ***********************************
require "ads"
mm = Ads.new("millenial")
print("millenial key not set")
if application:getDeviceInfo() == "Android" then
mm:setKey("******") --for android platform
print("millenial key set for Android")
end
if application:getDeviceInfo() == "iOS" then
mm:setKey("******") --for iOS platform
print("millenial key set for iOS")
end
mm:showAd("banner")
mm:addEventListener(Event.AD_RECEIVED, function()
print("millenial ads AD_RECEIVED")
end)
mm:addEventListener(Event.AD_FAILED, function(e)
print("Millenial AD_FAILED", e.error)
end)
mm:addEventListener(Event.AD_ACTION_BEGIN, function()
print("Millenial AD_ACTION_BEGIN")
end)
mm:addEventListener(Event.AD_ACTION_END, function()
print("Millenial AD_ACTION_END")
end)
mm:addEventListener(Event.AD_DISMISSED, function()
print("Millenial AD_DISMISSED")
end)
mm:addEventListener(Event.AD_ERROR, function(e)
print("Millenial AD_ERROR", e.error)
end)
********************** end of source file ****************************
I've been able to get all additional ad networks working properly, except Millenial .. Which continues to have the same error.
But I've noticed also (in 'http://docs.giderosmobile.com/interface/ads') that Millenial is the only one with no special iOS installation instructions. With no additional files and/or frameworks to add in. The Android installation has both special instructions as well as additional files/libraries. Possibly this is just an oversight .. if so .. could you forward anything required? .. This is the network we wish to try next.
Much thanx in advance for any insight!
-B
Unfortunately again you would have to wait for me to get my ios license so add it