Làm quen với tín hiệu an toàn

Chọn nền tảng: HTML5 Android iOS tvOS

Tín hiệu an toàn là dữ liệu được mã hoá, được thu thập trên thiết bị của khách hàng và chia sẻ với một số bên đặt giá thầu. Hướng dẫn này cho bạn biết cách thu thập và gửi tín hiệu an toàn đến Google Ad Manager bằng SDK IMA.

API tín hiệu an toàn yêu cầu phiên bản 3.29.0 trở lên của IMA SDK cho Android.

Để chọn tín hiệu và bên đặt giá thầu, đồng thời bật tính năng chia sẻ tín hiệu an toàn, hãy xem phần Chia sẻ tín hiệu an toàn với bên đặt giá thầu.

Sử dụng nhà cung cấp tín hiệu bên thứ ba

Để sử dụng tín hiệu an toàn, bạn phải triển khai một lớp bộ chuyển đổi bộ thu tín hiệu trong ứng dụng của mình để thu thập tín hiệu, mã hoá tín hiệu và truyền tín hiệu đó đến SDK IMA.

Làm theo hướng dẫn của nhà cung cấp bên thứ ba để thiết lập tài khoản với họ, thêm các phần phụ thuộc bản dựng và thiết lập bộ chuyển đổi tín hiệu an toàn của họ trong ứng dụng của bạn.

IMA SDK cho Android sẽ tự động khởi chạy từng bộ chuyển đổi tín hiệu an toàn mà không cần thay đổi nào khác đối với mã của bạn.

Sau đây là ví dụ về cách bạn có thể thêm một bộ chuyển đổi tín hiệu an toàn vào dự án của mình:

Gửi dữ liệu tuỳ chỉnh

Ngoài việc sử dụng nhà cung cấp tín hiệu bên thứ ba, bạn cũng có thể thu thập, mã hoá và gửi tín hiệu bằng dữ liệu tuỳ chỉnh. Trước khi có thể gửi tín hiệu an toàn bằng dữ liệu tuỳ chỉnh, bạn phải bật tín hiệu tuỳ chỉnh trong Ad Manager.

Đối với mỗi yêu cầu quảng cáo, hãy tạo một đối tượng SecureSignals chứa dữ liệu tuỳ chỉnh đã mã hoá của bạn dưới dạng một chuỗi. Sau đó, hãy thêm đối tượng SecureSignals vào yêu cầu quảng cáo bằng cách gọi phương thức adsRequest.setSecureSignals():

app/src/main/java/com/example/project name/MainActivity.java

...
private void requestAds(String adTagUrl) {
  // Create the ads request.
  AdsRequest request = sdkFactory.createAdsRequest();
  request.setAdTagUrl(adTagUrl);
  request.setContentProgressProvider(
      () -> {
        if (videoPlayer.getDuration() <= 0) {
          return VideoProgressUpdate.VIDEO_TIME_NOT_READY;
        }
        return new VideoProgressUpdate(
            videoPlayer.getCurrentPosition(), videoPlayer.getDuration());
      });
  
  SecureSignals signal = SecureSignals.create("My encoded signal string");
  request.setSecureSignals(signal);
  
  // Request the ad. After the ad is loaded, onAdsManagerLoaded() will be called.
  adsLoader.requestAds(request);
}
...