توفّر فئة 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.
GADMobileAds.sharedInstance().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
GADMobileAds.sharedInstance().applicationMuted = true
Objective-C
GADMobileAds.sharedInstance.applicationMuted = YES;
يتم ضبط applicationVolume
تلقائيًا على 1
(مستوى صوت الجهاز الحالي)
وapplicationMuted
على NO
.
إعلانات مدمجة مع المحتوى
اطّلِع على
GADVideoOptions
للحصول على تعليمات حول التحكّم في إعدادات كتم الصوت. لا تتوفّر ميزة التحكّم المخصّص في مستوى الصوت للإعلانات المدمجة مع المحتوى.
جلسات صوتية
تتيح لك جلسات الصوت التعبير للنظام عن نية تطبيقك بشأن
السلوك الصوتي. يمكن العثور على معلومات إضافية حول جلسات الصوت في دليل برمجة جلسات الصوت من Apple.
يمكن الوصول إلى الخيارات المتاحة لإدارة الصوت في حزمة "SDK لإعلانات Google على الأجهزة الجوّالة" من خلال
المَعلمة
audioVideoManager
.
إذا كنت لا تستخدم الصوت في تطبيقك، لن تحتاج إلى استخدام واجهات برمجة التطبيقات هذه. تدير حزمة SDK لإعلانات Google على الأجهزة الجوّالة تلقائيًا فئة جلسة الصوت عند تشغيل الصوت. إذا كنت تشغّل الصوت في تطبيقك وتريد التحكّم بشكل أكبر في كيفية تشغيل حزمة "SDK لإعلانات Google على الأجهزة الجوّالة" للصوت ووقت تشغيله، يمكنك الاستفادة من واجهات برمجة التطبيقات هذه.
في "مدير الصوت والفيديو"، يمكنك ضبط القيمة YES
على audioSessionIsApplicationManaged
إذا أردت تولي مسؤولية إدارة فئة جلسة المعالجة الصوتية بنفسك.
إذا كنت تريد إدارة فئة جلسة الصوت، يمكنك تنفيذ
GADAudioVideoManagerDelegate
وضبط السمة delegate
في "مدير الصوت والفيديو" لتلقّي إشعارات بأحداث تشغيل الإعلانات المرئي والصوتي. بعد ذلك، عليك تغيير فئة جلسة الصوت إلى
الفئة ذات الصلة وفقًا لدليل Apple المتعلق ببرمجة جلسات الصوت.
في ما يلي نموذج رمز برمجي مبسط يعرض الطريقة المقترَحة إذا كان تطبيقك يشغّل الموسيقى باستخدام واجهات برمجة التطبيقات المذكورة أعلاه:
Swift
func setUp() {
GADMobileAds.sharedInstance().audioVideoManager.delegate = self
GADMobileAds.sharedInstance().audioVideoManager.audioSessionIsApplicationManaged = false
}
// MARK: - GADAudioVideoManagerDelegate
func audioVideoManagerWillPlayAudio(_ audioVideoManager: GADAudioVideoManager) {
// The 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()
}
func audioVideoManagerDidStopPlayingAudio(_ audioVideoManager: GADAudioVideoManager) {
// The 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()
}
Objective-C
- (void)setUp {
GADMobileAds.sharedInstance.audioVideoManager.delegate = self;
GADMobileAds.sharedInstance.audioVideoManager.audioSessionIsApplicationManaged = NO;
}
#pragma mark - GADAudioVideoManagerDelegate
- (void)audioVideoManagerWillPlayAudio:(GADAudioVideoManager *)audioVideoManager {
// The 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 {
// The 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 {
GADMobileAds.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");