إعدادات عمومية

اختيار النظام الأساسي: Android iOS Unity

يوفّر صف GADMobileAds إعدادات عامة للتحكّم في بعض المعلومات التي تجمعها حزمة "SDK لإعلانات Google على الأجهزة الجوّالة".

التحكّم في مستوى صوت إعلان الفيديو

إذا كان تطبيقك يتضمّن عناصر تحكّم في مستوى الصوت، مثل مستويات مخصّصة للموسيقى أو المؤثرات الصوتية، فإنّ الإفصاح عن مستوى الصوت في التطبيق لحزمة "SDK لإعلانات Google على الأجهزة الجوّالة" يتيح لإعلانات الفيديو مراعاة إعدادات مستوى الصوت في التطبيق. يضمن ذلك عرض إعلانات الفيديو للمستخدمين بمستوى الصوت المتوقّع.

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

بالنسبة إلى أشكال الإعلانات على شاشة فتح التطبيق وإعلانات البانر والإعلانات البينية والإعلانات بمكافأة والإعلانات البينية بمكافأة، يمكنك إبلاغ حزمة "SDK لإعلانات Google على الأجهزة الجوّالة" بمستوى صوت التطبيق النسبي من خلال ضبط السمة applicationVolume. تتراوح قيم مستوى صوت الإعلان الصالحة بين 0.0 (صامت) و1.0 (مستوى صوت الجهاز الحالي). في ما يلي مثال على كيفية إرسال عدد التطبيقات النسبي إلى حزمة تطوير البرامج (SDK):

Swift

func viewDidLoad() {
  super.viewDidLoad()
  // Set app volume to be half of the current device volume.
  MobileAds.shared.applicationVolume = 0.5
  ...
}

Objective-C

- (void)viewDidLoad {
  [super viewDidLoad];
  // Set app volume to be half of the current device volume.
  GADMobileAds.sharedInstance.applicationVolume = 0.5;
  ...
}

بالنسبة إلى أشكال الإعلانات "إعلان أثناء تشغيل التطبيق" و"بانر" و"بيني" و"بمكافأة" و"بيني مع مكافأة"، يمكنك إعلام حزمة "SDK لإعلانات Google على الأجهزة الجوّالة" بأنّه تم كتم صوت التطبيق من خلال ضبط السمة applicationMuted:

Swift

MobileAds.shared.applicationMuted = true

Objective-C

GADMobileAds.sharedInstance.applicationMuted = YES;

يتم ضبط applicationVolume تلقائيًا على 1 (مستوى صوت الجهاز الحالي) ويتم ضبط applicationMuted على NO.

إعلانات مدمجة مع المحتوى

اطّلِع على GADVideoOptions للحصول على تعليمات حول التحكّم في إعدادات كتم الصوت. بالنسبة إلى "الإعلانات المدمجة مع المحتوى"، لا تتوفّر ميزة التحكّم المخصّص في مستوى الصوت.

جلسات الصوت

تتيح لك جلسات الصوت التعبير للنظام عن نواياك بشأن سلوك الصوت في تطبيقك. يمكنك الاطّلاع على معلومات إضافية حول جلسات الصوت في دليل برمجة جلسات الصوت من Apple. تتوفّر خيارات إدارة الصوت في حزمة "SDK لإعلانات Google على الأجهزة الجوّالة" من خلال السمة audioVideoManager.

إذا كنت لا تستخدم الصوت في تطبيقك، لن تحتاج إلى استخدام واجهات برمجة التطبيقات هذه. تتولّى حزمة "SDK لإعلانات Google على الأجهزة الجوّالة" تلقائيًا إدارة فئة جلسة الصوت عند تشغيل الصوت. إذا كنت تشغّل الصوت في تطبيقك وأردت التحكّم بشكل أكبر في طريقة تشغيل حزمة "SDK لإعلانات Google على الأجهزة الجوّالة" للصوت وتوقيت تشغيله، يمكنك الاستفادة من واجهات برمجة التطبيقات هذه.

في "مدير الفيديو والصوت"، يمكنك ضبط السمة audioSessionIsApplicationManaged على YES إذا كنت تريد تحمّل مسؤولية إدارة فئة جلسة الصوت بنفسك.

إذا أردت إدارة فئة جلسة الصوت، يمكنك تنفيذ GADAudioVideoManagerDelegate وضبط السمة delegate في "مدير الفيديو والصوت" لتلقّي إشعارات بشأن أحداث تشغيل الفيديو والصوت للإعلانات. عليك بعد ذلك تغيير فئة جلسة الصوت إلى الفئة ذات الصلة وفقًا لدليل برمجة جلسة الصوت من Apple.

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

Swift

func setUp() {
  MobileAds.shared.audioVideoManager.delegate = self
  MobileAds.shared.audioVideoManager.audioSessionIsApplicationManaged = false
}

// MARK: - GADAudioVideoManagerDelegate
func audioVideoManagerWillPlayAudio(_ audioVideoManager: GADAudioVideoManager) {
  // The Google Mobile Ads SDK is notifying your app that it will play audio. You
  // could optionally pause music depending on your apps design.
  MyAppObject.shared.pauseAllMusic()
}

func audioVideoManagerDidStopPlayingAudio(_ audioVideoManager: GADAudioVideoManager) {
  // The Google Mobile Ads SDK is notifying your app that it has stopped playing
  // audio. Depending on your design, you could resume music here.
  MyAppObject.shared.resumeAllMusic()
}

Objective-C

- (void)setUp {
  GADMobileAds.sharedInstance.audioVideoManager.delegate = self;
  GADMobileAds.sharedInstance.audioVideoManager.audioSessionIsApplicationManaged = NO;
}

#pragma mark - GADAudioVideoManagerDelegate

- (void)audioVideoManagerWillPlayAudio:(GADAudioVideoManager *)audioVideoManager {
  // Google Mobile Ads SDK is notifying your app that it will play audio. You
  // could optionally pause music depending on your apps design.
  [MyAppObject.sharedInstance pauseAllMusic];
}

- (void)audioVideoManagerDidStopPlayingAudio:(GADAudioVideoManager *)audioVideoManager {
    // Google Mobile Ads SDK is notifying your app that it has stopped playing
    // audio. Depending on your design, you could resume music here.
  [MyAppObject.sharedInstance resumeAllMusic];
}

إعداد تقارير الأعطال

تفحص حزمة "SDK لإعلانات Google على الأجهزة الجوّالة" الاستثناءات التي تحدث في تطبيق iOS وتسجّلها إذا كانت ناتجة عن حزمة SDK. ثم يتم معالجة هذه الاستثناءات في إصدارات حزمة SDK المستقبلية.

تكون ميزة الإبلاغ عن الأعطال مفعّلة تلقائيًا. إذا كنت لا تريد تسجيل الاستثناءات المتعلّقة بحزمة SDK، يمكنك إيقاف هذه الميزة من خلال استدعاء الطريقة disableSDKCrashReporting. أفضل وقت لاستدعاء هذه الطريقة هو عند تشغيل التطبيق:

Swift

import GoogleMobileAds

@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {

  func application(_ application: UIApplication,
      didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {

    MobileAds.shared.disableSDKCrashReporting()
    return true
  }
}

Objective-C

@import GoogleMobileAds;

@implementation AppDelegate

- (BOOL)application:(UIApplication *)application
    didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

  [GADMobileAds disableSDKCrashReporting];
  return YES;
}

@end

إذا كان تطبيقك يتضمّن متطلبات خاصة، يمكنك ضبط NSUserDefaults gad_has_consent_for_cookies الاختياري. تتيح حزمة "SDK لإعلانات Google على الأجهزة الجوّالة" عرض إعلانات محدودة (LTD) إذا تم ضبط قيمة الإعداد gad_has_consent_for_cookies على صفر.

Swift

UserDefaults.standard.set(0, forKey: "gad_has_consent_for_cookies")

Objective-C

NSUserDefaults.standardUserDefaults().setObject(Int(0),
    forKey: "gad_has_consent_for_cookies");