Giter VIP home page Giter VIP logo

poing-studios / godot-admob-plugin Goto Github PK

View Code? Open in Web Editor NEW
254.0 8.0 21.0 6.58 MB

This repository is for Godot's Addons to integrate natively AdMob to your Game Project without much configurations and directly inside Godot Editor!

Home Page: https://poingstudios.github.io/godot-admob-plugin/

License: MIT License

GDScript 99.16% Python 0.84%
godot godot-engine godotengine editor editor-plugin godot-editor admob admob-plugin ios android mediation

godot-admob-plugin's Introduction

Version Download Asset Library Android iOS License Stars

🦾Godot AdMob Plugin

This addon provides an easy and beautiful way to configure AdMob directly through the editor. Supports godot-admob-android and godot-admob-ios.

Plugin Usage

📦Installation

📥Godot Asset Library (recommended)

  1. Find the AdMob plugin by poing.studios
  2. Click Download and Install
  3. Enable in Project→Project Settings→Plugins.
  4. Download godot-admob-android and/or godot-admob-ios in Project→Tools→AdMob Download Manager→Android/iOS→LatestVersion.
  5. To know how to deploy, check the README.md of godot-admob-android and/or godot-admob-ios.
Manual install for custom versions.
  1. Pick a specific version from tags
  2. Download and extract as a .zip or .tar.gz
  3. Copy the extracted addons/admob folder into res://addons on your project
  4. Download godot-admob-android and/or godot-admob-ios in Project→Tools→AdMob Download Manager→Android/iOS→LatestVersion.
  5. To know how to deploy, check the README.md of godot-admob-android and/or godot-admob-ios.

🙋‍♂️How to use

After installation, all the methods will be available for use in any .gd script.

📋Examples

Initialize AdMob
func _ready() -> void:
	#just need to call once
	MobileAds.initialize()

🎏Banner Ads

Load (will automatically shows)
# button signal on scene
func _on_load_banner_pressed() -> void:
	var unit_id : String
	if OS.get_name() == "Android":
		unit_id = "ca-app-pub-3940256099942544/6300978111"
	elif OS.get_name() == "iOS":
		unit_id = "ca-app-pub-3940256099942544/2934735716"

	var ad_view := AdView.new(unit_id, AdSize.BANNER, AdPosition.Values.TOP)
	ad_view.load_ad(AdRequest.new())

📺Interstitial Ads

Load
var interstitial_ad : InterstitialAd
var interstitial_ad_load_callback := InterstitialAdLoadCallback.new()
func _ready():
	interstitial_ad_load_callback.on_ad_failed_to_load = on_interstitial_ad_failed_to_load
	interstitial_ad_load_callback.on_ad_loaded = on_interstitial_ad_loaded

# button signal on scene
func _on_load_interstitial_pressed() -> void:
	var unit_id : String
	if OS.get_name() == "Android":
		unit_id = "ca-app-pub-3940256099942544/1033173712"
	elif OS.get_name() == "iOS":
		unit_id = "ca-app-pub-3940256099942544/4411468910"

	InterstitialAdLoader.new().load(unit_id, AdRequest.new(), interstitial_ad_load_callback)

func on_interstitial_ad_failed_to_load(adError : LoadAdError) -> void:
	print(adError.message)

func on_interstitial_ad_loaded(interstitial_ad : InterstitialAd) -> void:
	self.interstitial_ad = interstitial_ad
Show
# button signal on scene
func _on_show_pressed():
	if interstitial_ad:
		interstitial_ad.show()

🎁Rewarded Ads

Load
var rewarded_ad : RewardedAd
var rewarded_ad_load_callback := RewardedAdLoadCallback.new()

func _ready():
	rewarded_ad_load_callback.on_ad_failed_to_load = on_rewarded_ad_failed_to_load
	rewarded_ad_load_callback.on_ad_loaded = on_rewarded_ad_loaded

