管理广告

您可以通过在游戏中放置广告单元来获得收入。为此:

  1. 请研究广告投放的特点和建议。
  2. 使用 SDK 配置广告调用。
  3. 在开发人员控制台中启用变现。

配置广告调用

插屏广告

带广告的区块,完全覆盖应用,并在用户请求某些信息(例如,进入游戏下一关时)与获得该信息之间展示。

要调用广告,请使用 ysdk.adv.show_fullscreen_adv() 方法。

ysdk.adv.show_fullscreen_adv(callbacks: table)

callbacks: table —— 可选的回调函数。为每个广告单元单独配置。

  • on_close —— 在广告关闭、发生错误或广告因调用过于频繁而未能打开时调用。与 wasShown 参数(boolean 类型)一起使用,它的值表示是否显示了广告。

  • on_open —— 在成功打开广告的时候调用。

  • on_error —— 在发生错误的时候调用。错误对象会传递给回调函数。

  • on_offline —— 在网络连接丢失(进入离线模式)时被调用。

示例

1ysdk.adv.show_fullscreen_adv({
2    on_close = function (self, was_shown)
3        -- 关闭后的操作。
4    end,
5    on_error = function (self, error)
6        -- 发生错误时的操作。
7    end
8})

奖励视频

带视频广告的区块,用户观看后可获得奖励,例如游戏内货币。

要调用广告,请使用 ysdk.adv.show_rewarded_video() 方法。

ysdk.adv.show_rewarded_video(callbacks: table)

callbacks: table —— 可选的回调函数。为每个广告单元单独配置。

  • on_close —— 在用户关闭视频广告的时候调用。

  • on_open —— 在屏幕上显示视频广告的时候调用。

  • on_error —— 在发生错误的时候调用。错误对象会传递给回调函数。

  • on_rewarded —— 在计算视频广告展示次数的时候调用。请在此函数中指定用户观看后将获得的奖励。

示例

 1ysdk.adv.show_rewarded_video({
 2    on_open = function (self)
 3        print("Video ad open")
 4    end,
 5    on_close = function (self)
 6        print("Rewarded!")
 7    end,
 8    on_rewarded = function (self)
 9        print("Video ad closed.")
10    end,
11    on_error = function (self, error)
12        print("Error while open video ad: " .. error)
13    end
14})

粘性横幅

游戏过程中展示的广告块。

关于在开发人员控制台中启用粘性横幅,请参阅主要文章。

默认情况下,粘性横幅在游戏启动时出现,并在整个会话期间显示。要配置横幅的显示时机:

  1. 在 Sticky banners 块中启用 Use the API to display a sticky-banner 选项。
  2. 使用以下方法设置横幅显示:
    • ysdk.adv.get_banner_adv_status() —— 显示横幅状态。
    • ysdk.adv.show_banner_adv() —— 调用横幅。
    • ysdk.adv.hide_banner_adv() —— 移除横幅。

方法 ysdk.adv.get_banner_adv_status() 返回 sticky_adv_is_showing: boolean 值。如果 sticky_adv_is_showing = false,方法 ysdk.adv.get_banner_adv_status() 可能返回可选字段 reason,其中包含可能的原因:

  • ADV_IS_NOT_CONNECTED —— 横幅未连接。
  • UNKNOWN —— 在 Yandex 端显示广告时出错。

示例

 1ysdk.adv.get_banner_adv_status(
 2    function (self, sticky_adv_is_showing, reason)
 3        if sticky_adv_is_showing then
 4            -- 显示广告。
 5        elseif reason then
 6            -- 不显示广告。
 7            print(reason)
 8        else
 9            ysdk.adv.show_banner_adv()
10        end
11    end
12)

存储库
上一篇
下一篇