إعداد WebView

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

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

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

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

Java

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

Kotlin

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

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

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

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

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

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

تُعدّ ملفات تعريف الارتباط وعناوين URL الخاصة بالصفحات مهمة لتحقيق الربح من "عرض الويب"، ولا تعمل على النحو المتوقّع إلا عند استخدام loadUrl() مع عنوان URL مستند إلى الشبكة. لتحقيق أفضل WebView أداء، حمِّل محتوى الويب مباشرةً من عناوين URL المستندة إلى الشبكة. تجنَّب استخدام WebViewAssetLoader أو تحميل الأصول من الجهاز أو إنشاء محتوى الويب بشكل ديناميكي.

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

    // 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 الذي تنوي تحميله في عرض الويب.