# button signal on scene
func _on_load_interstitial_pressed() -> void:
	var unit_id : String
	if OS.get_name() == "Android":
		unit_id = "ca-app-pub-3940256099942544/5224354917"
	elif OS.get_name() == "iOS":
		unit_id = "ca-app-pub-3940256099942544/1712485313"

	RewardedAdLoader.new().load(unit_id, AdRequest.new(), rewarded_ad_load_callback)

func on_rewarded_ad_failed_to_load(adError : LoadAdError) -> void:
	print(adError.message)
	
func on_rewarded_ad_loaded(rewarded_ad : RewardedAd) -> void:
	self.rewarded_ad = rewarded_ad
Show
# button signal on scene
func _on_show_pressed():
	if rewarded_ad:
		rewarded_ad.show()

🎁📺Rewarded Interstitial Ads

Load
var rewarded_interstitial_ad : RewardedInterstitialAd
var rewarded_interstitial_ad_load_callback := RewardedInterstitialAdLoadCallback.new()

func _ready():
	rewarded_interstitial_ad_load_callback.on_ad_failed_to_load = on_rewarded_interstitial_ad_failed_to_load
	rewarded_interstitial_ad_load_callback.on_ad_loaded = on_rewarded_interstitial_ad_loaded

# button signal on scene
func _on_load_interstitial_pressed() -> void:
	var unit_id : String
	if OS.get_name() == "Android":
		unit_id = "ca-app-pub-3940256099942544/5354046379"
	elif OS.get_name() == "iOS":
		unit_id = "ca-app-pub-3940256099942544/6978759866"
	
	RewardedInterstitialAdLoader.new().load(unit_id, AdRequest.new(), rewarded_interstitial_ad_load_callback)

func on_rewarded_interstitial_ad_failed_to_load(adError : LoadAdError) -> void:
	print(adError.message)
	
func on_rewarded_interstitial_ad_loaded(rewarded_interstitial_ad : RewardedInterstitialAd) -> void:
	self.rewarded_interstitial_ad = rewarded_interstitial_ad
Show
# button signal on scene
func _on_show_pressed():
	if rewarded_interstitial_ad:
		rewarded_interstitial_ad.show(on_user_earned_reward_listener)

📎Useful links:

📄Documentation

For a complete documentation of this Plugin including how to mediation: check here.

Alternatively, you can check the docs of AdMob itself of Android and iOS.

🙏 Support

If you find our work valuable and would like to support us, consider contributing via these platforms:

Patreon

Ko-fi

Paypal

Your support helps us continue to improve and maintain this plugin. Thank you for being a part of our community!

🆘Getting help

DISCUSSIONS DISCORD

⭐ Star History

If you appreciate our work, don't forget to give us a star on GitHub! ⭐

Star History Chart

godot-admob-plugin's People

Contributors

acb-prgm avatar gianlluca avatar gumaciel avatar kyoz avatar nathanfranke 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  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  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  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-admob-plugin's Issues

[FEATURE] Banner ads: differentiate between loading and showing

Is your feature request related to a problem? Please describe.
Right now in order to show a banner we can call load_banner(), this method loads a banner and shows it. But the problem arises if you need to instantly render a banner, for instance you want to render a banner as soon as the player pauses the game. In that case, if the player pauses for 3-4 seconds then the banner is not likely to appear because is not loaded, it would be helpful to allow to load the banner, and then show it when necessary.

Describe the solution you'd like
I propose that:

  • load_banner(): loads a banner ad, but does not show it
  • show_banner(): shows the previously loaded banner

We should also have a signal informing us that the banner is ready to be shown.

Describe alternatives you've considered
Nothing yet.

Additional context
Interstitial and rewarded ads work like that. The native Admob libraries also differentiate between loading and showing. I think that it makes sense to keep this behaviour in this plugin

ads work when aplicatin name changed

Godot version

3.4.4

