Chuyển đến nội dung
AppFoyer
Bắt đầu

Hướng dẫn app-ads.txt

Vì sao AdMob báo không tìm thấy app-ads.txt của bạn

Trình thu thập của mạng quảng cáo tìm tệp như thế nào, sáu điều thường chặn nó, và cách phân biệt lỗi thật với một lần thu thập chưa chạy.

Kết quả không tìm thấy hầu như luôn do nguyên nhân kỹ thuật: trang thông tin trên cửa hàng không có trang web nhà phát triển, URL trỏ tới nơi không có tệp, có chuyển hướng, sai kiểu nội dung, một dòng sai định dạng, hoặc lần thu thập chưa chạy — AdMob cần tới 24 giờ. Các tệp trên tên miền phụ AppFoyer được AdMob xác minh.

1:09
Video 1:09 · mở trên YouTube

Làm việc này trong vài phút thay vì thế

AppFoyer lưu trữ các trang mà hướng dẫn này nói đến — chính sách quyền riêng tư, điều khoản, hỗ trợ, xóa tài khoản và app-ads.txt — trên subdomain riêng của ứng dụng, không cần tên miền hay máy chủ của riêng bạn. Một ứng dụng được miễn phí, và không có gì cửa hàng yêu cầu lại bị đặt sau tường phí.

Đã kiểm tra ngày 12 tháng 10, 2026. Chính sách của cửa hàng thay đổi, đôi khi không báo trước. Mọi thứ dưới đây đều dẫn liên kết đến tài liệu chính thức, và trang đó — không phải trang này — mới là căn cứ. Nếu hai bên mâu thuẫn, cửa hàng là đúng. Hướng dẫn này được dịch từ tiếng Anh; các trích dẫn từ tài liệu của cửa hàng được giữ nguyên bản tiếng Anh.

Khi một mạng quảng cáo báo app-ads.txt là không tìm thấy, gần như luôn là một trong sáu nguyên nhân kỹ thuật: trang thông tin trên cửa hàng không có trang web nhà phát triển, URL trang web trỏ tới nơi không có tệp, có chuyển hướng phía trước tệp, sai kiểu nội dung, một dòng sai định dạng, hoặc đơn giản là lần thu thập chưa chạy. Không nguyên nhân nào liên quan đến ứng dụng, tài khoản hay đơn vị quảng cáo của bạn.

app-ads.txt là một tiêu chuẩn IAB cho phép mạng quảng cáo xác nhận rằng bên đang bán khoảng không quảng cáo của ứng dụng bạn được ủy quyền làm việc đó. Mạng quảng cáo tìm tệp qua URL trang web ghi trong trang thông tin trên cửa hàng — vì vậy các nguyên nhân trên đều xoay quanh URL đó chứ không phải ứng dụng.

Trình thu thập tìm tệp như thế nào

Chuỗi này có ba mắt xích, và đứt ở mắt nào cũng cho ra cùng một thông báo:

  1. Mạng quảng cáo đọc URL trang web nhà phát triển từ trang thông tin trên cửa hàng của bạn.
  2. Nó tải /app-ads.txt ở thư mục gốc của tên miền đó.
  3. Nó tìm một dòng ghi tên mạng quảng cáo và mã nhà xuất bản của bạn.

Vì vậy tệp không được tìm qua ứng dụng, tên gói hay tài khoản AdMob của bạn. Nó được tìm qua URL trang web ghi trong trang thông tin trên cửa hàng. Sai chỗ đó thì mọi thứ khác đều vô nghĩa.

Sáu nguyên nhân thường gặp

Trang thông tin không có URL trang web. Phổ biến nhất. Nếu trang thông tin trên cửa hàng không có trang web nhà phát triển, trình thu thập không có điểm xuất phát. Trên App Store, trường đó là Marketing URL không bắt buộc, không phải Support URL bắt buộc — xem app-ads.txt cho ứng dụng iOS.

URL trỏ tới nơi không có tệp. Trang thông tin ghi example.com nhưng tệp nằm trên www.example.com, hoặc ở một đường dẫn trang chứ không ở thư mục gốc của tên miền.

Có chuyển hướng. Đặc tả yêu cầu tệp được phục vụ trực tiếp. Một chuỗi chuyển hướng — kể cả http → https, hoặc tên miền gốc → www — là nguyên nhân thất bại thường gặp. Hãy phục vụ tệp với mã 200, tại đúng địa chỉ mà trang thông tin ghi.

Sai kiểu nội dung. Tệp phải được phục vụ dưới dạng văn bản thuần. Tệp phục vụ dưới dạng text/html, hoặc một nền tảng hosting bọc tệp trong một trang, sẽ không đọc được.

Lỗi đánh máy trong chính dòng đó. Định dạng rất nghiêm ngặt — domain, publisher id, relationship, certification id — và thiếu một dấu phẩy hay thừa một khoảng trắng là hỏng dòng.

Lần thu thập đơn giản là chưa chạy. Các mạng quảng cáo thu thập lại theo lịch riêng, thường tính bằng ngày chứ không phải phút. Một tệp vừa tải lên một giờ trước mà hiển thị là thiếu thì thường chỉ là còn sớm.

Tự kiểm tra trong mười giây

curl -i https://your-domain.example/app-ads.txt

Bạn cần thấy 200 OK, Content-Type: text/plain, không có header Location:, và các dòng của bạn trong phần nội dung. Nếu curl ổn mà mạng quảng cáo vẫn không, vấn đề nằm ở phía trước: URL trong trang thông tin, hoặc lịch thu thập.

Lưu ý về tên miền phụ

Đặc tả nói đến thư mục gốc của tên miền được khai báo trong trang thông tin trên cửa hàng, và một tên miền phụ có thư mục gốc riêng. Vì thế phục vụ tệp từ yourapp.example.page/app-ads.txt là hợp lệ theo đặc tả khi chính địa chỉ đó là địa chỉ trang thông tin khai báo.

AdMob mô tả quy tắc mà điều này dựa vào: trình thu thập của họ “probe[s] up to one subdomain level from the developer website” (dò tối đa một cấp tên miền phụ tính từ trang web nhà phát triển), và họ nêu hosting nền tảng như Firebase Hosting là nơi chấp nhận được để đặt tệp.

AdMob xác minh các tệp trên tên miền phụ AppFoyer. Vào tháng 10 năm 2026, AdMob đã báo “app-ads.txt file found and verified” cho các ứng dụng trên cả hai cửa hàng có trang web nhà phát triển là địa chỉ AppFoyer. Một lần thu thập trước đó, vào ngày 23 tháng 9 năm 2026, đã báo một trong chính các ứng dụng đó là không tìm thấy; giờ nó đạt mà phía chúng tôi không thay đổi gì. Nếu AdMob báo “not found” cho địa chỉ AppFoyer của bạn, hãy rà lại các nguyên nhân ở trên và cho lần thu thập đủ 24 giờ. Chúng tôi chưa có kết quả thu thập nào của riêng mình từ các mạng quảng cáo khác.

AppFoyer làm gì ở đây

Chúng tôi phục vụ tệp dưới dạng văn bản thuần, không chuyển hướng và với các header mà đặc tả yêu cầu, cung cấp mẫu dựng sẵn cho các mạng phổ biến, và kiểm tra từng dòng ngay khi bạn gõ. Chúng tôi không hứa rằng một mạng cụ thể sẽ chấp nhận tệp — xem đoạn ở trên.

Nguồn chính thức