BasilYes / godot-yandex-games-sdk

Yandex games SDK implementation for godot
MIT License
81 stars 6 forks source link

Реклама show_interstitial_ad и show_rewarded_ad. #19

Closed iobda closed 1 month ago

iobda commented 1 month ago

Не могли бы вы показать примеры использования, примеры возвратного сигналов signal rewarded_ad(result) и signal interstitial_ad(result)? Какого типа result? Это string? Я не понимаю как проверить просмотр пользователем рекламы полностью.

BasilYes commented 1 month ago

image Возвращает строки прямо как показано в документации

iobda commented 1 month ago

image Возвращает строки прямо как показано в документации

Но как подключиться к сигналу? Через пример ниже не выходит от слова совсем) Там больше условий у if на проверку сигнала, но в любом случае ничего не происходит `func _ready() -> void: YandexSDK.rewarded_ad.connect(_reward_ad_button_press)

func _reward_ad_button_press() -> void: YandexSDK.show_rewarded_ad() if result == 'rewarded': first.text = 'rewarded'`

BasilYes commented 1 month ago

Читай пожалуйста как работают сигналы в годоте. Официальная документация в помощь. в твоем случае

func _ready() -> void:
  YandexSDK.rewarded_ad.connect(rewarded)

func _reward_ad_button_press() -> void:
  YandexSDK.show_rewarded_ad()

func rewarded(result) -> void:
  if result == 'rewarded':
    first.text = 'rewarded'
mrfrolic555 commented 1 month ago

На будущее кому либо если такая же проблема: я новичок в godot, решил покопаться в том как подключиться к яндекс sdk и как подключить rewarded рекламу по нажатии на кнопку "получить миллион долларов" (экспериментальная псевдо игра) image нигде нет инфы по поводу godot и яндекс игры и этот аддон конечно спасение, НО

image Я подключил сигнал в func _ready() YandexSDK.rewarded_ad.connect(rewarded_ad_result) С этим кодом ничего не работало. Деньги не прибавлялись. Главное показывается реклама (то есть сама реклама при нажатии кнопки работает) но не прибавляются деньги после её окончания. Я долго ломал над этим голову. Может быть проблема в сигнале или что то? image Потом я открыл для себя существование консоли в браузере и она начала мне говорить о том, что проблемы на 105 строчке. if result == 'rewarded':

В итоге я решил проблему именно так (спасибо chatgpt): image

То есть нужно было перевести result (который является массивом) в string (у меня это status) и после этого уже string сравнивать с 'rewarded'. Не думаю что проверка if typeof(result) == TYPE_ARRAY and result.size() > 0 обязательна, но пусть будет. Теперь показывается реклама и после окончания рекламы прибавляется нужная сумма денег.

Короче хз была ли у кого то такая проблема или я один такой, но на всякий случай