App Open Ads – Định dạng quảng cáo mới

1. App Open Ads là định dạng như thế nào

Quảng cáo khi mở ứng dụng (App Open ads) là một định dạng quảng cáo mới hiện chỉ có trên mạng Google Admob. Nó có một số điểm tương đồng với quảng cáo chuyển tiếp (Interstitial) nhưng được thiết kế để tối ưu trải nghiệm người dùng, cũng như để mở ra các vị trí đặt quảng cáo mới, tối ưu doanh thu cho ứng dụng của bạn.

Thiết kế của App Open Ads bao gồm:

  • quảng cáo chính: nội dung được quảng cáo. Nó sẽ chiếm khoảng 80% màn hình điện thoại
  • 20% còn lại sẽ có 1 phần nền (background) trong suốt, người dùng có thể nhìn xuống dưới và qua đó biết được họ vẫn đang ở trong ứng dụng của bạn
  • trong phần 20% nền trong suốt sẽ có 1 biểu ngữ (banner) nhỏ, đóng vai trò là nút bấm để tắt quảng cáo. Nút bấm này sẽ tự động được trang trí bởi icon và tên ứng dụng của bạn

Như đã nói, bạn có thể thấy định dạng này hơi tương đồng với quảng cáo chuyển tiếp, tuy nhiên việc thể hiện rõ ràng và cho phép users nhìn thấy được họ vẫn đang ở trong ứng dụng của bạn , cũng như có một biểu ngữ thông báo để quay trở lại app sẽ làm cho trải nghiệm của người dùng được tốt hơn.

Với định dạng này bạn chỉ cần gọi các API để request và hiển thị quảng cáo, việc thay thế app icon, tên app sẽ do AdMob tự xử lý.

2. Các vị trí có thể đặt App Open Ads

Mặc dù có nhiều điểm tương đồng với quảng cáo chuyển tiếp, nhưng App Open Ads không phải là định dạng thay thế cho quảng cáo chuyển tiếp, nó được sinh ra để bù đắp vào các vị trí có thể hiển thị quảng cáo nhưng quảng cáo chuyển tiếp không phù hợp (do trải nghiệm người dùng kém, cũng như do policy của AdMob không cho phép dùng quảng cáo chuyển tiếp ở một số vị trí).

App Open Ads sẽ mở ra 2 vị trí có thể đặt quảng cáo mới như sau:

Vị trí 1: khi người dùng khởi chạy một phiên ứng dụng mới (app starts)

Vị trí này trước đây có thể dùng quảng cáo chuyển tiếp, tuy nhiên hiện tại policy của AdMob cho quảng cáo chuyển tiếp tại vị trí app start khá chặt chẽ. Bạn bắt buộc phải hiển thị quảng cáo chuyển tiếp ở giữa loading scene và trước màn hình chính. Có nghĩa, bạn phải đợi loading scene của bạn thực hiện xong các việc tải resources. Khi đã sẵn sàng chuyển sang màn hình chính thì mới hiển thị được quảng cáo chuyển tiếp, và tắt quảng cáo chuyển tiếp thì mới chuyển người dùng sang màn hình chính của ứng dụng.

App Open Ads ra đời để tối ưu hơn việc đặt quảng cáo tại vị trí này. Giả sử app của bạn cần đến 5-10s để load resources, thì ngay khi người dùng mở app bạn đã có thể hiển thị quảng cáo App Open “đè” lên màn hình loading scene, tận dụng được thời gian người dùng chờ đợi việc load resource để hiển thị quảng cáo rồi. Một chú ý ở đây là với vị trí này, cần đảm bảo là:

  • bạn phải hiển thị quảng cáo trước khi người dùng vào màn hình chính, hay nói cách khác quảng cáo phải “đè” lên màn hình loading, người dùng có thể nhìn được điều đó qua phần nền trong suốt
  • khi đã hiển thị quảng cáo thì trước khi người dùng tắt quảng cáo đi, bạn không được phép chuyển màn hình. Có nghĩa rằng dù việc load resource đã xong, nhưng khi quảng cáo chưa tắt thì ứng dụng vẫn phải “đợi” tại màn hình loading, người dùng tắt quảng cáo thì mới chuyển sang màn hình chính

