WebView را تنظیم کنید

اگر برنامه Android شما ازWebView برای نمایش محتوای وب استفاده می کند، توصیه می شود آن را به گونه ای پیکربندی کنید که بتوان از محتوا به طور مطلوب با تبلیغات درآمد کسب کرد.

این راهنما به شما نشان می دهد که چگونه اطلاعاتی در مورد نحوه پیکربندی یک شیWebView ارائه دهید.

کوکی های شخص ثالث را فعال کنید

برای بهبود تجربه تبلیغاتی کاربر و سازگاری با خط‌مشی کوکی Chrome، کوکی‌های شخص ثالث را در نمونه WebView خود فعال کنید.

جاوا

CookieManager.getInstance().setAcceptThirdPartyCookies(webView, true);

کاتلین

CookieManager.getInstance().setAcceptThirdPartyCookies(webView, true)

تنظیمات وب

Default WebView settings are not optimized for ads. Use the WebSettings APIs to configure your WebView for:

  • JavaScript
  • Access to local storage
  • Automatic video play

Java

import android.webkit.CookieManager;
import android.webkit.WebView;

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);
  }
}

Kotlin

import android.webkit.CookieManager
import android.webkit.WebView

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
  }
}

محتوای نمایش وب را بارگیری کنید

کوکی‌ها و نشانی‌های وب صفحه برای عملکرد نمایش وب مهم هستند و تنها زمانی که loadUrl() با URL مبتنی بر شبکه استفاده می‌شود مطابق انتظار عمل می‌کنند. برای عملکرد بهینه WebView ،محتوای وب را مستقیماً از URL های مبتنی بر شبکه بارگیری می کند. از استفاده از WebViewAssetLoader ، بارگیری دارایی ها از دستگاه یا تولید محتوای وب به صورت پویا خودداری کنید.

جاوا

import android.webkit.CookieManager;
import android.webkit.WebView;

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);

    // Load the URL for optimized web view performance.
    webView.loadUrl("https://webview-api-for-ads-test.glitch.me");
  }
}

کاتلین

import android.webkit.CookieManager
import android.webkit.WebView

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

    // Load the URL for optimized web view performance.
    webView.loadUrl("https://webview-api-for-ads-test.glitch.me")
  }
}

نمای وب را تست کنید

در طول توسعه برنامه، توصیه می کنیم این URL آزمایشی را بارگیری کنید:

https://webview-api-for-ads-test.glitch.me#webview-settings-tests

برای تأیید این تنظیمات تأثیر مورد نظر بر تبلیغات را دارند. URL آزمون دارای معیارهای موفقیت برای یکپارچگی کامل در صورت رعایت موارد زیر است:

تنظیمات نمایش وب

  • کوکی های شخص ثالث کار می کنند
  • کوکی های شخص اول کار می کنند
  • جاوا اسکریپت فعال شد
  • فضای ذخیره سازی DOM فعال است

تبلیغ ویدیویی

  • تبلیغ ویدیویی به صورت درون خطی پخش می شود و در پخش کننده داخلی تمام صفحه باز نمی شود
  • تبلیغ ویدیویی بدون کلیک بر روی دکمه پخش به صورت خودکار پخش می شود
  • تبلیغ ویدیویی قابل پخش مجدد است

پس از اتمام آزمایش، URL آزمایشی را با URL که نمای وب قصد بارگیری آن را دارد جایگزین کنید.