دمج واجهة برمجة التطبيقات WebView API للإعلانات

تعمل واجهات برمجة تطبيقات عرض الويب للإعلانات على إتاحة إشارات التطبيق للعلامات في WKWebView، ما يساعد في تحسين تحقيق الربح الناشرين الذين قدّموا المحتوى وحماية المعلنين من المحتوى غير المرغوب فيه تساعد إشارات التطبيق هذه، مثل رقم تعريف التطبيق وإصداره، في تفعيل ميزة إعداد التقارير. واستهداف مستودع المتصفّح داخل التطبيق حالات الاستخدام التي تتوفر بخلاف ذلك فقط لزيارات التطبيق.

آلية العمل

لا يتم الاتصال بحزمة "SDK لإعلانات Google على الأجهزة الجوّالة" إلا استجابةً للإعلان الأحداث التي يتم تشغيلها بواسطة أي مما يلي:

تضيف حزمة تطوير البرامج (SDK) معالِجات الرسائل إلى النطاق المسجَّل. WKWebView الاستماع إلى أحداث الإعلانات هذه. للحصول على نتائج أفضل تعرف على كيفية عمل ذلك، يمكنك الاطلاع على رمز المصدر صفحة اختبارية.

المتطلبات الأساسية

  • SDK لإعلانات Google على الأجهزة الجوّالة إصدار 9.6.0 أو إصدار أحدث.
  • عدِّل ملف Info.plist باستخدام المفتاح التالي وقيمة السلسلة. هذا النمط عملية التحقق التي تجريها حزمة "SDK لإعلانات Google على الأجهزة الجوّالة" GADApplicationIdentifier التي تنطبق على المطوّرين الذين ينفّذون الإعلانات خارج عرض الويب. إذا فاتتك هذه الخطوة ولم تقدم GADApplicationIdentifier، تطرح حزمة "SDK لإعلانات Google على الأجهزة الجوّالة" GADInvalidInitializationException عند تشغيل التطبيق

    <!-- Indicate Google Mobile Ads SDK usage is only for web view APIs for ads -->
    <key>GADIntegrationManager</key>
    <string>webview</string>
    

تسجيل العرض على الويب

اتصل register(_:) في سلسلة التعليمات الرئيسية لتأسيس اتصال بمعالجات JavaScript رمز AdSense أو علامة "ناشر Google" ضمن كل WKWebView مثيل. هذا النمط في أقرب وقت ممكن، كما هو الحال في طريقة viewDidLoad لوحدة التحكم في العرض.

Swift

import WebKit

class ViewController: UIViewController {

  var webView: WKWebView!

  override func viewDidLoad() {
    super.viewDidLoad()

    // Initialize a WKWebViewConfiguration object.
    let webViewConfiguration = WKWebViewConfiguration()
    // Let HTML videos with a "playsinline" attribute play inline.
    webViewConfiguration.allowsInlineMediaPlayback = true
    // Let HTML videos with an "autoplay" attribute play automatically.
    webViewConfiguration.mediaTypesRequiringUserActionForPlayback = []

    // Initialize the WKWebView with your WKWebViewConfiguration object.
    webView = WKWebView(frame: view.frame, configuration: webViewConfiguration)
    view.addSubview(webView)

    // Register the web view.
    GADMobileAds.sharedInstance().register(webView)
  }
}

Objective-C

@import WebKit;

#import "ViewController.h"

@interface ViewController ()

@property(nonatomic, strong) WKWebView *webView;

@end

@implementation ViewController

- (void)viewDidLoad {
  [super viewDidLoad];

  // Initialize a WKWebViewConfiguration object.
  WKWebViewConfiguration *webViewConfiguration = [[WKWebViewConfiguration alloc] init];
  // Let HTML videos with a "playsinline" attribute play inline.
  webViewConfiguration.allowsInlineMediaPlayback = YES;
  // Let HTML videos with an "autoplay" attribute play automatically.
  webViewConfiguration.mediaTypesRequiringUserActionForPlayback = WKAudiovisualMediaTypeNone;

  // Initialize the WKWebView with your WKWebViewConfiguration object.
  self.webView = [[WKWebView alloc] initWithFrame:self.view.frame configuration:webViewConfiguration];
  [self.view addSubview:self.webView];

  // Register the web view.
  [GADMobileAds.sharedInstance registerWebView:self.webView];
}

اختبار عملية الدمج

قبل استخدام عنوان URL الخاص بك، ننصحك بتحميل عنوان URL التالي لاختباره. الدمج:

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

يعرض عنوان URL التجريبي أشرطة حالة خضراء لإجراء عملية دمج ناجحة إذا كان تنطبق الشروط التالية:

  • WKWebView تم الربط بحزمة "SDK لإعلانات Google على الأجهزة الجوّالة"

الخطوات التالية