Vị trí 2: khi người dùng khởi chạy lại ứng dụng từ nền (app resumes)

Quảng cáo App Open được hiển thị ngay khi người dùng quay trở lại ứng dụng

Có thể nói đây là một ví trí tương đối mới, hứa hẹn mở ra cơ hội doanh thu mới cho bạn. Đặc biệt cho các ứng dụng có thời gian sử dụng ngắn, nhưng lại nhiều lượt sử dụng trong ngày, users thường xuyên mở lại ứng dụng.

Với vị trí này thì cần chú ý một số điểm như sau:

  • xử lý chính xác sự kiện dựa trên các hàm của Android/iOs để bắt đúng thời điểm ứng dụng được mở lại (resume) và hiện quảng cáo App Open ngay lập tức
  • ứng dụng hoàn toàn có thể rơi vào trạng thái bị ẩn (suspend) nếu người dùng tương tác với các định dạng quảng cáo khác, như ấn vào banner, interstitial, rewarded… Khi đó người dùng sẽ được chuyển tiếp sang trang đích (landing page) của quảng cáo. Lúc này nếu người dùng mở lại ứng dụng, thì quảng cáo cũ vẫn còn đang hiển thị. Do đó, khi bắt được thời điểm ứng dụng mở lại, bạn cần kiểm tra xem có đang hiện thị các quảng cáo khác không (đặc biệt là quảng cáo kín màn hình như interstitial và rewarded; banner và native có thể không cần xử lý) thì không được hiển thị quảng cáo App Open đè lên.

3. Các vấn đề kỹ thuật khi tích hợp App Open Ads

Trên trang document của Google AdMob đã có một bài hướng dẫn khá chi tiết và đầy đủ về việc tích hợp App Open Ads. Bạn có thể tham khảo link cho Android và iOs. Mình xin tổng hợp lại các bước cùng 1 số chú ý nhỏ cho từng bước như sau (iOs và Android có thể khác nhau 1 số điểm nhỏ, nhưng mình sẽ liệt kê đầy đủ các bước của Android, iOs có thể sẽ lược bớt 1 số)

  1. Tính hợp AdMob SDK mới nhất
  2. Tạo một class riêng để quản lý việc hiển thị App Open Ads.
  3. Tạo hàm load ad:
    • App Open Ads là định dạng khác đặc biệt, một khi đã được tải thì có thể lưu giữ 4 tiếng đồng hồ trước khi hiển thị (tại thời điểm này, trong khi các định dạng khác chỉ được tối đa 1 tiếng).
    • Tương tự như interstitial, bạn nên thực hiện việc tải trước quảng cáo càng sớm càng tốt, đặc biệt là tại các vị trí: khi mới mở ứng dụng, khi vừa đóng quảng cáo, khi có cơ hội hiển thị nhưng lại không có quảng cáo
    • Một vị trí có thể thực hiện tải quảng cáo là khi quảng cáo tải bị lỗi. Tuy nhiên cần chú ý: kiểm tra kết nối mạng trước khi tải lại; tải lại một số lần giới hạn nhất định hoặc là có thời gian nghỉ (5-10-15s) giữa các lần tải. Điều này để hạn chế việc gửi quá nhiều request mà không có kết quả
    • Chú ý tải đúng chiều xoay màn hình (orientation: landscape, portrait) của ứng dụng của bạn
    • Chú ý kiểm tra việc có quảng cáo nào đang tải, hoặc có sẵn không trước khi thực hiện tải quảng cáo để tránh gọi 2 lần tải liên tiếp đè nhau
  4. Chuẩn bị cho việc hiện quảng cáo:
    • Với Android: khi hiện thị quảng cáo thì bạn cần truyền vào Activity hiện tại. Do bạn cần hiển thị App Open Ads tại mọi thời điểm ứng dụng được start/resume bất kể việc đang ở Activity nào, bạn cần biết được Activity đang được mở tại thời điểm đó. Để làm điều này, bạn cần sử dụng các API của ActivityLifecycleCallbacks.
    • Với iOs thì bạn sẽ gọi trực tiếp hàm hiển thị từ AppDelegate và có thể lấy ra các ViewController bạn cần
  5. Xử lý các callback (hàm sự kiện trả về) của App Open Ads:
    • việc hiển thị sẽ cho phép bạn xử lý 3 callback đó là: khi quảng cáo hiển thị thành công, khi quảng cáo được tắt đi, và khi quảng cáo không thể hiển thị.
    • sự kiện khi quảng cáo hiển thị thành công: bạn cần đánh dấu lại rằng đang có một quảng cáo App Open được hiển thị, để nếu người dùng suspend ứng dụng (bấm quảng cáo hoặc dùng phím home) thì khi quay lại sẽ không có tình trạng đè quảng cáo
    • sự kiện khi quảng cáo được đóng lại: đánh dấu lại rằng không còn quảng cáo App Open nào đang được hiển thị, cũng như quảng cáo được tải trước đã hiển thị xong và cần được xóa đi. Đây cũng là vị trí tốt để thực hiện việc tải lại quảng cáo. Đồng thời, các callback cần thiết cho ứng dụng của bạn cũng cần được gọi tại đây (ví dụ: chuyển sang màn hình chính nếu như tất cả resource đã được tải xong ở màn hình Loading)
    • sự kiện khi quảng cáo không thể hiển thị: thực hiện các callback cần thiết cho ứng dụng nếu có (ví dụ: nếu màn hình Loading đang “chờ” quảng cáo trước khi chuyển sang màn hình chính thì tại thời điểm này có thể thực hiện việc di chuyển)
  6. Hiển thị quảng cáo:
    • trên iOs bạn sẽ dùng các sự kiện applicationDidBecomeActive hoặc là sceneDidBecomeActive để thực hiện việc hiển thị quảng cáo App Open Ads
    • trên Android, bạn cần sử dụng thư viện Lifecycle để lắng nghe “tình trạng” của ứng dụng, sau đó gọi hàm hiển thị quảng cáo trong sự kiện @OnLifecycleEvent(ON_START). Mặc dù tên sự kiện là ON_START nhưng bản chất sự kiện cũng sẽ được kích hoạt khi ứng dụng “resume” từ nền
  7. Mở rộng: xử lý việc quảng cáo hết hạn.
    • Thông thường ứng dụng sẽ ít được “sống” dưới nền quá 4 tiếng đồng hồ. Tuy nhiên để tránh việc lãng phí lượt hiển thị (hiển thị quảng cáo khi đã hết hạn sẽ không phát sinh doanh thu), bạn có thể tích hợp thêm code để xử lý 2 việc
    • mỗi khi cần hiển thị quảng cáo, cần kiểm tra xem quảng cáo đã được lưu trữ quá 4 tiếng chưa. Nếu quá thì không hiển thị nữa và thực hiện tải lại
    • nâng cao một chút, bạn có thể tạo 1 “task” chạy ngầm để thực hiện việc tự động tải lại quảng cáo – nhớ là chỉ tải. Việc này hiện tại không vi phạm policy của AdMob. Trên Android bạn có thể dùng Worker và PeriodicWorkRequest, trên iOs thì mình chưa biết dùng gì tối ưu nhất, các bạn có thể comment chia sẻ thêm 🙂

4. Kết

Tổng kết lại, App Open Ads là một định dạng mới, hứa hẹn mở ra thêm các vị trí đặt quảng cáo mới để tăng doanh thu cho bạn. Nó hoàn toàn không phải, và không nên được dùng để thay thế quảng cáo chuyển tiếp (Interstitial).

Khi đặt quảng cáo App Open, bạn có thể xem xét 1 số điểm như sau để đảm bảo trải nghiệm người dùng tốt nhất:

  • Nên để người dùng sử dụng một ứng dụng một vài lượt sau khi cài đặt, trước khi bắt đầu hiển thị App Open Ads
  • Vị trí tuyệt vời nhất của App Open Ads là để người dùng “ngắm” ads thay vì phải chờ đợi không trong ứng dụng của bạn

Chúc các bạn tích hợp thành công.

Nguồn: https://dumbcoder.org/app-open-ads-vi/