adBreak()

Chữ ký hàm:

adBreak(
   type: '<type>',                     // The type of this placement
   name: '<name>',                     // A descriptive name for this placement
   beforeAd: () => {},                 // Prepare for the ad. Mute and pause the game flow
   afterAd: () => {},                  // Resume the game and re-enable sound
   beforeReward: (showAdFn) => {},     // Show reward prompt (call showAdFn() if clicked)
   adDismissed: () => {},              // Player dismissed the ad before completion
   adViewed: () => {},                 // Ad was viewed and closed
   adBreakDone: (placementInfo) => {}, // Always called (if provided) even if an ad didn't show
);

Thông số adBreak()

Tên Loại Nội dung mô tả
Tất cả các loại vị trí
type chuỗi

Loại vị trí. Giá trị:

  • 'preroll' trước khi trò chơi tải (trước khi giao diện người dùng hiển thị)
  • 'start' trước khi bắt đầu chơi trò chơi (sau khi giao diện người dùng đã hiển thị)
  • 'pause' người chơi tạm dừng trò chơi
  • 'next' người chơi chuyển đến cấp tiếp theo
  • 'browse' người chơi khám phá các lựa chọn bên ngoài lối chơi
  • 'reward' quảng cáo có tặng thưởng
name chuỗi (OPTIONAL) tên cho vị trí đặt quảng cáo cụ thể này trong trò chơi của bạn. Đó là giá trị nhận dạng nội bộ và không hiển thị cho người chơi. Trong các bản phát hành trong tương lai, bạn có thể dùng giá trị nhận dạng này để bật các tính năng báo cáo và tối ưu hóa bổ sung.

Bạn nên đặt tên cho tất cả vị trí.
beforeAd hàm (OPTIONAL) Được gọi trước khi quảng cáo hiển thị. Trò chơi sẽ tạm dừng và tắt tiếng. Bạn phải thực hiện các hành động này một cách đồng bộ. Quảng cáo sẽ hiển thị ngay sau khi lệnh gọi lại này kết thúc.
afterAd hàm (KHÔNG BẮT BUỘC) Được gọi sau khi quảng cáo kết thúc (vì bất kỳ lý do gì). Đối với quảng cáo có tặng thưởng, lệnh gọi được gọi sau adDismissed hoặc adViewed, tùy thuộc vào hành động của người chơi. Bạn nên dùng hàm này để tiếp tục luồng trò chơi. Ví dụ: dùng để bật âm thanh và bắt đầu âm thanh tiếp theo.
adBreakDone hàm (OPTIONAL) Luôn được gọi là bước cuối cùng trong adBreak(), ngay cả khi không có quảng cáo nào hiển thị. Hàm này lấy đối số placementInfo làm đối tượng được xác định như sau:
{
    breakType: '<type>',
    breakName: '<name>',
    breakFormat: 'interstitial|reward',
    breakStatus:  'error|noAdPreloaded|...|viewed',
}
Hãy xem adBreakDoneplacementInfo() để biết nội dung giải thích chi tiết về đối tượng thông tin vị trí.
Chỉ vị trí được tặng thưởng...
beforeReward hàm Được gọi nếu có quảng cáo có tặng thưởng. Hàm này phải nhận một đối số duy nhất – showAdFn() phải được gọi để hiển thị quảng cáo có tặng thưởng.
adDismissed hàm Chỉ được gọi cho quảng cáo có tặng thưởng khi người chơi đóng quảng cáo. Lệnh này chỉ được gọi nếu trình phát đóng quảng cáo trước khi hoàn tất. Trong trường hợp này, bạn không được trao phần thưởng.
adViewed hàm Chỉ được gọi cho quảng cáo có tặng thưởng khi người chơi hoàn tất quảng cáo và nên được nhận phần thưởng.

adBreakDone() and placementInfo

Nếu API Vị trí đặt quảng cáo không có quảng cáo để hiển thị, thì API này sẽ không gọi các lệnh gọi lại khác nhau trước/sau mà bạn chuyển. Tuy nhiên, nếu bạn cung cấp lệnh gọi lại adBreakDone(), lệnh này sẽ luôn được gọi, ngay cả khi quảng cáo không hiển thị. Điều này cho phép bạn thực hiện mọi công việc bổ sung có thể cần làm cho vị trí, chẳng hạn như ghi nhật ký số liệu phân tích bổ sung về vị trí đó.

Hàm adBreakDone() lấy đối số placementInfo làm đối tượng xác định như sau:

{
  breakType: '<type>',
  breakName: '<name>',
  breakFormat: 'interstitial|reward',
  breakStatus: 'notReady|timeout|error|noAdPreloaded|frequencyCapped|ignored|other|dismissed|viewed',
}

Trong đó các trường trong đối tượng này có ngữ nghĩa sau:

  • breakType là đối số loại được chuyển đến adBreak()
  • breakName là đối số tên được chuyển đến adBreak()
  • breakStatus là trạng thái của vị trí này và có thể là một trong những giá trị sau:
breakStatus Lý do
'notReady' API Vị trí đặt quảng cáo chưa khởi chạy
'timeout' Vị trí đã hết thời gian chờ do API Vị trí đặt quảng cáo mất quá nhiều thời gian để phản hồi
'invalid' Vị trí không hợp lệ và bị bỏ qua – ví dụ: chỉ nên có một vị trí trước video cho mỗi lượt tải trang, các quảng cáo đầu video tiếp theo không thành công với trạng thái này
'error' Đã xảy ra lỗi JavaScript trong lệnh gọi lại
'noAdPreloaded' Quảng cáo chưa được tải trước nên vị trí này đã bị bỏ qua
'frequencyCapped' Quảng cáo không được hiển thị vì giới hạn tần suất đã được áp dụng cho vị trí này
'ignored' Người dùng không nhấp vào lời nhắc về phần thưởng trước khi họ đến vị trí tiếp theo, tức là showAdFn() không được gọi trước adBreak() tiếp theo.
'other' Quảng cáo không hiển thị vì một lý do khác. (ví dụ: Quảng cáo này vẫn đang được tìm nạp hoặc quảng cáo đã được lưu vào bộ nhớ đệm trước đó đã bị xử lý vì màn hình đã được đổi kích thước/xoay.)
'dismissed' Người dùng đã đóng quảng cáo có tặng thưởng trước khi xem hết
'viewed' Quảng cáo đã được người dùng xem

Lưu ý: adBreakDone() luôn là lệnh gọi lại cuối cùng mà adBreak() gọi.

Nếu bạn sử dụng afterAd() để huỷ tạm dừng trò chơi sau khi quảng cáo đã hiển thị, thì adBreakDone() sẽ được gọi sau khi trò chơi của bạn đã khởi động lại. Những việc như ghi nhật ký số liệu phân tích có thể phù hợp, nhưng nếu bạn muốn thực hiện thêm thao tác trước khi trò chơi khởi động lại, hãy chuyển logic để huỷ tạm dừng trò chơi từ afterAd() sang adBreakDone().