إعداد WebView

اختيار النظام الأساسي: Android iOS Android (قديم)

إذا كان تطبيقك يستخدم WebView لعرض محتوى الويب، ننصحك بضبطه بحيث يمكن تحقيق الربح من المحتوى على النحو الأمثل من خلال الإعلانات.

يوضّح لك هذا الدليل كيفية تقديم معلومات حول كيفية ضبط عنصر WebView.

تفعيل ملفات تعريف الارتباط الخارجية

لتحسين تجربة الإعلان للمستخدمين والالتزام بسياسة ملفات تعريف الارتباط في Chrome، يجب تفعيل ملفات تعريف الارتباط الخارجية في مثيل WebView.

جافا

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

Kotlin

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

إعدادات الويب

إعدادات WebView التلقائية غير محسّنة لعرض الإعلانات. استخدِم واجهات برمجة تطبيقات WebSettings لضبط WebView من أجل:

  • JavaScript
  • الوصول إلى مساحة التخزين على الجهاز
  • تشغيل الفيديو تلقائيًا

جافا

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

تحميل محتوى عرض الويب

تُعدّ ملفات تعريف الارتباط وعناوين URL للصفحات مهمة لتحقيق الربح من عرض الويب، ولا تعمل على النحو المتوقع إلا عند استخدام 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://google.github.io/webview-ads/test/");
  }
}

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

    // Load the URL for optimized web view performance.
    webView.loadUrl("https://google.github.io/webview-ads/test/")
  }
}

اختبار عرض الويب

أثناء تطوير التطبيق، ننصحك بتحميل عنوان URL الاختباري التالي:

https://google.github.io/webview-ads/test/

للتأكّد من أنّ هذه الإعدادات تؤثر في الإعلانات على النحو المطلوب يحتوي عنوان URL الخاص بالاختبار على معايير نجاح لعملية دمج كاملة إذا تمت ملاحظة ما يلي:

إعدادات العرض على الويب

  • طريقة عمل ملفات تعريف الارتباط الخارجية
  • طريقة عمل ملفات تعريف الارتباط الخاصة بالطرف الأول
  • تم تفعيل JavaScript
  • تم تفعيل تخزين DOM

إعلان فيديو

  • يتم تشغيل إعلان الفيديو بشكل مضمّن ولا يتم فتحه في المشغّل المدمج بملء الشاشة
  • يتم تشغيل إعلان الفيديو تلقائيًا بدون النقر على زر التشغيل
  • يمكن إعادة تشغيل إعلان الفيديو

بعد اكتمال الاختبار، استبدِل عنوان URL التجريبي بعنوان URL الذي من المفترض أن يتم تحميله في WebView.