Search Unity

Mobile Ads - Simple way to integrate ads in your app

Discussion in 'Assets and Asset Store' started by GleyGames, May 1, 2018.

?

What other advertisers we should add to our plugin?

Poll closed Oct 21, 2019.
  1. Facebook Ads

    64.7%
  2. AppLovin

    34.1%
  3. Tapjoy

    10.6%
  4. MoPub

    15.3%
  5. LeadBolt

    7.1%
  6. ironSource

    20.0%
  7. inMobi

    8.2%
  8. Mobusi

    0 vote(s)
    0.0%
  9. Appnext

    2.4%
  10. Appodeal

    8.2%
Multiple votes are allowed.
  1. GleyGames

    GleyGames

    Joined:
    Oct 16, 2015
    Posts:
    482
    We just reviewed our AdColony implementation. All is working well and is according to the official AdColony documentation.

    The error you are seeing is caused by their SDK and only shows up in Unity Editor. take a look at the following code:

    Capture.PNG

    As you can see, that _sharedInstance will always be null in Unity Editor and their SDK throws an error if that is null. So you can ignore that error, all will work well in build.

    About sharing that implementation with us, is up to you. We do not want to assume credit for your work. You can write us an e-mail at gley.mobi@gmail.com and we can discuss more details about this, and how to make it to be better for all our users and also for you.
     
  2. PixelEnvision

    PixelEnvision

    Joined:
    Feb 7, 2012
    Posts:
    513
    Thank you for checking it and replying promptly! I'll ignore that error as I can verify it's working fine on iOS builds.

    Regarding the Remote Settings, I don't mind sharing so other users can benefit too and if you decide to implement that, it would save me from editing your code with every update. :) I'll send you an email now...
     
  3. PixelEnvision

    PixelEnvision

    Joined:
    Feb 7, 2012
    Posts:
    513
    One question, If I change Advertisements.Instance.SetUserConsent(bool consent); (ie. user changes consent setting) after the initialization will it have any effect for the ads displayed from that point on? Or it only works before the initialization?
     
  4. GleyGames

    GleyGames

    Joined:
    Oct 16, 2015
    Posts:
    482
    Sorry for the late replay. You are right, indeed this is an issue with our plugin.
    Now if you change the GDPR settings after initialization of the plugin, the new settings will not be used until your game restarts. We will make an automatically reinitialization of the plugin when the GDPR settings are changed in update 1.1.10. We hope we can release the new version at the beginning of next week.

    Thank you for noticing that and for helping us making a better product for all users.
     
    PixelEnvision likes this.
  5. GleyGames

    GleyGames

    Joined:
    Oct 16, 2015
    Posts:
    482
    We just submitted version 1.1.10 for approval. It should be available in 27 or 28 of August on the Asset Store.
     
    PixelEnvision likes this.
  6. GleyGames

    GleyGames

    Joined:
    Oct 16, 2015
    Posts:
    482
    The poll at the beginning of the forum will close in 1st of October. The advertiser that has the highest number of votes will be included in our next update.
    Please cast your votes as soon as possible if you want your advertiser to be the first.
     
  7. GleyGames

    GleyGames

    Joined:
    Oct 16, 2015
    Posts:
    482
    Version 1.2.0 is available on Asset Store
    This version has a new built in feature:
    Remove Ads
    Code (CSharp):
    1. Advertisements.Instance.RemoveAds(true);
    If this is set to true, no banner and interstitial will be displayed in your app.
     
  8. GleyGames

    GleyGames

    Joined:
    Oct 16, 2015
    Posts:
    482
    We promised that on 1st of October we will pick the next advertiser to ad in our plugin.
    The winner is:
    APPLOVIN.
    Our next update will contain support for Applovin SDK also.

    Keep voting for next SDK. Also if you have another ad suggestions that are not included in that list feel free to post them here.
     
  9. GleyGames

    GleyGames

    Joined:
    Oct 16, 2015
    Posts:
    482
    As we promised AppLovin support is here:
    Donwload version 1.3.0 from Asset Store and just use it.
    If you already use our asset, just add AppLovin SDK, no change is needed to your code.
    Enjoy!
     
    PixelEnvision likes this.
  10. Starbox

    Starbox

    Joined:
    Sep 17, 2014
    Posts:
    467
    Hi.
    What is the function of cocoapods in all this exactly?

    Other questions:

    1. Is Vungle support resumed now? Have they corrected the issues on their side since August?

    2. Same for adColony.

    3. If I understand it correctly, your system manages the mediation from within the app, based on the weights and order? Is it still possible to use the mediation of certain specific networks instead? In other words, is it possible to use the integration tools of your plugin but rely on an external network's mediation suite?

    4. a. Assuming an absolute beginner level in coding in general, are the methods rather easy to employ and integrate into Playmaker actions? ; b. is there a central script I can paste as a component onto an "Ads" game object that would contain all the methods I need to use, so as to be able to call these methods from inside Playmaker (by having a Playmaker FSM component on the same Ads game object)?
     
  11. GleyGames

    GleyGames

    Joined:
    Oct 16, 2015
    Posts:
    482
    Hello,

    I will answer your questions in order:

    The Cocoapods is required by Admob, and is a collection of libraries on OSX that manages xCode dependencies. You can find more info about it on the official Admob documentation:
    https://developers.google.com/admob/unity/start

    1. We noticed that Vungle released a new SDK this days, we ware not able to test it. The functionality for Vungle is included in the package right now but we stop the support because their past sdk was not reliable. In our next update we will test again Vungle and resume support for it if it works better then previous version.

    2. AdColony was always working and it works now, there are no known issues with their SDK.

    3. You can do your mediation through Admob or Heyzap(Fyber) just follow their steps on how to do mediation and in our Settings Window you just have to enable Admob, the other networks can be disabled and mediation will work through Admob. Same for Heyzap.

    4. We are not experienced with Playmaker. To call any method from our plugin you have to call from any script Advertisments.Instance.NameOfTheMethod().
    When you call Advertisements.Instance.Initialize() the plugin creates all that it needs to work, so you do not have to ad manually scripts or gameobjects in scene. We do not know if that works with Playmaker or not. We didn`t test that.

    If you are interested we can collaborate in creating Playmaker support for our asset, but right now it does not have.
     
    Remi_joel likes this.
  12. Starbox

    Starbox

    Joined:
    Sep 17, 2014
    Posts:
    467
    Hi,
    Thank you for the information.

    3. So I could "force" the use of the Heyzap mediation system, whilst using your scripts to fetch, show and check ads (and other things) of all types? Are your methods generic enough?

    4. Regarding Playmaker: the above is important because making actions for Playmaker would be easier if the functions are centralized. By that I mean, they're generic (or dynamic?) enough so they are simple, and it's your plugin that will do the dirty work behind the scenes by using network-specific methods, as provided by said networks?
    So a developer would not need to code different PM actions for each network?

    Playmaker actions inherit from FsmStateAction (there's also a variant for advanced stuff), and aside from rewording the start() awake() update() functions and using Playmaker variables (ex: FsmString) which are restricted to fewer types than what's available in Unity's c#, it's not too dissimilar.
    I'm looking for a quick solution but if the code to produce requires that I nearly master the intermediate level, I'm unfortunately too short on time to finish ingesting that much knowledge and all in all it would seem detrimental to my use of Playmaker.
    Otherwise I'd be limited to the networks which have PM actions available, and thus far there's Unity Ads, which I'd rather mediate with other networks to guarantee a better ad coverage.
     
  13. GleyGames

    GleyGames

    Joined:
    Oct 16, 2015
    Posts:
    482
    3. The Heyzap mediation works by default, you do not have to change anything in our code.
    4. About Playmaker, as we said before, we do not have experience with Playmaker. Send us an e-mail at gley.mobi@gmail.com and we will give you a free voucher to test Playmaker integration yourself and we will help you if you have problems.
     
  14. Starbox

    Starbox

    Joined:
    Sep 17, 2014
    Posts:
    467
    Okay good idea, we'll do it that way. Thx!
     
  15. r137

    r137

    Joined:
    Mar 12, 2018
    Posts:
    47
  16. GleyGames

    GleyGames

    Joined:
    Oct 16, 2015
    Posts:
    482

    Thanks for pointing that option, currently it is not available in the Admob SDK for Unity but we will look into it and try to implement it as soon as possible since a lot of people are requested for that functionality. We will notify you when we made some progress with that. We hope it will be very soon.
     
    r137 likes this.
  17. r137

    r137

    Joined:
    Mar 12, 2018
    Posts:
    47
    Thanks for quick response.

    I asked for this because I don't want to show a GDPR consent popup to my users. I am using Unity Ads as my main advertisement provider. If there is no ads from Unity ads other providers will be used. As I understand, Unity Ads manages GPDR by it self so user consent dialog is not necessary. But if use Advertisements.Instance.SetUserConsent(false); to be GDPR
    compatible for other providers, this will disable targeted ads for Unity too. My current solutions is comment out all this and let the Unity manage consent by itself:

    Code (CSharp):
    1.         if (consent != GDPRConsent.Unset)
    2.                 {
    3.                     MetaData gdprMetaData = new MetaData("gdpr");
    4.                     if (consent == GDPRConsent.Accept)
    5.                     {
    6.                         gdprMetaData.Set("consent", "true");
    7.                     }
    8.                     else
    9.                     {
    10.                         gdprMetaData.Set("consent", "false");
    11.                     }
    12.                     Advertisement.SetMetaData(gdprMetaData);
    13.                 }

    I am not sure this is the correct way to comply with GDPR but It would be a a nice option to allow Unity ads to manage GDPR compliance by itself. Something like:

    Code (CSharp):
    1. Advertisements.Instance.SetConsentManagement(
    2. GleyMobileAds.SupportedAdvertisers.AdvertiserName, ConsentManagement.ByProvider);
    3.  
    4. Advertisements.Instance.SetConsentManagement(
    5. GleyMobileAds.SupportedAdvertisers.AdvertiserName, ConsentManagement.ByGleyMobileAds);
    6.  
     
  18. GleyGames

    GleyGames

    Joined:
    Oct 16, 2015
    Posts:
    482
    That is a valid request, we will think about a way to include some king of method to allow developers to set consent by SDK and not overall. Thanks for your suggestion. We will try to include this in our next release.
     
  19. Starbox

    Starbox

    Joined:
    Sep 17, 2014
    Posts:
    467
    Mind you, it's possible that other countries or larger zones may introduce something similar in the near future.

    Perhaps adding "I'm not in the EU thx" button for the moment would suffice.
     
  20. r137

    r137

    Joined:
    Mar 12, 2018
    Posts:
    47
    How can I change from order mediation to percent mediation from json ? I couldn't find any field to select this mode in json file.

    to be clear I need to change SupportedMediation.OrderMediation to SupportedMediation.PercentMediation from json file

    edit:

    I guess I can't change that from json file. As I follow code mediation mode is saved in AssetSettingsData.asset file like this:

    Code (csharp):
    1.  
    2.   debugMode: 0
    3.   bannerMediation: 0
    4.   interstitialMediation: 0
    5.   rewardedMediation: 1
    6.   externalFileUrl: http://.../ads.json
    7.  
    this values can't be changed from json to change mediation mode from order to percent. This is bad :( .

    Do I need to upload a new apk and ipa to change
     
    Last edited: Oct 20, 2018
  21. GleyGames

    GleyGames

    Joined:
    Oct 16, 2015
    Posts:
    482
    Indeed you ware right. We didn`t notice that before, thank you for pointing that out.
    We will fix that in the shortest time possible, today or tomorrow.
    You can send us an e-mail at gley.moby@gmail.com and we will send you the updated package as soon as it is ready. It takes a couple of days for the Asset Store to approve an update so you will get the update faster this way.
    Sorry for the inconvenience.
     
  22. PixelEnvision

    PixelEnvision

    Joined:
    Feb 7, 2012
    Posts:
    513
    @GleyGames

    Recently new Unity Ads (3.0) released with banner ads, plus Chartboost updated their plugin to 7.3.0 (which seems compatible), can you please check/update those when the time permits?
     
  23. GleyGames

    GleyGames

    Joined:
    Oct 16, 2015
    Posts:
    482
    Hello,
    We are aware of that updates. Interstitial and Rewarded Videos are compatible with the newest Unity and Chartboost SDKs. If everything goes well we will ad Unity banner support on our next update on 29th of October.
    If you need it sooner let us know.
     
    Adswars and PixelEnvision like this.
  24. Starbox

    Starbox

    Joined:
    Sep 17, 2014
    Posts:
    467
    Hi,
    Fyber/heyzap suggests starting their SDK with the automatic fetching disabled in such conditions:

    I took a look at CustomHeyzap.cs and the SDK is booted with the default option (NO_FLAG... so automatic fetching is on). Obviously the plugin works very well as is. But would it be necessary to fiddle with that option and put the HZ SDK on manual mode or something?

    Oh, btw, they also have an option for forwarding information about the user (gender, education level, location, etc.). This, obviously, for targeted ads.
    Is this handled automatically if we secure the user's consent within the GDPR scope, or does this data need to be manually injected into the SDK too?
     
  25. GleyGames

    GleyGames

    Joined:
    Oct 16, 2015
    Posts:
    482
    Hello,

    As it says in documentation the automatic fetch should be disabled if you are using another mediation networks. If you want to mediate all your ads through Heyzap, you are not using another mediation network. If you want to mediate for example Admob ads through Heyzap, you should NOT enable Admob ads in our plugin as well, just Heyzap should be ticked.

    To be more specific, any ads you add in your Hayzap Dashboard should not be enabled in our plugin as well. That is what that warning says about.
    If you are mediating through Heyzap the following plugins: AdColony, Admob and Chartboost is ok to enable Unity Ads from our settings window, everything will work well, there are no problems.

    We recommend to add all your ad networks you want to mediate into Heyzap and in our plugin just enable Heyzap network.

    About the other question, that information should be provided to the sdk by your app, and each developer wants to know different informations about the users of his app so we cannot do a generic method to feed that to every ad provider SDK, is beyond the scope of this plugin, sorry :(.
     
  26. Starbox

    Starbox

    Joined:
    Sep 17, 2014
    Posts:
    467
    Yes, I agree with that, I already made tests that way.
    If i'm going to use Heyzap to mediate ads, even if I actually have to add the wanted networks' respective SDKs to the app, although they have to be declared on Heyzap's side (on their dashboard), they must not be selected in the plugin Gley Mobile Ads.
    Then Heyzap will run on automatic fetching because it is doing the mediation.

    Q: But if I use your plugin for the mediation instead, is (are) Heyzap's (and other networks') autofetching turned off?

    In Heyzap's documentation, there's that part I underscored: "..., using another mediation network, ..." and I thought that as your plugin is a mediation tool (although not being a network), Heyzap's SDK may detect that there's something else that is mediating the ads.

    Q2a: So I would need to have scripts talking to each SDK, circumventing the plugin altogether?
    Q2b: And I suppose I would have to do that before initializing the plugin too?



    About the GDPR, the doc says:
    I think that legally speaking, the default setting should actually be false. The point of the GDPR query is to obtain the user's consent. He has to opt in, not out.
    Consider this, from wikipedia:

    The highest level of privacy settings would logically be akin to a refusal from the user. This is ought to be the default setting it would seem.


    Other question.
    Q3: is it possible to allow the user to revoke his consent regarding the GDPR once the various SDKs have been launched?
    I think it may be (almost legally) necessary to add a button in the app's settings menu to allow the user to change his mind and opt out at any time he wishes.

    If it's impossible to do so once the SDKs are running, would we need to:
    • stop the SDKs (through the plugin), change the GDPR consent setting, then relaunch the SDKs during the app's run?
    • or literally store the change of user's decision until the next restart, and perhaps going as far as forcing a reboot of the app?

    Now, the Unity doc provides a clarification too:

    But it could be argued that the " i " isn't intuitive at all and it may be preferable to have a centralized (unified) way to revoke the consent.
     
  27. GleyGames

    GleyGames

    Joined:
    Oct 16, 2015
    Posts:
    482
    The only problem of the autofetch on is that if you have a lot of ad providers in your app, all ads will be loaded at the beginning of your game and the HDD and CPU of the device will be busy fetching ads and that might cause your app not to run smooth for a 5 seconds until all ads are loaded.
    If you do not autofetch your ads at the beginning, you will have to do manual fetch directly in your game and you will have to fetch a specific network at the time. So with 15 seconds before showing an ad you will have to fetch one. And that time depends on how fast is the users Internet connection. For this reason every ad provider recommends fetching your ads at the start of your app.
    Our plugin has mediation options, but if you are using a single SDK(Heyzap) the implementation follows their documentation strictly. You can check that in our .cs files called Custom[AdvertiserName].cs


    We never provided that kind of information to any advertising SDK and we will not do it in the future. Every ad provider collects enough data by itself to be able to target your app users, you shouldn`t be worried about that. If you still want to do that you can go to Initialize() method in CustomHeyzap.cs and add any optional parameters that you need for your app.


    The all 7 ad providers we are using in our plugin specify in their own documentation that if no consent is provided the default setting is to collect the data so we also set that option this way.
    If you want at the beginning of your app you can by code set the consent to false.


    Yes, you just have to call:

    Advertisements.Instance.SetUserConsent(bool consent);

    If you call this method after the SDK is initialized, each advertiser SDK will do what it takes to update the consent, some will be reinitialized and some will just update a flag, as each of the providers specify in their documentation.
     
  28. Starbox

    Starbox

    Joined:
    Sep 17, 2014
    Posts:
    467
    The most obvious way to deal with this is to load them during a splash screen or even a bit before, when the screen is dark.

    Ok, thx. The legal considerations and Apple's legendary sensitivity are sources of concern regarding this new regulation.

    Indeed, and their way to get out of legal trouble is to tell publishers that they have to query the user about his consent, so they can prove that the user accepted or declined to share his personal data.
    Advertisers (and ad-hungry publishers or other service providers) are obviously going to do anything they can to force targeted ads, hence their default stance, but it needs to be legally consented to by the user.

    Funny you suggest that because that's what I was about to do. Here's my reason:
    All in all, considering the kind of ads I was served with when playing games, I rather struggle to see how "targeted" they were. More precisely, I don't see how any of my personnal data could have possibly made a difference since I was only getting ads about other mainstream video games which were meant for all ages, all genders, all regions; nothing outside of the bounds of only checking the "video games" ads category in a network dashboard.

    Assuming ads don't represent one's only source of revenue, it could be simpler for a video game publisher to set the consent to "declined" by default at the start of the game and never ever annoy players with technical legalese which would just break the immersion and escapism, and to which, if it were properly explained, would more than likely result in him or her declining consent anyway!


    Nice, it's automatic then. :)
    I had this script ready but I had no clue how it would work.
    So I take it that I don't need to "reboot" the plugin on my side.
     
  29. Starbox

    Starbox

    Joined:
    Sep 17, 2014
    Posts:
    467
    If using the Gley Mobile Ads mediation tool, does Unity's free plugin
    Unity Data Privacy Plug-in
    ...needs to be installed too if using Unity Ads?
     
  30. GleyGames

    GleyGames

    Joined:
    Oct 16, 2015
    Posts:
    482
    That is a good questions, we will have to read about that ourselves and do some documentation and give you a response as soon as possible. That is a relatively new release by Unity and we think it is useful but we will provide you a more detailed information about this next days.
    If it is required we will try to integrate it by default in our plugin.
     
  31. GleyGames

    GleyGames

    Joined:
    Oct 16, 2015
    Posts:
    482
    Version 1.3.3 is now available on the Asset Store

    Changes in this version:
    • Support for Unity Monetization 3.0.0 that includes banner ads(banner ads are not available yet all over the world).
    • Updated plugin to support Chartboost SDK v7.3.0.
    • Fixed some mediation file related bugs.
    • Support for android.gms.play-services-ads-17 and above.
    • Better manifest handling.

    About data privacy unity plugin. is not mandatory if you are using Unity Ads. This is what we understand.
     
  32. r137

    r137

    Joined:
    Mar 12, 2018
    Posts:
    47
    I have a suggestion. Some ad providers like admob only requests advertisement once. If user turns off internet that launch the or something was wrong with the internet connection only once no more admob ads is loaded. Can this be handled with this plugin?
     
  33. GleyGames

    GleyGames

    Joined:
    Oct 16, 2015
    Posts:
    482
    Hello,
    At the current state of the plugin, if the load fails at the beginning, the plugin retries again in 30 seconds, and it does this 10 times. If after 10 times, the plugin still fails to load an ad, it will stop trying until user restarts the app.

    We will keep in mind this suggestion and thing about a solution in our future updates.
     
  34. htdreams

    htdreams

    Joined:
    Mar 29, 2014
    Posts:
    11
    Great and simple plugin, thanks for this :-D

    For now I'm using only admobs to show rewarded video, and in admob i can setup an "amount" to be given after watching a video, so, for example, I configured in adwords to give 3 units as a reward, but in your examples I see you got "complete" and "advertiser" as parameters, but there is no other params... would it be possible to obtain another parameter with the amount value?

    This is from the goolge admob reference:

    Code (CSharp):
    1. public void HandleRewardBasedVideoRewarded(object sender, Reward args)
    2.     {
    3.         string type = args.Type;
    4.         double amount = args.Amount;
    5.         MonoBehaviour.print(
    6.             "HandleRewardBasedVideoRewarded event received for "
    7.                         + amount.ToString() + " " + type);
    8.     }


    Thanks! :-D
     
  35. GleyGames

    GleyGames

    Joined:
    Oct 16, 2015
    Posts:
    482
    Thank you for your interest in our plugin.

    Unfortunately in our implementation there is not such option because other ad networks do not have such a feature in their dashboard and we want to use the same code no mater what ad provider you are using, that is the power of our asset(just change the SDK nothing changes to your code and it works out of the box)

    To solve your problem you can reward player locally like this:
    Code (CSharp):
    1. int value =3;
    2.  
    3. void SomeMethod()
    4. {
    5.      Advertisements.Instance.ShowRewardedVideo(CompleteMethod);
    6. }
    7.  
    8. private void CompleteMethod(bool completed, string advertiser)
    9. {
    10.      if(completed == true)
    11.      {
    12.           yourScoreVariable+=value;
    13.      }
    14. }
    15.  
    This is the way we use it in our games.
     
  36. GleyGames

    GleyGames

    Joined:
    Oct 16, 2015
    Posts:
    482
    Hello,
    We have great news for many of you, we just released an update of Mobile Ads that has built in Playmaker support, so if you are familiar with Playmaker no coding skills will be needed to add ads in your game.

    • To enable it you just have to check Playmaker support in Settings Window:
    PlaymakerSupport.PNG
    • To initialize the SDK you have to drag and drop the InitializeGleyAds on your first scene of the project
    • The prefab is located in: GleyPlugins/Ads/PlayMakerSupport/Prefabs/InitializeGleyAds
    • Playmaker supports the following actions:
      • SetConsentToYes
      • SetConsentToNo
      • ShowBanner
      • HideBanner
      • ShowInterstitial
      • ShowRewardedVideo

    • A step by step integration tutorial is available on our Youtube channel:
     
  37. idealconceptz

    idealconceptz

    Joined:
    Aug 16, 2018
    Posts:
    3
    Just noticed a problem today when all UI buttons stopped working on the Android build. Eventually removed the ads and the app started working again. Was only using UnityAds and Admob. I disabled Admob in the Gley plugin and the app started working again.

    Looks like the culprit was this...
    [INFO:CONSOLE(0)] "Uncaught (in promise) [object Array]", source: file:///storage/emulated/0/Android/data/xxx.xxx/cache/UnityAdsCache/UnityAdsWebApp.html?platform=android&origin=https%3A%2F%2Fwebview.unityads.unity3d.com%2Fwebview%2F3.0.1%2F789050460a09e082c8b300d718a5107f40582c36%2Frelease%2Findex.html&version=789050460a09e082c8b300d718a5107f40582c36 (0)
    (standard input):02-14 15:10:20.393 26156 27033 I UnityAds: com.unity3d.services.core.api.Sdk.logInfo() (line:69) :: Requesting ad plan from https://auction.unityads.unity3d.co...eight=1920&connectionType=wifi&networkType=13
    (standard input):02-14 15:10:22.305 26156 27033 I UnityAds: com.unity3d.services.core.api.Sdk.logInfo() (line:69) :: AdPlan received with 1 campaigns and refreshDelay 0

    Turns out Admob had disabled my new account (very nice of them), as they wrongly think it's a duplicate account.

    So 2 points:
    1. Would be nice if the Gley package would not stop UI buttons working if any ad platform disables an account - Gley? Any way around this? I can send you more logs if of interest.
    2. Anyone know a way to get in contact with a person at Admob to sort out their mess - have tried posting on support forums etc, but no reply yet.

    They keep sending me emails saying...
    "You already have a Google AdMobaccount"
    "1. Continue using your existing account, associated with zach...@smithdesignz.com. If you can’t access this account, follow the steps in the sign-in troubleshooter
    or
    2. Close your duplicate account(s) by following the steps in the Help Center article Cancel your AdMob account and then try signing in again"


    Note: that email address is nothing to do with me, it's not mine, so I can't access that account at all. Somehow they are linking two totally separate identies - bit worrying!
     
  38. GleyGames

    GleyGames

    Joined:
    Oct 16, 2015
    Posts:
    482
    Hello,

    Our code has nothing to do with unity buttons, Our plugins does not have any built in buttons.
    If an ad is not available it simply returns false so other thing might happen with you game.

    The log you posted is Unity Ads related not Admob and informs you that the AdPlan was loaded.

    What might cause you buttons to stop working might be an error one of your project plugins, Maybe admob, maybe unity ads but it is not what you posted there.

    We would appreciate if you could send us the whole project by e-mail at gley.mobi@gmail.com to be able to see what is wrong. But we are 100% sure that has nothing to do with Mobile Ads plugin by Gley but we want to be sure of this.

    About your Admob account being disabled we have nothing to do with that and we do not have any Admob contact that might help you. Sorry.
     
  39. PabloAM

    PabloAM

    Joined:
    Dec 25, 2012
    Posts:
    35
    Hello I´ve integrated Google Ads but when I try to show banners, appears:

    "No Banners Available"

    Chartboost doesn´t work either.

    I have updated all the SDKs (Admob and Chartboost)

    Thanks!
     
  40. GleyGames

    GleyGames

    Joined:
    Oct 16, 2015
    Posts:
    482
    Hello,
    Thank you for your interest.
    Please send us an e-mail with your invoice number, your Unity version and we will send you a complete project with Admob and Chartboost already integrated and working.

    About Admob make sure your payment details are filled in your Admob dashboard in order to receive live ads.
    About Chartboost make sure you have created some publishing campaigns and they are live. Check the screenshot chartboost.JPG
     
    PabloAM likes this.
  41. Adswars

    Adswars

    Joined:
    Jun 28, 2015
    Posts:
    13
    If you could add Cross-Promotion feature as a part of this plugin it would be awesome.
    As you already have weight / random between ads network, it not hard to add another section for custom ads.

    Thanks
     
  42. GleyGames

    GleyGames

    Joined:
    Oct 16, 2015
    Posts:
    482
    Hello,
    Indeed we will publish a cross promotion asset as well, and it will be included in this asset in the future. But it will take more than a month to do this because we are very busy at this point.

    Thank you for your suggestion, is a good one
     
    MasoInar and Adswars like this.
  43. GleyGames

    GleyGames

    Joined:
    Oct 16, 2015
    Posts:
    482
  44. kk3hi3123

    kk3hi3123

    Joined:
    Aug 17, 2016
    Posts:
    31
    Hello, I get some problems in initializing rewarded video. I would like to take a look in debug mode but an error comes out and says:

    Code (CSharp):
    1. )</i> ToString can only be called from the main thread.
    2. Constructors and field initializers will be executed from the loading thread when loading a scene.
    3. Don't use this function in the constructor or field initializers, instead move initialization code to the Awake or Start function.
    4. System.String:Concat(Object, Object, Object)
    5. GleyMobileAds.CustomAdmob:RewardedVideoFailed(Object, AdFailedToLoadEventArgs)
    6. System.Reflection.MonoMethod:Invoke(Object, BindingFlags, Binder, Object[], CultureInfo)
    7. System.Reflection.MethodBase:Invoke(Object, Object[])
    8. UnityEngine.AndroidJavaProxy:Invoke(String, Object[])
    9. UnityEngine._AndroidJNIHelper:InvokeJavaProxyMethod(AndroidJavaProxy, IntPtr, IntPtr)
    10.  
    11. [/Users/builduser/buildslave/unity/build/Runtime/Scripting/ScriptingThreadAndSerializationSafeCheck.cpp line 85]
    12. (Filename: /Users/builduser/buildslave/unity/build/Runtime/Scripting/ScriptingThreadAndSerializationSafeCheck.cpp Line: 85)
    I call " Advertisements.Instance.Initialize()" when my singleton instance starts. Any idea? Thanks.
     
  45. GleyGames

    GleyGames

    Joined:
    Oct 16, 2015
    Posts:
    482
    Hello,
    What Unity version are you using?
    Also we could help you fix this issue more quickly if you can send us your test project to debug it on our own. We din not found this issue before.
    If it is possible send us a link to your test project at gley.mobi@gmail.com or provide us more details about your implementation.
    Thank you.
     
  46. GleyGames

    GleyGames

    Joined:
    Oct 16, 2015
    Posts:
    482
    Thank you for your e-mail and your test project.

    It turns out that if you check the Development Build checkbox in Unity, it breaks something in the treading system and the Admob callbacks are not triggered because we want do display the info on the screen and other thread is not ready yet when Development Build is enabled.

    This error does not appear if the your build is without Development Build enabled or if debug checkbox is unchecked from our Settings Window.

    Thank you for reporting this issue, and it will be fixed in version 1.5.2 of our plugin.
     
    Adswars likes this.
  47. aaqib0003

    aaqib0003

    Joined:
    Sep 19, 2017
    Posts:
    2
    [ In Unity ads ]
    after setting up android and IOS ids i am facing this error Please help me

    Assets/GleyPlugins/Ads/SupportedAdvertisers/CustomUnityAds.cs(12,18): error CS0535: `GleyMobileAds.CustomUnityAds' does not implement interface member `GleyMobileAds.ICustomAds.ShowBanner(BannerPosition, BannerType, UnityEngine.Events.UnityAction<bool,BannerPosition,BannerType>)'

    upload_2019-5-23_13-38-27.png
     
  48. GleyGames

    GleyGames

    Joined:
    Oct 16, 2015
    Posts:
    482
    Hello,
    Please use latest version of Unity ads SDK:
    https://assetstore.unity.com/packages/add-ons/services/unity-monetization-3-1-0-66123

    If you still have problems send us an e-mail at gley.mobi@gmail.com
     
  49. mentolatux

    mentolatux

    Joined:
    Nov 2, 2014
    Posts:
    240
    when i save i get this error :



    Code (CSharp):
    1. FileNotFoundException: Could not find file "D:\Advanced Blocky Combat SWAT - Combat pixel arena 3d\Assets\GoogleMobileAds\Editor\PListProcessor.cs"
    2. System.IO.FileStream..ctor (System.String path, System.IO.FileMode mode, System.IO.FileAccess access, System.IO.FileShare share, System.Int32 bufferSize, System.Boolean anonymous, System.IO.FileOptions options) (at <d7ac571ca2d04b2f981d0d886fa067cf>:0)
    3. System.IO.FileStream..ctor (System.String path, System.IO.FileMode mode, System.IO.FileAccess access, System.IO.FileShare share, System.Int32 bufferSize, System.IO.FileOptions options, System.String msgPath, System.Boolean bFromProxy, System.Boolean useLongPath, System.Boolean checkHost) (at <d7ac571ca2d04b2f981d0d886fa067cf>:0)
    4. (wrapper remoting-invoke-with-check) System.IO.FileStream..ctor(string,System.IO.FileMode,System.IO.FileAccess,System.IO.FileShare,int,System.IO.FileOptions,string,bool,bool,bool)
    5. System.IO.StreamReader..ctor (System.String path, System.Text.Encoding encoding, System.Boolean detectEncodingFromByteOrderMarks, System.Int32 bufferSize, System.Boolean checkHost) (at <d7ac571ca2d04b2f981d0d886fa067cf>:0)
    6. System.IO.StreamReader..ctor (System.String path, System.Text.Encoding encoding, System.Boolean detectEncodingFromByteOrderMarks, System.Int32 bufferSize) (at <d7ac571ca2d04b2f981d0d886fa067cf>:0)
    7. System.IO.StreamReader..ctor (System.String path, System.Boolean detectEncodingFromByteOrderMarks) (at <d7ac571ca2d04b2f981d0d886fa067cf>:0)
    8. System.IO.StreamReader..ctor (System.String path) (at <d7ac571ca2d04b2f981d0d886fa067cf>:0)
    9. (wrapper remoting-invoke-with-check) System.IO.StreamReader..ctor(string)
    10. System.IO.File.ReadAllText (System.String path) (at <d7ac571ca2d04b2f981d0d886fa067cf>:0)
    11. GleyMobileAds.SettingsWindow.CreateManifestFile () (at Assets/GleyPlugins/Ads/Editor/SettingsWindow.cs:945)
    12. GleyMobileAds.SettingsWindow.SetPreprocessorDirectives () (at Assets/GleyPlugins/Ads/Editor/SettingsWindow.cs:873)
    13. GleyMobileAds.SettingsWindow.SaveSettings () (at Assets/GleyPlugins/Ads/Editor/SettingsWindow.cs:262)
    14. GleyMobileAds.SettingsWindow.OnGUI () (at Assets/GleyPlugins/Ads/Editor/SettingsWindow.cs:247)
    15. System.Reflection.MonoMethod.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) (at <d7ac571ca2d04b2f981d0d886fa067cf>:0)
    16. Rethrow as TargetInvocationException: Exception has been thrown by the target of an invocation.
    17. System.Reflection.MonoMethod.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) (at <d7ac571ca2d04b2f981d0d886fa067cf>:0)
    18. System.Reflection.MethodBase.Invoke (System.Object obj, System.Object[] parameters) (at <d7ac571ca2d04b2f981d0d886fa067cf>:0)
    19. UnityEditor.HostView.Invoke (System.String methodName, System.Object obj) (at C:/buildslave/unity/build/Editor/Mono/HostView.cs:342)
    20. UnityEditor.HostView.Invoke (System.String methodName) (at C:/buildslave/unity/build/Editor/Mono/HostView.cs:336)
    21. UnityEditor.HostView.OldOnGUI () (at C:/buildslave/unity/build/Editor/Mono/HostView.cs:129)
    22. UnityEngine.Experimental.UIElements.IMGUIContainer.DoOnGUI (UnityEngine.Event evt, UnityEngine.Matrix4x4 worldTransform, UnityEngine.Rect clippingRect, System.Boolean isComputingLayout) (at C:/buildslave/unity/build/Modules/UIElements/IMGUIContainer.cs:266)
    23. UnityEngine.Experimental.UIElements.IMGUIContainer.HandleIMGUIEvent (UnityEngine.Event e, UnityEngine.Matrix4x4 worldTransform, UnityEngine.Rect clippingRect) (at C:/buildslave/unity/build/Modules/UIElements/IMGUIContainer.cs:438)
    24. UnityEngine.Experimental.UIElements.IMGUIContainer.HandleIMGUIEvent (UnityEngine.Event e) (at C:/buildslave/unity/build/Modules/UIElements/IMGUIContainer.cs:421)
    25. UnityEngine.Experimental.UIElements.IMGUIContainer.HandleEvent (UnityEngine.Experimental.UIElements.EventBase evt) (at C:/buildslave/unity/build/Modules/UIElements/IMGUIContainer.cs:401)
    26. UnityEngine.Experimental.UIElements.EventDispatcher.ProcessEvent (UnityEngine.Experimental.UIElements.EventBase evt, UnityEngine.Experimental.UIElements.IPanel panel) (at C:/buildslave/unity/build/Modules/UIElements/EventDispatcher.cs:511)
    27. UnityEngine.Experimental.UIElements.EventDispatcher.Dispatch (UnityEngine.Experimental.UIElements.EventBase evt, UnityEngine.Experimental.UIElements.IPanel panel, UnityEngine.Experimental.UIElements.DispatchMode dispatchMode) (at C:/buildslave/unity/build/Modules/UIElements/EventDispatcher.cs:307)
    28. UnityEngine.Experimental.UIElements.BaseVisualElementPanel.SendEvent (UnityEngine.Experimental.UIElements.EventBase e, UnityEngine.Experimental.UIElements.DispatchMode dispatchMode) (at C:/buildslave/unity/build/Modules/UIElements/Panel.cs:176)
    29. UnityEngine.Experimental.UIElements.UIElementsUtility.DoDispatch (UnityEngine.Experimental.UIElements.BaseVisualElementPanel panel) (at C:/buildslave/unity/build/Modules/UIElements/UIElementsUtility.cs:245)
    30. UnityEngine.Experimental.UIElements.UIElementsUtility.ProcessEvent (System.Int32 instanceID, System.IntPtr nativeEventPtr) (at C:/buildslave/unity/build/Modules/UIElements/UIElementsUtility.cs:68)
    31. UnityEngine.GUIUtility.ProcessEvent (System.Int32 instanceID, System.IntPtr nativeEventPtr) (at C:/buildslave/unity/build/Modules/IMGUI/GUIUtility.cs:179)
     
    Last edited: May 31, 2019
  50. mentolatux

    mentolatux

    Joined:
    Nov 2, 2014
    Posts:
    240
    here is the photo with problem
     

    Attached Files: