Google Admob

Tích Hợp AdMob Và UMP Consent Đúng Policy: Hướng Dẫn Cho Người Làm App

tich-hop-admob-ump-consent-app

UMP SDK (User Messaging Platform) là công cụ của Google giúp app quản lý lựa chọn quyền riêng tư của người dùng. Với người dùng ở khu vực kinh tế châu Âu (EEA), Anh, Thuỵ Sĩ và một số bang của Mỹ, app phải hiển thị thông báo xin đồng ý trước khi phục vụ quảng cáo. Luồng chuẩn là: gọi requestConsentInfoUpdate() mỗi lần mở app → loadAndShowConsentFormIfRequired() → kiểm tra canRequestAds() → mới bắt đầu yêu cầu quảng cáo.

Đây là phần nhiều người làm app bằng AI bỏ qua, vì AI sinh code AdMob cơ bản thì được nhưng thường không tự động thêm luồng consent. Hậu quả: hoặc quảng cáo không hiển thị được cho người dùng châu Âu — mất phần eCPM cao nhất, hoặc vi phạm chính sách.

Bài này đi qua luồng đúng, vị trí đặt quảng cáo an toàn, và những lỗi khiến tài khoản AdMob bị hạn chế.

Vì sao phải có UMP

AdMob phục vụ quảng cáo dựa trên dữ liệu. Ở nhiều khu vực pháp lý, việc xử lý dữ liệu này cần có sự đồng ý của người dùng.

UMP SDK là công cụ Google cung cấp để bạn xử lý việc đó. Nó cho phép tạo thông báo trong tab Privacy & messaging của AdMob, rồi hiển thị đúng thông báo cho đúng khu vực.

Điểm quan trọng về mặt kinh doanh: EEA và UK là những thị trường có eCPM thuộc nhóm cao nhất. Tham chiếu eCPM rewarded khoảng $10–28 ở UK/Đức, so với $2–8 ở Việt Nam/Indonesia/Philippines. Bỏ qua luồng consent nghĩa là tự cắt mình khỏi nhóm người dùng đáng giá nhất.

Nói cách khác: làm UMP không chỉ để tuân thủ, mà còn để kiếm được tiền từ traffic Tier 1.

Luồng tích hợp đúng — 6 bước

Bước 1. Tạo thông báo trong AdMob

Vào tài khoản AdMob → tab Privacy & messaging → tạo message type phù hợp cho các khu vực bạn phục vụ.

Đây là bước làm trên web, không phải trong code. Nhiều người bỏ qua rồi thắc mắc vì sao form không hiện.

Bước 2. Thêm UMP SDK vào dự án

Thêm phụ thuộc UMP SDK vào file build của dự án. Tài liệu Google yêu cầu phiên bản 4.0.0 trở lên.

Bước 3. Gọi requestConsentInfoUpdate() mỗi lần mở app

Đây là lệnh kiểm tra trạng thái đồng ý hiện tại của người dùng. Phải gọi ở mỗi lần khởi động app, không phải chỉ lần đầu cài đặt — vì trạng thái có thể thay đổi (người dùng đổi lựa chọn, đổi khu vực, quy định thay đổi).

Bước 4. Gọi loadAndShowConsentFormIfRequired()

Hàm này tự quyết định có cần hiện form hay không dựa trên khu vực và trạng thái. Nếu người dùng ở khu vực không yêu cầu, form sẽ không hiện — bạn không cần tự viết logic kiểm tra vùng.

Bước 5. Kiểm tra canRequestAds() trước khi yêu cầu quảng cáo

Đây là bước quan trọng nhất và cũng hay bị bỏ nhất.

Chỉ khi hàm này trả về giá trị cho phép, bạn mới được khởi tạo Mobile Ads SDK và yêu cầu quảng cáo. Yêu cầu quảng cáo trước khi có đồng ý là vi phạm.

Bước 6. Thêm lối vào tuỳ chọn quyền riêng tư

Người dùng cần có cách thay đổi lựa chọn của họ sau này. Thông thường là một mục “Quyền riêng tư” hoặc “Cài đặt quảng cáo” trong màn hình Settings của app.


Tóm tắt luồng dưới dạng sơ đồ:

Mở app

requestConsentInfoUpdate() ← gọi MỖI lần mở app

loadAndShowConsentFormIfRequired()

canRequestAds() → chưa cho phép → KHÔNG gọi quảng cáo
↓ cho phép
Khởi tạo Mobile Ads SDK

Load & show quảng cáo

Ba lỗi UMP khiến quảng cáo không hiện mà rất khó tìm ra

UMP là phần tôi thấy người làm app bằng AI vướng nhiều nhất, và cái khó của nó rất đặc trưng: app không báo lỗi. Nó chạy bình thường, chỉ là quảng cáo không hiện. Không có thông báo đỏ nào để bạn copy đưa cho AI, nên bạn ngồi đoán.

Ba nguyên nhân dưới đây gần như phủ hết các trường hợp tôi từng gặp:

1. Chưa tạo message trong AdMob. Code hoàn toàn đúng nhưng bên phía AdMob chưa có thông báo nào để hiển thị. Đây là lỗi hay gặp nhất vì bước tạo message làm trên web, tách rời khỏi phần code — người ta làm code xong rồi tưởng là xong. Kiểm tra: vào tab Privacy & messaging, xem đã có message ở trạng thái published chưa.

2. Gọi quảng cáo trước khi kiểm tra canRequestAds(). AI sinh code AdMob theo mẫu phổ biến, mà mẫu phổ biến trên mạng thường khởi tạo Mobile Ads SDK ngay khi app mở. Ghép với UMP thì sai thứ tự: quảng cáo được yêu cầu trước khi trạng thái đồng ý sẵn sàng. Kiểm tra: đọc lại code, đảm bảo lệnh khởi tạo Mobile Ads nằm sau nhánh kiểm tra canRequestAds(), không phải song song.

3. Test ở Việt Nam nên form không bao giờ hiện. Bạn ngồi ở Việt Nam, form consent đúng ra không cần hiện — nên bạn tưởng code hỏng trong khi nó đang chạy đúng. Cách kiểm tra là dùng công cụ debug của UMP để giả lập thiết bị đang ở EEA. Không giả lập vùng thì bạn không thể biết luồng của mình có hoạt động hay không.

Thứ tự tôi khuyên bạn làm khi quảng cáo không hiện: kiểm tra message trên AdMob trước (nhanh nhất), rồi mới đọc lại thứ tự gọi hàm trong code, cuối cùng mới giả lập vùng để test. Làm ngược lại thì mất rất nhiều thời gian.

Một điều đáng nói về mặt kinh doanh: nhiều người coi UMP là thủ tục phiền phức phải làm cho xong. Tôi nghĩ ngược lại. Nhìn vào bảng eCPM ở trên — EEA và UK nằm trong nhóm cao nhất, cách xa Tier 3 nhiều lần. Bỏ qua UMP không chỉ là rủi ro chính sách, mà là tự khoá mình khỏi nhóm người dùng đáng giá nhất. Vài giờ làm cho đúng là khoản đầu tư có tỷ suất tốt nhất trong toàn bộ khâu monetization.

Đặt quảng cáo ở đâu cho an toàn và hiệu quả

Chính sách AdMob rất nghiêm với việc đặt quảng cáo gây bấm nhầm. Nguyên tắc: người dùng phải luôn biết mình đang bấm vào quảng cáo.

Định dạng Vị trí nên đặt Tuyệt đối tránh
Banner Cố định đáy màn hình, cách xa nút thao tác Sát nút bấm, che nội dung
Interstitial Giữa hai màn hình, sau khi kết thúc một hành động Ngay khi mở app, giữa lúc đang thao tác, quá dày
Rewarded Người dùng chủ động bấm để nhận thưởng Ép xem để dùng chức năng cơ bản
App Open Khi quay lại app từ nền Chồng lên interstitial, mỗi lần chuyển màn

Về mật độ quảng cáo: nhiều quảng cáo hơn không đồng nghĩa nhiều tiền hơn. Quảng cáo dày làm giảm retention, mà retention giảm thì tổng doanh thu vòng đời giảm theo. Với game, D1 dưới 25% là dấu hiệu vấn đề nằm ở sản phẩm — và quảng cáo quá dày là một trong những nguyên nhân phổ biến.

Bốn lỗi khiến tài khoản AdMob bị hạn chế

1. Tự bấm quảng cáo của mình. Kể cả một lần, kể cả để “kiểm tra xem có chạy không”. Luôn dùng ID quảng cáo test trong lúc phát triển.

2. Nhờ người khác bấm. Nhờ bạn bè, người nhà, hoặc trao đổi bấm chéo trong nhóm. Google phát hiện được qua nhiều tín hiệu và đây là lý do khoá tài khoản phổ biến.

3. Đặt quảng cáo gây bấm nhầm. Banner sát nút, quảng cáo hiện đúng lúc người dùng chuẩn bị chạm màn hình.

4. Khai Data Safety không khớp. App có AdMob thì SDK quảng cáo có thu thập dữ liệu — phải khai đúng trong Play Console. Xem chi tiết ở bài hướng dẫn submit app lên Google Play.

Tăng eCPM sau khi đã tích hợp đúng

Khi luồng consent đã chuẩn, đây là các đòn bẩy tăng doanh thu:

Dùng mediation thay vì chỉ AdMob đơn lẻ. Thêm 3–5 network bidding qua AdMob mediation hoặc AppLovin MAX thường nâng eCPM tổng khoảng 15–30% so với chạy AdMob một mình.

Ưu tiên rewarded hơn banner. Chênh lệch rất lớn: eCPM rewarded ở Mỹ tham chiếu $15–40, trong khi banner chỉ $0.5–2.

Hiểu tính mùa vụ. eCPM thường cao nhất vào quý 4 và tụt 20–40% vào đầu quý 1. Đừng hoảng khi thấy doanh thu giảm tháng 1 — đó là chu kỳ ngành, không phải app hỏng.

Cân nhắc cơ cấu geo. eCPM chênh nhau nhiều lần giữa các thị trường. Nếu người dùng của bạn tập trung ở Tier 3, doanh thu mỗi người dùng sẽ thấp hơn hẳn — đây là yếu tố phải tính vào khi lập kế hoạch quảng cáo. Xem thêm eCPM là gì và bảng eCPM theo quốc gia.

🎓 Đang kẹt ở một bước nào đó? Khoá Vibe Coding Solo Build App Kiếm Tiền Google AdMob hướng dẫn trọn quy trình: viết spec cho AI → build app → tích hợp AdMob đúng policy → submit Play Console — làm cùng, không chỉ xem.

👉 Xem chi tiết khoá học

Câu hỏi thường gặp

UMP SDK là gì?
Là User Messaging Platform SDK của Google — công cụ giúp app quản lý và thu thập lựa chọn quyền riêng tư của người dùng, phục vụ việc tuân thủ quy định ở EEA, UK, Thuỵ Sĩ và một số bang của Mỹ.

Không tích hợp UMP thì sao?
Với người dùng ở khu vực yêu cầu đồng ý, bạn có thể không phục vụ được quảng cáo hoặc chỉ phục vụ được quảng cáo không cá nhân hoá với eCPM thấp hơn nhiều. Ngoài ra còn rủi ro vi phạm chính sách.

App chỉ có người dùng Việt Nam thì có cần UMP không?
Nên có. Bạn không kiểm soát được ai tải app, và người dùng có thể ở nước ngoài. Hơn nữa, nếu sau này bạn chạy quảng cáo mở rộng sang Tier 1 thì đã sẵn sàng.

Gọi requestConsentInfoUpdate() một lần lúc cài đặt có được không?
Không. Tài liệu Google yêu cầu gọi ở mỗi lần khởi động app, vì trạng thái đồng ý có thể thay đổi.

Tự bấm quảng cáo một lần có sao không?
Có rủi ro. Google có hệ thống phát hiện lưu lượng không hợp lệ, và hậu quả có thể là bị giữ doanh thu hoặc khoá tài khoản. Luôn dùng ID test khi phát triển.

Nên dùng AdMob đơn lẻ hay mediation?
Giai đoạn đầu khi lượng người dùng còn nhỏ, AdMob đơn lẻ là đủ và đơn giản hơn. Khi đã có lưu lượng ổn định, mediation thường nâng eCPM tổng khoảng 15–30%.


Bước tiếp theo

Nếu bạn chưa có app, bắt đầu từ làm app bằng AI không cần biết code. Nếu app đã có doanh thu, bước tiếp là hiểu eCPMCPI để biết mình được phép chi bao nhiêu cho quảng cáo.

🎓 Học bài bản: Khoá Vibe Coding Solo Build App Kiếm Tiền Google AdMob — từ spec, build, tích hợp AdMob tới submit Play Console. Xem khoá học tại đây.

Chính sách AdMob và yêu cầu về quyền riêng tư thay đổi theo thời gian và theo khu vực pháp lý. Bài viết mang tính hướng dẫn kỹ thuật, không phải tư vấn pháp lý — hãy đối chiếu tài liệu chính thức của Google trước khi phát hành.

Related Articles

Back to top button