إعداد WebView

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

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

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

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

Java

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

Kotlin

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

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

إنّ ملفات تعريف الارتباط وعناوين 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://webview-api-for-ads-test.glitch.me");
  }
}

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://webview-api-for-ads-test.glitch.me")
  }
}

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

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

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

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

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

  • تعمل ملفات تعريف الارتباط التابعة لجهات خارجية.
  • ملفات تعريف الارتباط للطرف الأول تعمل.
  • تم تفعيل JavaScript
  • تم تفعيل مساحة تخزين DOM.

إعلان فيديو

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

بعد اكتمال الاختبار، استبدِل عنوان URL التجريبي بعنوان URL الذي تريد طريقة عرض الويب تحميله.