README.md

    Godot Yandex Ads

    Плагин под Godot 4.2+ для интеграции Яндекс рекламы с медиацией

    Подробности про использование Yandex Ads SDK в андроид описаны в документации

    Реклама

    Настройка рекламы

    Реклама настраивается в партнерском кабинете яндекса. Всю информацию по настройке рекламы можно найти в официальной документации Яндекса

    Важно отметить, что плагин поддерживает работу с медиацией. Вы можете подключать другие сетки в кабинете Яндекса и они будут работать через этот плагин

    Для правильной работы рекламы AdMob вам необходимо изменить код в файле GodotYandexAds/export_yandex_ads.gd. В методе _get_android_manifest_application_element_contents нужно указать правильное значение APPLICATION_ID. Подробности про реботу с AdMob в документации Google

    Интеграция

    Для интеграции нужно скачать архив со страницы релизов и скопировать плагин в папку addons/GodotYandexAds

    Необходимо включить плагин через меню Project > Project Settings, выбрать вкладку Plugins и отметить как Enable плагин с названием “GodotYandexAds”

    Использование

    Плагин позволяет интегрировать разные форматы рекламы в приложение:

    • Адаптивный inline-баннер — гибкий формат баннерной рекламы, обеспечивающий максимальную эффективность за счет оптимизации размера рекламы для каждого устройства.
    • Адаптивный sticky-баннер — небольшое, автоматически обновляемое рекламное объявление, которое располагается внизу или вверху экрана приложения. Баннер не перекрывает основной контент приложения и часто используется в приложениях-играх.
    • Межстраничная реклама (interstitial) — полноэкранный формат рекламы, встраиваемый в контент приложения во время естественных пауз, таких как переход между уровнями игры или окончание выполнения целевого действия.
    • Реклама с вознаграждением (rewarded) — популярный полноэкранный формат объявления, за просмотр которого пользователь получает поощрение.
    • Реклама при открытии приложения (appopen) — специальный формат рекламы для монетизации экранов загрузки своих приложений. Такие объявления могут быть закрыты в любое время и предназначены для показа, когда пользователи выводят ваше приложение на передний план (foreground), либо при запуске, либо при возврате в него из фонового режима (background).

    Пример как в коде использовать плагин:

    extends Node2D
    
    var _plugin_name = "GodotYandexAds"
    
    @onready var interstitial_button = $CanvasLayer/VBoxContainer/Interstitial
    @onready var rewared_button = $CanvasLayer/VBoxContainer/Rewarded
    @onready var banner_button = $CanvasLayer/VBoxContainer/Banner
    
    
    func _ready():
        rewared_button.pressed.connect(_on_rewarded_button_pressed)
        interstitial_button.pressed.connect(_on_interstitial_button_pressed)
        banner_button.pressed.connect(_on_banner_button_pressed)
    
        print(Engine.has_singleton(_plugin_name))
    
        if Engine.has_singleton(_plugin_name):
            var ads = Engine.get_singleton(_plugin_name)
    
            ads.banner_loaded.connect(_on_ad_loaded)
            ads.banner_on_impression.connect(_on_impression)
    
            ads.interstitial_loaded.connect(_on_ad_loaded)
            ads.interstitial_ad_shown.connect(_on_ad_shown)
            ads.interstitial_on_impression.connect(_on_impression)
    
            ads.rewarded_loaded.connect(_on_ad_loaded)
            ads.rewarded_ad_shown.connect(_on_ad_shown)
            ads.rewarded_rewarded.connect(_on_rewarded)
            ads.rewarded_on_impression.connect(_on_impression)
    
            ads.appopen_loaded.connect(_on_ad_loaded)
            ads.appopen_ad_shown.connect(_on_ad_shown)
            ads.appopen_on_impression.connect(_on_impression)
    
            ads.loadBanner("demo-banner-yandex", {"size_type": "sticky", "width": 300, "position":0})
            ads.loadInterstitial("demo-interstitial-yandex")
            ads.loadRewarded("demo-rewarded-yandex")
            ads.loadAppopen("demo-appopenad-yandex")
    
    
    func _process(delta):
        pass
    
    
    func _on_banner_button_pressed():
        if Engine.has_singleton(_plugin_name):
            var ads = Engine.get_singleton(_plugin_name)
            ads.showBanner("demo-banner-yandex")
    
    
    func _on_interstitial_button_pressed():
        if Engine.has_singleton(_plugin_name):
            var ads = Engine.get_singleton(_plugin_name)
            ads.showInterstitial("demo-interstitial-yandex")
    
    
    func _on_rewarded_button_pressed():
        if Engine.has_singleton(_plugin_name):
            var ads = Engine.get_singleton(_plugin_name)
            ads.showRewarded("demo-rewarded-yandex")
    
    
    func _on_rewarded(id: String, data: Dictionary):
        print("_rewarded: " + id)
        print(data)
    
    
    func _on_ad_loaded(id: String):
        print("_ad_loaded: " + id)
    
    
    func _on_ad_shown(id: String):
        print("_ad_shown: " + id)
    
    
    func _on_impression(id: String, data: String):
        print("_on_impression: " + id)
        print(data)
    

    В этом примере используются демонстрацонные идентификаторы для юнитов разных форматов: demo-banner-yandex, demo-interstitial-yandex, demo-rewarded-yandex

    Доступные методы

    Общие методы

    • init() - ручная инициализация SDK рекламы
    • enableLogging(value: Boolean) - принудительное включение/выключения логирования
    • setUserConsent(value: Boolean) - включение/выключение учета пользовательского контекста при подборе рекламы
    • setLocationConsent(value: Boolean) - включение/выключение учета локации при подборе рекламы
    • setAgeRestrictedUser(value: Boolean) - включение/выключение учета возрастного ограничения при подборе рекламы

    Методы для работы с баннерами

    • loadBanner(id: String, params: Dictionary) - загрузка баннера по идентификатору
    • showBanner(id: String) - показ загруженного баннера
    • removeBanner(id: String) - удаление баннера по идентификатору
    • hideBanner(id: String) - метод для скрытия баненра по идентификатору

    Методы для работы со стишелами

    • loadInterstitial(id: String) - загрузка и подготовка стишела по идентификатору
    • showInterstitial(id: String) - показ стишела по идентификатору
    • removeInterstitial(id: String) - удаление стишела по идентификатору

    Методы для работы с ревардед

    • loadRewarded(id: String) - загрузка ревордед по идентификатору
    • showRewarded(id: String) - показ ревардед по идентификатору
    • removeRewarded(id: String) - удаление ревардед по идентификатору

    Методы для работы с аппопен

    • loadAppopen(id: String) - загрузка аппопен юнита по идентификатору
    • removeAppopen() - удаление аппопен

    Доступные настройки для баннера

    Список настроек для баннера:

    • position - можно указывать где будет баннер: 1 - сверху, 0 - внизу. Значение по умолчанию - 0
    • size_type - указывает тип баннреа, может иметь значение "sticky" или "inline"
    • safe_area - нужно ли учитывать безопасную зону экрана. Принимает значение true или false по умолчанию true
    • width - ограничение баннер по ширине
    • height - ограничение баннера по высоте. Имеет значение только для sticky баннера

    Доступные сигналы

    Общие сигналы

    • ads_initialized - срабатывает при инициализации плагина

    Сигналы для баннеров

    • banner_loaded(id: String) - срабатывает при загрузке баннера. В параметрах передается id
    • banner_failed_to_load(id: String, error: Int) - срабатывает при проблеме с загрузкой баннера. В папарметрах передается идентификатор id баннера и код ошбики error
    • banner_ad_clicked(id: String) - сигнал для обработки клика по баннеру. В апарметрах передается идентификатор баннера id
    • banner_left_application(id: String) - срабатывает когда пользователь уходит из приложения, например при переходу в браузер при по клике на баннеру. В параметрах передается идентификатор баннера id
    • banner_returned_to_application(id: String) - срабатывает когда пользователь возвращается в приложение после клика по баннеру. В параметрах передается индетификатор баннера id
    • banner_on_impression(id: String, impression: ImpressionData) - срабатывает во время зучета показа рекламы. В параметрах передается идентификатор баннера id и данные показа impression

    Сигналы для интерстишелов

    • interstitial_loaded(id: String) - срабатывает при загрузке стишела. В параметрах передается id
    • interstitial_failed_to_load(id: String, error: Int) - срабатывает при проблеме с загрузкой стишела. В параметрах передается идентификатор id стишела и код ошбики error
    • interstitial_failed_to_show(id: String, error: Int) - срабатывает при ошибке во время попытки показать стишел. В параметрах передается идентификатор id стишела и код ошбики error
    • interstitial_ad_shown(id: String) - срабатывает при показе стишела. В параметрах передается идентификатор id
    • interstitial_ad_dismissed(id: String) - срабатыает при закрытии стишела. В параметрах передается идентификатор id
    • interstitial_ad_clicked(id: String) - срабатывает при клике по стишелу. В параметрах передается идентификатор id
    • interstitial_on_impression(id: String, impression: ImpressionData) - срабатывает во время учета показа рекламы. В параметрах передается идентификатор баннера id и данные показа impression

    Сигналы для ревардед

    • rewarded_loaded(id: String) - срабатывает при загрузке ревардед. В параметрах передается id
    • rewarded_failed_to_load(id: String, error: Int) - срабатывает при проблеме с загрузкой ревардед. В параметрах передается идентификатор id ревардед и код ошбики error
    • rewarded_ad_shown(id: String) - срабатывает при показе ревордед. В параметрах передается идентификатор id
    • rewarded_ad_dismissed(id: String) - срабатыает при закрытии ревардед. В параметрах передается идентификатор id
    • rewarded_rewarded(id: String, reward: Dictionary) - сигнализирует о получении пользователем вознаграждения. В параметрах передается идентификатор id и информация о вознаграждении reward
    • rewarded_ad_clicked(id: String) - срабатывает при клике по ревардед. В параметрах передается идентификатор id
    • rewarded_on_impression(id: String, impression: ImpressionData) - срабатывает во время учета показа рекламы. В параметрах передается идентификатор баннера id и данные показа impression
    Описание

    Плагин для yandex рекламы в играх на godot

    Конвейеры
    0 успешных
    0 с ошибкой