API khung hiển thị web cho quảng cáo cung cấp tín hiệu ứng dụng cho các thẻ trong WebView
, giúp cải thiện khả năng kiếm tiền cho những nhà xuất bản đã cung cấp nội dung và bảo vệ nhà quảng cáo khỏi nội dung không phù hợp.
Cách hoạt động
Việc giao tiếp với SDK quảng cáo trên thiết bị di động của Google chỉ xảy ra để phản hồi các sự kiện quảng cáo do bất kỳ sự kiện nào sau đây kích hoạt:
SDK sẽ thêm trình xử lý thông báo vào WebView
đã đăng ký để theo dõi các sự kiện quảng cáo này. Để hiểu rõ hơn về cách hoạt động của tính năng này, hãy xem mã nguồn của trang kiểm thử.
Điều kiện tiên quyết
- SDK Quảng cáo của Google trên thiết bị di động phiên bản 20.6.0 trở lên.
API Android cấp 21 trở lên.
Thêm thẻ
<meta-data>
sau vào tệpAndroidManifest.xml
để bỏ qua việc kiểm traAPPLICATION_ID
. Nếu bạn bỏ qua bước này và không cung cấp thẻ<meta-data>
, SDK quảng cáo của Google trên thiết bị di động sẽ gửi mộtIllegalStateException
khi khởi động ứng dụng.<!-- Bypass APPLICATION_ID check for web view APIs for ads --> <meta-data android:name="com.google.android.gms.ads.INTEGRATION_MANAGER" android:value="webview"/>
Đăng ký thành phần hiển thị web
Gọi registerWebView()
trên luồng chính để thiết lập kết nối với các trình xử lý JavaScript trong mã AdSense hoặc Thẻ nhà xuất bản của Google trong mỗi thực thể WebView
. Bạn nên thực hiện việc này càng sớm càng tốt, chẳng hạn như trong phương thức onCreate()
của MainActivity
.
Kotlin
import android.webkit.CookieManager
import android.webkit.WebView
import com.google.android.gms.ads.MobileAds
class MainActivity : AppCompatActivity() {
lateinit var webView: WebView
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
webView = findViewById(R.id.webview)
// Let the web view accept third-party cookies.
CookieManager.getInstance().setAcceptThirdPartyCookies(webView, true)
// Let the web view use JavaScript.
webView.settings.javaScriptEnabled = true
// Let the web view access local storage.
webView.settings.domStorageEnabled = true
// Let HTML videos play automatically.
webView.settings.mediaPlaybackRequiresUserGesture = false
// Register the web view.
MobileAds.registerWebView(webView)
}
}
Java
import android.webkit.CookieManager;
import android.webkit.WebView;
import com.google.android.gms.ads.MobileAds;
public class MainActivity extends AppCompatActivity {
private WebView webView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
webView = findViewById(R.id.webview);
// Let the web view accept third-party cookies.
CookieManager.getInstance().setAcceptThirdPartyCookies(webView, true);
// Let the web view use JavaScript.
webView.getSettings().setJavaScriptEnabled(true);
// Let the web view access local storage.
webView.getSettings().setDomStorageEnabled(true);
// Let HTML videos play automatically.
webView.getSettings().setMediaPlaybackRequiresUserGesture(false);
// Register the web view.
MobileAds.registerWebView(webView);
}
}
Kiểm tra quá trình tích hợp
Trước khi sử dụng URL của riêng mình, bạn nên tải URL sau để kiểm tra tính năng tích hợp:
https://webview-api-for-ads-test.glitch.me#api-for-ads-tests
URL kiểm thử sẽ hiển thị các thanh trạng thái màu xanh lục cho một quá trình tích hợp thành công nếu các điều kiện sau đây được áp dụng:
WebView
đã kết nối với SDK quảng cáo của Google trên thiết bị di động
Các bước tiếp theo
- Thu thập sự đồng ý trong
WebView
. API thành phần hiển thị trên web cho quảng cáo không truyền tải sự đồng ý được thu thập trong ngữ cảnh ứng dụng di động bằng cách sử dụng các khung tuân thủ IAB TCF phiên bản 2.0 hoặc IAB CCPA cho các thẻ trong thành phần hiển thị trên web. Nếu bạn muốn triển khai một quy trình đồng ý duy nhất với tư cách là chủ sở hữu của cảWebView
và nội dung web tương ứng đang được kiếm tiền, hãy làm việc với nền tảng quản lý sự đồng ý để thu thập sự đồng ý trong ngữ cảnhWebView
.