Hiển thị quảng cáo

Nếu ứng dụng của bạn hiển thị quảng cáo, bạn có thể chuyển toàn bộ việc quản lý quảng cáo tới Finteza. Các chiến dịch quảng cáo trên thiết bị iOS có thể được phát động vừa đúng lúc và cho tất cả người dùng cùng một lúc. Không yêu cầu bất kỳ việc sửa đổi ứng dụng, chờ đợi xuất bản một phiên bản mới trong App Store và cập nhật tất cả thiết bị nào.

Trên thực tế, bạn chỉ cần xác định các khu vực quảng cáo trong ứng dụng của mình, trong khi toàn bộ việc quản lý nội dung, số liệu thống kê và chuyển đổi chi tiết khả dụng trong Finteza.

Mặc dù các quảng cáo được gọi là biểu ngữ trong Finteza, nhưng chúng không bị giới hạn ở ảnh tĩnh và ảnh động GIF. Biểu ngữ là một đồ chứa có thể bao gồm nhiều loại nội dung khác nhau, bao gồm HTML5: trang đích, băng truyền, cửa sổ bật lên, v.v.

Lớp FintezaBannerView chịu trách nhiệm tải về và hiển thị các nội dung của biểu ngữ trong SDK.  Nó bắt nguồn từ UIView khiến cho không thể thêm nó vào cấp bậc của loại ứng dụng iOS theo cách tiêu chuẩn.

Tạo một khu vực quảng cáo trong Finteza #

Trước khi tạo một biểu ngữ trong ứng dụng, hãy cấu hình một khu vực quảng cáo trong Finteza. Nó cho phép bạn quản lý các nội dung của khối quảng cáo.

Truy cập phần Website của bảng điều khiển Finteza, tìm ứng dụng của bạn và nhấp vào "khu vực mới":

  • Đặt tên và định dạng nội dung được phép. JPG, PNG, GIF và HTML hiện được hỗ trợ.
  • Đặt kích thước khu vực nếu biết trước hoặc chọn định tỷ lệ khu vực tự động.
  • Lưu thay đổi và sao chép ID của khu vực. Nó phải được định rõ trong ứng dụng.
Tạo khu vực quảng cáo cho một website/ứng dụng

Tạo biểu ngữ trong ứng dụng #

Bạn có thể tạo một biểu ngữ qua Trình tạo Giao diện hoặc theo cách lập trình.

Trình tạo Giao diện

Tạo một phần tửi giao diện mới thuộc loại UIView. Đặt FintezaBannerView trong trường Lớp Tùy chỉnh của thẻ "Trình kiểm tra nhận dạng". Đặt các giới hạn cần thiết cho việc sắp đặt biểu ngữ.

Tạo biểu ngữ qua Trình tạo Giao diện

Kích thước biểu ngữ có thể được xác định dựa trên intrinsicContentSize.


Theo cách lập trình

Sử dụng mã dưới đây để tạo một biểu ngữ với các kích thước nhất định:

Objective-C:

FintezaBannerView *banner = [[FintezaBannerView alloc] initWithFrame:bannerFrame];

Swift:

var banner = FintezaBannerView(frame: bannerFrame)

Sử dụng mã dưới đây để tạo một biểu ngữ chiếm toàn bộ vùng nhìn (Sử dụng Bố cục Tự động):

Objective-C:

FintezaBannerView *banner = [[FintezaBannerView alloc] initWithFrame:CGRectZero];
[self.view addSubview:banner];
 
banner.translatesAutoresizingMaskIntoConstraints=NO;
[NSLayoutConstraint activateConstraints:@[
   [banner.topAnchor constraintEqualToAnchor:self.view.layoutMarginsGuide.topAnchor],
   [banner.bottomAnchor constraintEqualToAnchor:self.view.layoutMarginsGuide.bottomAnchor],
   [banner.leadingAnchor constraintEqualToAnchor:self.view.layoutMarginsGuide.leadingAnchor],
   [banner.trailingAnchor constraintEqualToAnchor:self.view.layoutMarginsGuide.trailingAnchor]
  ]];

