Code Monkey home page Code Monkey logo

godot-applovin-max's People

Contributors

avnerh1 avatar drmoriarty avatar finepointcgi avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

godot-applovin-max's Issues

Could not resolve adapter

Tried with Godot 3.4 stable
Applovin-max : 0.1.2
applovin-max-ironsource : 0.1.1
applovin-max-unityads: 0.1.1

> Could not resolve all files for configuration ':debugRuntimeClasspath'.
   > Could not resolve com.applovin.mediation:ironsource-adapter:+.
     Required by:
         project :
      > Failed to list versions for com.applovin.mediation:ironsource-adapter.
         > Unable to load Maven meta-data from https://applovin.bintray.com/Android-Adapter-SDKs/com/applovin/mediation/ironsource-adapter/maven-metadata.xml.
            > Could not get resource 'https://applovin.bintray.com/Android-Adapter-SDKs/com/applovin/mediation/ironsource-adapter/maven-metadata.xml'.
               > Could not GET 'https://applovin.bintray.com/Android-Adapter-SDKs/com/applovin/mediation/ironsource-adapter/maven-metadata.xml'. Received status code 502 from server: Bad Gateway
   > Could not resolve com.applovin.mediation:unityads-adapter:+.
     Required by:
         project :
      > Skipped due to earlier error
      > Failed to list versions for com.applovin.mediation:unityads-adapter.
         > Unable to load Maven meta-data from https://dl.bintray.com/mobilap/maven/com/applovin/mediation/unityads-adapter/maven-metadata.xml.
            > Could not get resource 'https://dl.bintray.com/mobilap/maven/com/applovin/mediation/unityads-adapter/maven-metadata.xml'.
               > Could not GET 'https://dl.bintray.com/mobilap/maven/com/applovin/mediation/unityads-adapter/maven-metadata.xml'. Received status code 502 from server: Bad Gateway

I don't understand how callbacks should be set up

Hello, I need callbacks, so I need to perform ad showing and scoring, but I don't understand how to do this.
For example I try (in applovin_max.gd):

func _on_rewarded_video_ad_loaded(id: String)-> void:
$debug.text = "ok : "+String(id)
func _on_rewarded_video_started(id: String)-> void:
$debug.text = "rewarded video ad started"
pass
func _on_rewarded_video_completed(id: String)-> void:
$debug.text = "rewarded video ad completed"
pass
func _on_rewarded(id: String, reward: String, amount: int)-> void:
$debug.text = "on rewarded"
pass
..
no results are returned.

I also tried the following in the ready() function.
ads.connect ( " on_rewarded_video_ad_loaded" self, "
on_rewarded_video_ad_loaded")
ads.connect ( " on_rewarded_video_ad_failed_to_load" self, "_ on_rewarded_video_ad_failed_to_load")
ads.connect ( " on_rewarded_video_started" self, "_ on_rewarded_video_started")
ads.connect ( " on_rewarded_video_ad_closed" self,"_on_rewarded_video_ad_closed")
_ads.connect("_on_rewarded_video_completed",self,"_on_rewarded_video_completed")
_ads.connect("_on_rewarded",self,"_on_rewarded")

Buddha failed. I may be a little clumsy :) It would be nice if there was a small example of how to do it. Thank you

hide and remove banner in global ads manager iOS

am using this

func _ready():
	if CheckIfExist(): # chech if save game exist
		LoadGame()
	root = get_tree().get_root() # get the root of the application 
	progressBar = get_node("CanvasLayer/TextureProgress")
	get_node("CanvasLayer/TextureRect").visible = false
	progressBar.visible = false



func loadBanner() :
	applovin_max.loadBanner("449d3e1f299a6c41",false ,self.get_instance_id())

func loadInetr() :
	applovin_max.loadInterstitial("c2388c98f3bad91f", self.get_instance_id())
 
func removeBanner() :
	 applovin_max.removeBanner("449d3e1f299a6c41") 

func _on_banner_shown(id: String):
	yield(get_tree().create_timer(10),"timeout")
	applovin_max.removeBanner(id) 


func _on_banner_loaded(id: String):
	applovin_max.showBanner(id)