Plugin version

1.3.1

System information

Windows 11

Phone information, if applicable

Galaxy s52 5g

Issue description

Game, present in google play store (https://play.google.com/store/apps/details?id=org.godotengine.listki) do not show ads, but when aplication name is changed it show ads as desired.

Steps to reproduce

admob create banner dedicated to aplication in play store

Additional context

link to apk with changed nake of application, ads working
(https://drive.google.com/file/d/1oD4fAEw7wmInKb2cbaG-cFUg627Tthjt/view?usp=sharing)

Position ENUM is wrong on AdMobSettings.gd

Godot version

3.4.4

Plugin version

1.3.0

System information

Windows 11

Phone information, if applicable

No response

Issue description

enum POSITION is {TOP, BOTTOM}

but should be

enum POSITION {BOTTOM, TOP}

see here: https://github.com/Poing-Studios/godot-admob-android/blob/master/admob/src/main/java/com/poing/admob/AdMob.java#L408-L418

same applies to iOS

Steps to reproduce

  1. Go to addons\admob\src\utils\AdMobSettings.gd and see enum POSITION

Additional context

Also need fix size to use BANNER_SIZE[0]

referencing button "pressed" is wrong in Godot 4 and can prevent ad loading

Godot version

4.0.3

Plugin version

Godot 4 v1.0.0

System information

macOS ventura

Phone information, if applicable

N/A

Issue description

Tried using plugin in Godot 4, and I wasn't able to load any banner ads, then found this oddity in the admob settings. Notice how "show_instantly" is set to the pressed signal, when it should be a boolean.

Screenshot 2023-06-06 at 5 01 02 PM

This is because of this line in BannerAdFormat.gd. In Godot 4, the button pressed variable was renamed to button_pressed and pressed is now the signal.

func _on_BannerShowInstantly_pressed():
	AdMobEditor.AdMobSettings.config.banner.show_instantly = $BannerShowInstantly.pressed

it should be this instead:

func _on_BannerShowInstantly_pressed():
	AdMobEditor.AdMobSettings.config.banner.show_instantly = $BannerShowInstantly.button_pressed

This same thing needs to be changed in a few other places. After fixing it, I got working banners again.

Steps to reproduce

press the show instantly button, and plugin settings will be wrong

Additional context

No response

[BUG] godot admob android with c# gives black screen and hangs on android

I used this plugin to add ads to my game( using c#) and when I run my game on android device gives me black screen and hangs, I thought maybe the problem in my code but every thing is fine, so I tried to check test scene which comes with the plugin, I made new project contains only test scene which come with plugin and and replaced gd script by c# script(coming with plugin in test folder) after creating project solution, and checked the project on android, also gave me same result (Black screen and hangs).
Returning to gd script make project works and show ads, but using c# fails.
I followed all c# bugs for this plugin but I can't find any solution, should I use gd script?, I never use it!!!!

`AdMobEditor.tscn` is not well displayed when on 2D main screen

Godot version

3.4.4

Plugin version

1.3.0

System information

Windows 11

Phone information, if applicable

No response

Issue description

AdMobEditor.tscn

image

Steps to reproduce

Go to AdMobEditor.tscn and check

image

Additional context

This is not a serious problem, but it needs to be fixed because when running this scene like this locally, it happens a bug of the UI being cut

image

Have been encountering " Task :mergeDebugResources FAILED " error. Have tried a lot of things but can't get over it. [BUG]

Godot and Plugin Version

Computer Specification (Operational System, CPU, GPU and Resolution(1920x1080)

  • Windows 10
  • AMD 3700X
  • 2x RTX 2070 Super
  • 1920x1080
  • Godot Admob Editor Version 1.2.4
  • Android Standard Template v3.4.4

Describe the bug
I want to use this plugin in order to enable the ads in my project. However, when I enable it, I get the following error (Screenshot Attached) when I try to export the Android APK, and doesn't let me successfully create the APK. I have tried a couple of things to avoid this problem, like:

  1. Changing the resources in the mentioned hidpi folder to JPG formats.
  2. Using the cruncher settings:
    aaptOptions.cruncherEnabled = false
    aaptOptions.useNewCruncher = false
  3. Changing the directory in order to keep the file path under 260 characters.

There is no way apparent to me that would help me to come over this issue. Kindly please help, this is important to me.

However, when I disable the custom build and the Admob plugin from the Exports preset, I do not find any error and the app exports sucessfully, but its of no use as there is no Admob in it.

To Reproduce
Use the plugins and editor versions the same as above to replicate my case.

Screenshots
ErrorSS

Admob App ID and Unitid's are possible to change their values after the application is compiled?

Is your feature request related to a problem? If so, please describe.

I did the Godot game and compiled it as apk. How can I change Admob App ID and Unitid information from the application? Is it possible to use the Admob App ID and unitid dynamically?

What feature or improvement would you like to see?

I did the Godot game and compiled it as apk. How can I change Admob App ID and Unitid information from the application? Is it possible to use the Admob App ID and unitid dynamically?

Additional context

No response

[FEATURE] Should have is_rewarded_video_loaded & is_interstitial_loaded

Describe the solution you'd like

There should be an api to check if there is reward video loaded. Because sometime reward videos doesn't load new video after user watch first one.

With this api, we can easily detect if there's not reward video and let user know.

Something like:

is_interstitial_loaded()
is_rewarded_video_loaded()

[BUG] Dialogue for newer files on disk.

Godot and Plugin Version
Godot 3.3.4, Plugin Version 1.0.1

Computer Specification (Operational System, CPU, GPU and Resolution(1920x1080)

  • OS: Windows 10

Describe the bug
Each time I test-run the app on Windows, it opens a dialogue saying "The following files are newer on disk. What action should be taken?" regarding project.godot.

To Reproduce

  1. Create an empty Project with Godot 3.3.4
  2. Navigate to AdMob on the Godot AssetLib
  3. Click Download
  4. Install with default parameters
  5. Activate the Plugin in Project Settings -> Plugins -> AdMob
  6. Run the included Example.tscn scene
  7. You can close it again, the dialogue remains.
    (Happens each time the project is run again. Same thing happened after adding AdMob to an existing older project)

Expected behavior
No unsynchronous changes to the project file when running the game.

Screenshots
image

Add clicked and impression signals

Is your feature request related to a problem? If so, please describe.

Complete te PR #46

What feature or improvement would you like to see?

Add clicked and impression signals #46

Additional context

No response

[FEATURE] Add "RepectSafeArea" option on Banner Tab

Is your feature request related to a problem? Please describe.
poingstudios/godot-admob-ios#22
poingstudios/godot-admob-android#115

Describe the solution you'd like
Add an option to respect the Android and iOS Safe Area for both platforms, it is recommended to always leave this option true, as AdMob recommends this: https://developers.google.com/admob/ios/x-ad-rendering

Banner ads must be placed in the "Safe Area" to avoid being obscured by rounded corners, sensor housing, and the Home indicator.

Where is the "is real" button?

Godot and Plugin Version
3.3.4 plugin 1.0.0

Computer Specification (Operational System, CPU, GPU and Resolution(1920x1080)

OS: Windows 10 Pro
Version 20H2 (OS Build 19042.1237)
CPU: i7-7700K
GPU: GeforceGTX1080
Resolution: 1920 x 1080

Phone Specification (Android/iOS and Version)

Not using phone, only editor

Describe the bug
"is real" button not there

To Reproduce
Steps to reproduce the behavior:

  1. See the Admob Editor, button is not there

Expected behavior
"is real" button

Screenshots
image

Additional context
Add any other context about the problem here.

Crash when opening game on godot 3.5

Godot version

3.5

Plugin version

1.3.2

System information

windows 10

Phone information, if applicable

Realme gt Android12

Issue description

if i enable admob plugin from export settings, after export,when i try to open the game on phone it crashes.

Steps to reproduce

Export on godot 3.5 with admob 1.3.2 enabled and open the game.

Additional context

No response

Automatic generate version with GitHub Actions

Is your feature request related to a problem? If so, please describe.

Automatize process

What feature or improvement would you like to see?

flowchart TD

A[Runs workflow manually]
B[Checkout on branches 3.5/4.0, etc...]
C[Compress content of branches]
D[Generate semver 'Semantic Version']
E[Create Artifactory of contents with version]
F[Create a new release with tag version generated]

A --> B --> C --> D --> E --> F

Additional context

No response

Mediation Support for Facebook, Ironsouce, etc

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

Describe the solution you'd like
A clear and concise description of what you want to happen.

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.

Additional context
Add any other context or screenshots about the feature request here.

Add option to Mute/Unmute the music of "Example.tscn"

Sometimes it's annoying to listen to the music directly while you're testing, the purpose of playing the music is to test if the game is pausing and unpausing when it appears an Interstitial, Rewarded or InterstitialRewarded ad opens

The Admob plugin does not appear on Godot tab selector

Godot version

4.1.1

Plugin version

3.0.0

System information

Windows 11

Phone information, if applicable

No response

Issue description

After installing the Admob editor plugin from the AssetLib or Github, the Admob tab does not appear on the tab selector. Even if the plugin is enabled in the project settings.

Plugin

TabSelector

The plugin also does not show up on the export settings.
ExportSettings

I have tried manually downloading the android admob plugin and moving it to the android/plugin folder, but this does not resolve the issue.

I also tried creating an empty project on my macbook air m2, and the same issue presists.

Is this a bug or am I doing something wrong?

Steps to reproduce

  1. Create an empty godot 4.1.1 project.
  2. Install Admob plugin from the AssetLib or from github
  3. Enable the plugin in the project settings

Additional context

No response

Make a way to only try to initialize AdMob when have internet connection

Is your feature request related to a problem? If so, please describe.

If the user starts the Game without internet connection and try to initialize AdMob, the AdMob won't be able initialized anymore even with the user has internet connection after that.

What feature or improvement would you like to see?

Check if was internet connection before try to initialize AdMob

Additional context

No response

[BUG] Not showing "real" AdMob button

**Godot and Plugin Version 3.3.4 / 1.1.0 **

Computer Specification (Operational System, CPU, GPU and Resolution(1920x1080)

  • OS: [Windows 10]

Phone Specification (Android)

  • Device: [Xiaomi 9C]

Describe the bug
I cant find real admob button. So banner always test on Android

Screenshots

image_2021-10-16_18-27-35

Additional context
Add any other context about the problem here.

[FEATURE] Banner on CUSTOM position?

Is your feature request related to a problem? Please describe.
the title says it all.
should be like X,Y coordinates from TOP or from BOTTOM
or i can set the position of the banner in the code before creating it?
or set the position on the banner with Percentage?

(BREAKING CHANGES) Refactoring MobileAds API to v3.0.0

Is your feature request related to a problem? If so, please describe.

This change intends to change many of the plugins in all aspects, in order to make the plugin more dynamic and easy to use, it is necessary almost completely to redo the plugin to meet the use of mediation.

⚠️WARNING⚠️:

  • No long support for Godot 3 due to the high complexity of refactoring (but there's the godot3 branch such as the supported versions in the release tab)
  • Next tag release will be v3.0.0, when Godot 5 arrives probably will be v4.0.0, and create a branch to store the old version.
  • Will be release with Android and iOS version

What feature or improvement would you like to see?

✅GOALS✅

  • Create an Interface of MobileAds class with GDScript with the most important methods used on AdMob.

Example:

extends Control

func _ready() -> void:
	MobileAds.initialize(OnInitializationCompleteListener.new(_on_initialization_complete))

func _on_initialization_complete(initialization_status : InitializationStatus) -> void:
	for key in initialization_status.adapter_status_map:
		var adapterStatus : AdapterStatus = initialization_status.adapter_status_map[key]
		prints(key, adapterStatus.latency, adapterStatus.initialization_status, adapterStatus.description)

Android documentation: https://developers.google.com/admob/android/mediate#java

import com.google.android.gms.ads.MobileAds;
import com.google.android.gms.ads.initialization.AdapterStatus;
import com.google.android.gms.ads.initialization.InitializationStatus;
import com.google.android.gms.ads.initialization.OnInitializationCompleteListener;

public class MainActivity extends AppCompatActivity {

    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        MobileAds.initialize(this, new OnInitializationCompleteListener() {
            @Override
            public void onInitializationComplete(InitializationStatus initializationStatus) {
                Map<String, AdapterStatus> statusMap = initializationStatus.getAdapterStatusMap();
                for (String adapterClass : statusMap.keySet()) {
                    AdapterStatus status = statusMap.get(adapterClass);
                    Log.d("MyApp", String.format(
                            "Adapter name: %s, Description: %s, Latency: %d",
                            adapterClass, status.getDescription(), status.getLatency()));
                }

                // Start loading ads here...
            }
        });
    }
}

Other goals could be increased during the development

Additional context

Should be in the next minor release (e.g.: v3.1.0):

  • Creational of Unit Tests to have a little more assurance the plugin will work well (probably use gdUnit4)

Release Planning, Version Support, and Versioning:

#87

Calendar Version Support:

#88

Change some buttons for debug (is_real, debug_on_release)

  • debug_on_release
  • is_real

Why:

  • The is_real button is talked about a lot in Issues/Discussions, making it sometimes really necessary to set it to true or false
  • The debug_on_release button will make what is checked in the debug tab also prevail when the app goes to production

Add License Into `addons/admob` folder

Is your feature request related to a problem? If so, please describe.

The license is missing from the content that the end user downloads

What feature or improvement would you like to see?

Add License Into addons/admob folder

Additional context

No response

Installation instructions should prefer asset library

Is your feature request related to a problem? Please describe.
Manual installation is unnecessary, since the asset library is built in and is usually up to date

Describe the solution you'd like
I would just swap around the instructions in the README and add a note that the manual installation is only needed if you are using bleeding edge versions.

Describe alternatives you've considered
.

Additional context
.

AdMobEditor node it null in some tabs

Godot version

4.1.1

Plugin version

1.0.0

System information

any

Phone information, if applicable

No response

Issue description

I installed the plugin from Assetlib on Godot 4.1.1. In some tabs the node the following statement cannon get the node because it is not parent.
@onready var AdMobEditor : Control = find_parent("AdMobEditor")
I printed the parents using get_path() and AdMobEditor is not in the path so it returns null and cause many issues.

Steps to reproduce

1- Go to the plugin UI
2- Go to Banner tab and save it will save any thing

Additional context

No response

Export the project for Windows, Mac and Linux

Is your feature request related to a problem? If so, please describe.

Today, to work with AdMob, we only have to download the Addon from Godot and use it for the project.

But let's consider the following question: You have several projects that use AdMob, for you to have control over AdMob in each project you need to download the Addon for each one and this in a way can cause extra work.

Also, to use AdMob, we usually need to have the "AdMob" tab active on the top tab and normally we don't need to have it always there.

image

So I highlight the "problems":

  1. No flexibility to change AdMob settings in different projects
  2. "AdMob" tab usually appears to the developer, but he will rarely use it

What feature or improvement would you like to see?

First of all, we need to manage the AdMob versions directly in Godot project because if the user's AdMob Editor version is 1.3.0 and it has a newer version like: 1.4.0, it can break his project for the following reasons:

1.4.0 is a "minor" version, which means that there were probably small changes in the code generally related to the Android or iOS Plugin API call, if the user uses this version we must warn the user to update the Plugins to the appropriate versions because may break the App with errors.

This change also consists of changing the Editor, what will differ from the Editor for the Desktop version will be that it will have a part to select the project and edit it

So I believe it needs: (Issues need to be created to relate)

  1. Create CI/CD to release for Windows, Mac and Linux
  2. Select the project and be able to edit the AdMob values
  3. Check the version of Editor and ask to update
  4. Check the version of Android and ask to update
  5. Check the version of iOS and ask to update
  6. Install Android Dynamically
  7. Install iOS Plugins Dynamically

Additional context

Sample
image

Add more information on Debug Tab

Is your feature request related to a problem? If so, please describe.

Some attributes are not as clear as: Is Real and Is Test Europe User Consent will only be respected if Is Debug On Release is true

What feature or improvement would you like to see?

Add more information on Debug Tab, like: Descripton of the attributes and a Confirm Dialog

Additional context

No response

`.gitattributes` is not ignoring all files to export

Godot version

3.4.4

Plugin version

1.3.0

System information

Windows 11

Phone information, if applicable

No response

Issue description

The .gitattributes file is wrong, it is not ignoring all files that should be ignored to download plugin, for example, if some other file not currently listed is added, the user will be able to download

Steps to reproduce

Try to add a new file outside the assets folder, generate a new version into https://godotengine.org/asset-library/asset and see that it will download the file

Additional context

No response

Add a Sample Project to the repository's source code

Is your feature request related to a problem? If so, please describe.

Every time you want to develop on a new computer, you'll need to create a new project and then add addons, it's a lot of work.

What feature or improvement would you like to see?

Add a Sample Project to the repository's source code.

It can be a simple game.

Additional context

Note: The test/Example.tscn scene will continue to exist, it serves to test all possible AdMob calls

Banner isn't at the bottom of the screen on iPhone 12 Pro

Godot version

3.5.1

Plugin version

v2.1.1

Phone information

iPhone 12 Pro, ios 16

Issue description

screenshot-iPhone 12 Pro-16 0

The banner isn't at the bottom of the screen -- instead, it has crept up to cover my content.

Steps to reproduce

This seems to be true whether or not I have respect_safe_area turned on.

Additional context

No response

Support Godot 4.0

Is your feature request related to a problem? If so, please describe.

Soon Godot 4.0 will arrive, and a lot of users will use it, we need to support the Godot 4.0 as soon as possible.

What feature or improvement would you like to see?

Support Godot 4.0

Additional context

No response

[BUG] Test Ads Still Appearing in App When "Real" is Checked.

Godot and Plugin Version

Computer Specification (Operational System, CPU, GPU and Resolution(1920x1080)

  • OS: [e.g. Catalina]
  • Version [e.g. 10.15.7 (19H15)]

Phone Specification (Android/iOS and Version)

  • Device: [e.g. iPhoneX]
  • OS: [e.g. iOS8.1]

Describe the bug
Ads still appearing in test mode despite "real" being checked

To Reproduce
Steps to reproduce the behavior:
Add enable real ads and export to IPhone.

Expected behavior
real ads to be shown

Screenshots
If applicable, add screenshots to help explain your problem.

Additional context
I have just re-exported and ensured "real" is checked and made sure to export as a release. I submitted it to the app store for review so I'll let you know when I am approved and if the problem persists on my new version. The app is about 3 weeks old now so it is weird that they are no appearing as real.

Question about Ad unit id

Is your feature request related to a problem? Please describe.
I found I can edit ad unit id in Admob editor, there are default test unit id with standard key. What does the standard key mean? Are there options for key rather than standard? The standard key can only be edited rather than select one option. How do I test it with real unit id export as no debug?

Describe the solution you'd like
I just edited the default test unit id to real unit id, but I will lose the default test unit id when I want to export project as debug.

Describe alternatives you've considered
Is there a way to keep the test unit id and add a new real unit id in the editor and the editor will select to correct unit id based on the selection on debug or not when export it?

Additional context
What I talked about is the unit id for each ad in Admob editor in Godot.

Error appears when importing the addon `Cannot open file 'music-ogg'`

Godot version

3.4.4

Plugin version

1.3.0

System information

Windows 11

Phone information, if applicable

No response

Issue description

An error appears when importing the addon:

Cannot open file 'res://.import/music-ogg-68.....oggstr'.

Steps to reproduce

  1. Download the Plugin from AssetLib or Manual
  2. Install
  3. See the error on Output

Additional context

No response

AdMob Editor not saving my changes

Godot and Plugin Version
3.3.4 plugin 1.0.0

Computer Specification (Operational System, CPU, GPU and Resolution(1920x1080)

  • OS: Windows 10 Pro
  • Version 20H2 (OS Build 19042.1237)
  • CPU: i7-7700K
  • GPU: GeforceGTX1080
  • Resolution: 1920 x 1080

Phone Specification (Android/iOS and Version)

  • Not using phone, only editor

Describe the bug

  1. Added values ad id values for IOS in the AdMob editor. Save & quit, thereafter restarting, and going back into the editor, those entries are not saved. I have to re-enter them.
  2. When editing an entry using the button "EDIT", then "OK", after saving and restarting, these are also not saved.

To Reproduce
Steps to reproduce the behavior:

  1. Open the Admob editor
  2. Under the Banner tab, IOS tab, click "ADD" and enter the info.
  3. Hit "OK". Now exit the GODOT and restart it.
  4. Go back to those values to see if they are still there.
  5. Under the Android entries tab, edit an existing entry. Hit "OK". Close and restart Godot, See if the info has been saved.

Expected behavior
After hitting "OK" it should save it for IOS and Android, both when adding entries and editing existing entries.

Screenshots
New entry
image
After restarting Godot:
image

In General, settings also not saved:
image
And after restarting Godot:
image

Before editing:
image
After editing:
image
After restarting, to discover that it didn't save:
image

Additional context
Add any other context about the problem here.

Button `Enabled` on `General` Tab needs an advice to what happens if is false

Is your feature request related to a problem? If so, please describe.

This button is important, because it can happen that the user clicks accidentally and doesn't understand why the ads are not working for the end user

What feature or improvement would you like to see?

Adding a dialog button warns that if you change the value of this button, the ads will no longer work for the user

Additional context

The functionality of this button is so that if the user wants to add an IAP for the user to buy a version without ads, it is possible by disabling the plugin

Editing Interstitial iOS ID is not saved

Godot version

4.0.2

Plugin version

1.0.0

System information

Windows

Phone information, if applicable

No response

Issue description

When using your plugin (amazing by the way), I changed the standard ID for Interstitial for iOS.
It appeared that when I finished to edit it and quit godot, it was not saved when I came back

As you can see on my VIM software, standard is removed and get empty
image

I found a workaround. I update UNITY IDS with my value. Then i add a second one with dummy values. And I remove second one directly

Steps to reproduce

  1. Open AdMob plugin on godot
  2. Go to interstitial
  3. Go to iOS
  4. Update standard value (in ca-app-***) by clicking edit and ok
  5. Close godot and reopen
  6. The value is not saved

Additional context

No response

Create Action for generate artifact when a PR arrives

Is your feature request related to a problem? If so, please describe.

If someone wants to collaborate with the plugin, it would be nice to run some Action that generate Artifacts of the change, in order to help other people to test

What feature or improvement would you like to see?

Flowchat diagram Mermaid UML of Action:

flowchart LR

PR --> workflow_pull_request --> build[Generates build of PR]

Additional context

No response

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.