Swift:

let banner = FintezaBannerView(frame: .zero)
self.view.addSubview(banner)
 
banner.translatesAutoresizingMaskIntoConstraints = false
NSLayoutConstraint.activate([
   banner.topAnchor.constraint(equalTo: self.view.layoutMarginsGuide.topAnchor),
   banner.bottomAnchor.constraint(equalTo: self.view.layoutMarginsGuide.bottomAnchor),
   banner.leadingAnchor.constraint(equalTo: self.view.layoutMarginsGuide.leadingAnchor),
   banner.trailingAnchor.constraint(equalTo: self.view.layoutMarginsGuide.trailingAnchor)
  ])

Khởi tạo #

Đặt ID của khu vực và địa chỉ website cho biểu ngữ.

Objective-C và Swift:

banner.zoneID = @"{ZONE_ID}";
banner.site = @"{WEBSITE_URL}";

Đối với {ZONE_ID}, hãy đặt ID khu vực quảng cáo của Finteza. Trong {WEBSITE_URL}, hãy đặt tên ứng dụng hoặc miền website tương ứng với khu vực.

Những thông số này cũng có thể được đặt trong Trình tạo Giao diện. Để làm việc này, chọn đối tượng lớp FintezaBannerView và vào thẻ "Trình kiểm tra thuộc tính":

ID Khu vực và tên website/ứng dụng có thể được định rõ qua Trình tạo Giao diện

Tải về nội dung #

Gọi ra phương thức tải để khởi chạy việc tải về nội dung.

Objective-C:

[banner load];

Swift:

banner.load()

Bạn có thể định rõ một đối tượng ủy nhiệm nhận thông báo về trạng thái tải về nội dung. Để làm việc này, đặt một đối tượng triển khai giao thức trong thuộc tính ủy nhiệm:

@protocol FintezaBannerViewDelegate <NSObject>
- (void)fintezaBannerDidLoad:(nonnull FintezaBannerView *)banner;  // called if the content downloaded successfully
- (void)fintezaBannerDidFail:(nonnull FintezaBannerView *)banner;  // called in case of a failure
@end

Chẳng hạn, một ủy nhiệm cho phép thêm chỉ biểu ngữ vào chế độ xem gốc sau khi nội dung được tải về.

Xác định kích thước của biểu ngữ dựa trên intrinsicContentSize #

Nếu bạn sử dụng Bố cục Tự động, kích thước biểu ngữ có thể được đặt dựa trên thuộc tính intrinsicContentSize tiêu chuẩn.

Đối với FintezaBannerView, intrinsicContentSize tương đương với giá trị được đặt trong cài đặt khu vực trong Finteza. Kích thước của khu vực trở nên xác định ở giai đoạn yêu cầu biểu ngữ.

Nếu kích thước khu vực chính xác không được định rõ ("Kích thước Tùy chỉnh, sử dụng chiều rộng\chiều cao biểu ngữ" được đặt trong cài đặt khu vực), intrinsicContentSize được xác định dựa trên nội dung của biểu ngữ được tải lên. Đối với các biểu ngữ bằng JPG, PNG và GIF, đây là kích thước hình ảnh.

Phương thức này không phù hợp với các biểu ngữ HTML và thích ứng, vì không thể xác định rõ ràng kích thước nội dung cho chúng.


Xoay quảng cáo #

Thời gian xoay quảng cáo được đặt bởi thuộc tính rotationTime tính bằng giây (giá trị mặc định là 10 phút). Đối với các quảng cáo xoay, phương thức tải phải được gọi ra mỗi lần chế độ xem gốc chứa biểu ngữ được hiển thị (chẳng hạn, trong viewWillAppear). Việc này không dẫn đến các yêu cầu mạng lưới không cần thiết cho đến khi thời gian được định rõ trong thuộc tính rotationTime hết hạn.

Objective-C và Swift:

banner.rotationTime = 60  // vòng xoay trên mỗi phút

Để tắt việc xoay, hãy đặt rotationTime = 0.

Thông số rotationTime phải được định rõ trước khi gọi ra phương thức tải .