func _on_interstitial_loaded(id: String) :
	applovin_max.showInterstitial(id)


func _on_interstitial_failed_to_load(id: String, error: String):
	get_tree().paused = false

func _on_interstitial_close(id: String) :
	get_tree().paused = false

the problem is whenever I try to remove the banner its not work
I tried to useremoveBanner() and hideBanner()in every scene
I try to make it wait 10s after show and then remove it and hide it and it still appear
I try to use applovin_max.removeBanner(id) and applovin_max.hideBanner(id) in specific scene but still appear

Pressing install on NativeLib UI gives a 403

I'm trying to install this ad mediator as it seems to be the only one that woks on Android and iOS, but everytime I press Install in the NativeLib UI plugin it gives me this error in the console:

ERROR: call: Command C:/Python39/python.exe, exit code 1
   At: modules/gdscript/gdscript_functions.cpp:803
Checking project dependencies: [email protected]
Installing [email protected]
Traceback (most recent call last):
  File "C:\Users\salam\Projects\Godot\just-jump\src\addons\NativeLib\nativelib", line 1172, in <module>
    install_package(p, v)
  File "C:\Users\salam\Projects\Godot\just-jump\src\addons\NativeLib\nativelib", line 941, in install_package
    if not install_package(p, v):
  File "C:\Users\salam\Projects\Godot\just-jump\src\addons\NativeLib\nativelib", line 946, in install_package
    download_package(package_name, version, package_meta)
  File "C:\Users\salam\Projects\Godot\just-jump\src\addons\NativeLib\nativelib", line 436, in download_package
    path = download(f['url'], fname, home)
  File "C:\Users\salam\Projects\Godot\just-jump\src\addons\NativeLib\nativelib", line 411, in download
    (filepath, headers) = urlretrieve(url, os.path.join(path, filename), reporthook=_progress)
  File "C:\Python39\lib\urllib\request.py", line 239, in urlretrieve
    with contextlib.closing(urlopen(url, data)) as fp:
  File "C:\Python39\lib\urllib\request.py", line 214, in urlopen
    return opener.open(url, data, timeout)
  File "C:\Python39\lib\urllib\request.py", line 523, in open
    response = meth(req, response)
  File "C:\Python39\lib\urllib\request.py", line 632, in http_response
    response = self.parent.error(
  File "C:\Python39\lib\urllib\request.py", line 561, in error
    return self._call_chain(*args)
  File "C:\Python39\lib\urllib\request.py", line 494, in _call_chain
    result = func(*args)
  File "C:\Python39\lib\urllib\request.py", line 641, in http_error_default
    raise HTTPError(req.full_url, code, msg, hdrs, fp)
urllib.error.HTTPError: HTTP Error 403: Forbidden

I'm using Python 3.9.1 and Godot 3.3.2.stable.

Global ads manager

hi there
am trying to make a global ad manager so I can load ads and remove it in any scene
so it not crash if the current scene die .
I have the game scene that autoload and work globally so i include the call method in it

Screen Shot 2021-08-17 at 4 28 37 PM


func _ready():
	if CheckIfExist(): # chech if save game exist
		LoadGame()
	root = get_tree().get_root() # get the root of the application 
	progressBar = get_node("CanvasLayer/TextureProgress")
	get_node("CanvasLayer/TextureRect").visible = false
	progressBar.visible = false



func loadBanner() :
	applovin_max.loadBanner("449d3e1f299a6c41",false ,self.get_instance_id())
	
func loadInetr() :
	applovin_max.loadInterstitial("c2388c98f3bad91f", self.get_instance_id())
 
func removeBanner() :
	if applovin_max.removeBanner("449d3e1f299a6c41") :
		print("remove***")
	elif applovin_max.hideBanner("449d3e1f299a6c41") :
		print("hide****")
	else :
		print("not remove and not hide")

func _on_banner_loaded(id: String):
	applovin_max.showBanner(id)

func _on_interstitial_loaded(id: String) :
	applovin_max.showInterstitial(id)


and its work the app not crash anymore on iOS but got 1 issue
whenever I call the ads it work above the current scene
I tried to stop the scene until the ads finish but couldn't find way to do it
is there a way to make the current scene wait the ads until finish before it start

iOS build failure [Godot3.4.4]

I am having an issue when exporting for iOS.

When I export including all resources I get these errors:
core/os/dir_access.cpp:289 - Failed to open C:/Users/switc/Documents/New Game Project/exports/New Game Project/dylibs/addons/applovinmax-ios/applovin-max.xcframework/ios-arm64_armv7/applovin-max.framework/AppLovinSDKResources.bundle/ALDMultiAdViewController.storyboardc/3jf-B1-XNL-view-Iqa-CO-DFs.nib/objects-11.0+.nib
Failed to copy recursively.
Failed to copy recursively.
Failed to copy recursively.
Failed to copy recursively.
Failed to copy recursively.
platform/iphone/export/export.cpp:1406 - Condition "err" is true. Returned: err
platform/iphone/export/export.cpp:1441 - Condition "err" is true. Returned: err

And when I export including only selected scenes and dependencies, xcode gives me:
2022-05-26 14:44:26.695430-0700 New Game Project[2387:123630] at: _ready (res://scripts/applovin_max.gdc:15) - Attempt to call function 'new' in base 'NativeScript' on a null instance.
at: _ready (res://scripts/applovin_max.gdc:15) - Attempt to call function 'new' in base 'NativeScript' on a null instance.

callback id

Hi there
am trying to implement the plugin in my app and i have a question what is the callback id

thanks

Ads not shown in iOS

Hello,

When I export to iOS, there are no ads shown in Xcode. Android export works without any issue and I can run ads in Android Studio.
In Xcode I get the message below.

ERROR: does not have a library for the current platform.
at: init_library (modules/gdnative/nativescript/nativescript.cpp:1486) - Condition "lib_path.length() == 0" is true.
2022-04-04 17:44:11.206686+0200 Birds and Blocks[4910:75441] SCRIPT ERROR: Attempt to call function 'new' in base 'NativeScript' on a null instance.
2022-04-04 17:44:11.207326+0200 Birds and Blocks[4910:75441] at: _ready (res://scripts/applovin_max.gdc:15) - Attempt to call function 'new' in base 'NativeScript' on a null instance.

HideBanner is Irreversible, Requires Banner Reload

Expected: hide & show banner with the single function calls of the relevant names:

func _ready():
  applovin_max.loadBanner(BannerID, true, self.get_instance_id())    
  applovin_max.hideBanner(BannerID)
  ...
  applovin_max.showBanner(BannerID) # FAILS

Actual behavior: hide banner is irreversible and requires another load_banner call before showing the banner again:

func _ready():
  # Show banner
  applovin_max.loadBanner(BannerID, true, self.get_instance_id())    
  applovin_max.showBanner(BannerID)
...
  # Hide banner
  applovin_max.hideBanner(BannerID)
  # Can also removeBanner()
...
  # Show banner again, must reload
  applovin_max.loadBanner(BannerID, true, self.get_instance_id())    
  applovin_max.showBanner(BannerID)

Rewarded callbacks not firing properly

First off great work with Nativelibs! A lot of it is working surprisingly well and is quite easy to setup.

Maybe this is me misunderstanding how the callbacks are meant to work but it seems like they all just fire after i've finished a rewarded ad?

I am currently running in test mode if that makes a difference.
This is my logcat output.

10-26 14:32:24.465  8163  8212 I godot   : pressed applovin max
10-26 14:33:16.386  8163  8212 I godot   : open rewarded video ad
10-26 14:33:16.386  8163  8212 I godot   : rewarded video ad started
10-26 14:33:16.387  8163  8212 I godot   : rewarded video ad completed
10-26 14:33:16.387  8163  8212 I godot   : on rewarded
10-26 14:33:16.828  8163  8212 I godot   : rewarded video ad closed

Godot:

class RewardedAd:
	signal reward_loaded(id)
	
	func _on_rewarded_video_ad_loaded(id: String):
		emit_signal("reward_loaded", id)

	func  _on_rewarded_video_ad_failed_to_load(id: String, error: String):
		print("failed to loaded rewarded ad")
		pass

	func _on_rewarded_video_ad_opened(id: String):
		print("open rewarded video ad")
		pass

	func _on_rewarded_video_ad_left_application(id: String):
		print("rewarded ad left application")
		pass

	func _on_rewarded_video_ad_closed(id: String):
		print("rewarded video ad closed")
		pass

	func _on_rewarded_video_started(id: String):
		print("rewarded video ad started")
		pass

	func _on_rewarded_video_completed(id: String):
		print("rewarded video ad completed")
		pass

	func _on_rewarded(id: String, reward: String, amount: int):
		print("on rewarded")
		pass

hideBanner

hi there

i use hideBanner(id: String) to hide my banner ad
and i want to show it later and i tried showBanner(id: String) but it not show
should i re load it and show it in callback function

cleartextTrafficPermitted issues with GooglePlay - Flagged Security Vulnerability

Google has introduced a Data Safety check questionaire that asks if any information is sent by an App in non encrypted form.

It has also started complaining directly in the Release Prelaunch reports for apps that cleartextTrafficPermitted is not supposed to be used in true condition and in the Developer documents for Android it's noted that

" The guidance in this section applies only to apps that target Android 8.1 (API level 27) or lower. Starting with Android 9 (API level 28), cleartext support is disabled by default."

Would it be possible to include the default for Google as the default of the plugin on the next update?

<network-security-config>
<base-config cleartextTrafficPermitted="true">
<trust-anchors>

should always be

<network-security-config>
<base-config cleartextTrafficPermitted="false">
<trust-anchors>

unless set differently by a user set plugin Adapter ?

As it stands now the above settings will not allow an app into production. Google Play console kicks out a RED warning :

Privacy - Cleartext traffic allowed for all domains

This is where the problem is I believe, even if one is not using AdColony and or Smaato their setup will be cleartextTrafficPermitted set to true.

    <!-- For AdColony and Smaato - all cleartext traffic allowed -->
    <base-config cleartextTrafficPermitted="true">
        <trust-anchors>
            <certificates src="system"/>
        </trust-anchors>
    </base-config>
    <!-- End AdColony cleartext requirement -->```
    
    

Unable to initialize the plugin

I'm unable to initialize the plugin on PC or Android as both result in the below error.

E 0:00:00.453   initialize: No library set for this platform
  <C++ Source>  modules/gdnative/gdnative.cpp:290 @ initialize()

Steps I have taken so far:

  • Installed NativeLib, added python to $PATH
  • Enabled plugin, gdnative, and autoload in project settings
  • Added SDK key to plugin settings
  • Narrowed problem to custom builds working without this plugin
  • Narrowed problem down to this plugin/interaction of this plugin with NativeLib. Project compiles fine when this plugin is not in.

I'm happy to provide more accurate steps/info if needed.

Conflict with Firebase Analytics

Hi, when I try to export this plugin with Firebase Analytics, I get an error. Is it impossible to use both Firebase Analytics and Applovin Max plugins in the same project?

Banner Not Loading, No Callbacks Triggered

Some sample code would be great on this repo. I am shooting in the dark with this implementation. I call load_banner with a banner ID from AppLovin-Max because I don't know what a Zone ID is and the docs don't mention it, I'm almost 99% sure this is incorrect. None of the banner-related callbacks get triggered.
Using Godot 3.5.1, is this version supported? I tested with a debug APK and nothing seems to happen.

var BannerID = "applovin max banner Unit ID"

func _ready():
    applovin_max.loadBanner(BannerID, true, self.get_instance_id())
    applovin_max.showBanner(BannerID)
    
    $AdDebugger.text = "Trying to load banner with ID %s" % BannerID;
    $AdDebugger.show()

# Applovin callbacks
func _on_banner_loaded(id: String):
    print("Banner loaded: %s" % id)
    $AdDebugger.text = "Banner loaded: %s" % id;

func _on_banner_failed_to_load(id: String, error: String):
    print("Banner failed to load: %s" % id)
    $AdDebugger.text = "Banner failed to load: id %s, error %s" % [id, error];

func _on_banner_shown(id: String):
    print("Banner shown: %s" % id)
    $AdDebugger.text = "Banner shown: %s" % id;

isGdprApplies() method is not working

Hello,

In Android Studio I set virtual device location to Germany and under Languages(Country/Region) updated everything for Germany, but isGdprApplies() method returns false. In real Android Phone behavior is also same.

Repetitive errors

After installing UnityAds adaptor, I keep getting those error messages in the Output console of the editor:

Failed to get modified time for: com.applovin.mediation:unityads-adapter:+
Failed to get modified time for: com.applovin.mediation:unityads-adapter:+
Failed to get modified time for: com.applovin.mediation:unityads-adapter:+

They appear every 3 seconds or so and flood the console.

Test ads

Hi, I'm trying to show test ads in the android emulator. The way I have in mind is to get the GAID to add the device as test device in Applovin, but even if I export the app with debug option on, the applovin-max does not get the test mod on. Is there a reason why this line is commented?

//if(!ProductionMode) sdk.getSettings().setVerboseLogging( true );

Is there a better way to get test ads?
Thanks!

Cant Install iOS Plugin

Hi.

I was using Firebase and other of your great plugins, and they work on Android and iOS (Godot 3.4).

But when i try to install AppLovin-Max, the process fails. I'm using NativeLib on Windows 8, and works great with other stuff.

The error only happens if i activate "iOS" installation. With Android it works properly.

As i said, its weird because i already installed other of your creations like Firebase plugins, and even the AppTracking Transparency on iOS.

I also tried deleting iOS, Android & Plugins folders (to do a fresh install) and dont work.

Here's what debugger saids when i press "Install" on NativeLib:

EDIT: I was doing some investigation and maybe it's related to codification UTF8. But if you look at my path, i dont use any special character or anything.

Installing [email protected]
Traceback (most recent call last):
File "F:\iki\Disenio y Desarrollo de Videojuegos\Colombia\Trivia Penalty Final 2\addons\NativeLib\nativelib", line 1174, in
install_package(p, v)
File "F:\iki\Disenio y Desarrollo de Videojuegos\Colombia\Trivia Penalty Final 2\addons\NativeLib\nativelib", line 943, in install_package
if not install_package(p, v):
File "F:\iki\Disenio y Desarrollo de Videojuegos\Colombia\Trivia Penalty Final 2\addons\NativeLib\nativelib", line 948, in install_package
download_package(package_name, version, package_meta)
File "F:\iki\Disenio y Desarrollo de Videojuegos\Colombia\Trivia Penalty Final 2\addons\NativeLib\nativelib", line 438, in download_package
path = download(f['url'], fname, home)
File "F:\iki\Disenio y Desarrollo de Videojuegos\Colombia\Trivia Penalty Final 2\addons\NativeLib\nativelib", line 413, in download
(filepath, headers) = urlretrieve(url, os.path.join(path, filename), reporthook=_progress)
File "C:\Users\ikicapitan\AppData\Local\Programs\Python\Python310\lib\urllib\request.py", line 241, in urlretrieve
with contextlib.closing(urlopen(url, data)) as fp:
File "C:\Users\ikicapitan\AppData\Local\Programs\Python\Python310\lib\urllib\request.py", line 216, in urlopen
return opener.open(url, data, timeout)
File "C:\Users\ikicapitan\AppData\Local\Programs\Python\Python310\lib\urllib\request.py", line 525, in open
response = meth(req, response)
File "C:\Users\ikicapitan\AppData\Local\Programs\Python\Python310\lib\urllib\request.py", line 634, in http_response
response = self.parent.error(
File "C:\Users\ikicapitan\AppData\Local\Programs\Python\Python310\lib\urllib\request.py", line 563, in error
return self._call_chain(*args)
File "C:\Users\ikicapitan\AppData\Local\Programs\Python\Python310\lib\urllib\request.py", line 496, in _call_chain
result = func(*args)
File "C:\Users\ikicapitan\AppData\Local\Programs\Python\Python310\lib\urllib\request.py", line 643, in http_error_default
raise HTTPError(req.full_url, code, msg, hdrs, fp)
urllib.error.HTTPError: HTTP Error 502: Bad Gateway

remove Location access

play console says me to remove location access from this plugin. i am using facebook for mediation with applovin. will you provinde me the facebook aar file without location access. please

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.