حزمة تطوير البرامج (SDK) لمنصّة Google User Messaging Platform هي أداة خصوصية ومراسلة تساعدك في إدارة خيارات الخصوصية. لمزيد من المعلومات، يُرجى الاطّلاع على مقالة لمحة عن أداة "الخصوصية والمراسلة".
إنشاء نوع رسالة
أنشئ رسائل مستخدِمين باستخدام أحد أنواع رسائل المستخدِمين المتاحة ضمن علامة التبويب الخصوصية والمراسلة في حسابك على مدير إعلانات Google. تحاول حزمة تطوير البرامج لمنصّة UMP عرض رسالة خصوصية تم إنشاؤها من معرّف تطبيق "مدير إعلانات Google" الذي تم ضبطه في مشروعك.
لمزيد من التفاصيل، يُرجى الاطّلاع على لمحة عن الخصوصية والرسائل.
استيراد حزمة SDK
CocoaPods (الخيار المفضّل)
إنّ أسهل طريقة لاستيراد حزمة تطوير البرامج (SDK) إلى مشروع iOS هي استخدام CocoaPods. افتحملف Podfile الخاص بمشروعك وأضِف هذا السطر إلى استهداف تطبيقك:
pod 'GoogleUserMessagingPlatform'
بعد ذلك، نفِّذ الأمر التالي:
pod install --repo-update
إذا كنت حديث العهد باستخدام CocoaPods، اطّلِع على مقالة استخدام CocoaPods لمعرفة تفاصيل حول كيفية إنشاء ملفات Podfiles واستخدامها.
أداة إدارة حِزم Swift
تتوافق حزمة تطوير البرامج لمنصة UMP أيضًا مع أداة Swift Package Manager. اتّبِع الخطوات التالية لتحميل حزمة Swift.
في Xcode، ثبِّت حزمة Swift الخاصة بحزمة تطوير البرامج (SDK) لمنصة UMP من خلال الانتقال إلى ملف > إضافة حِزم....
في الطلب الذي يظهر، ابحث عن حزمة Swift لـ UMP SDK في مستودع GitHub:
https://github.com/googleads/swift-package-manager-google-user-messaging-platform.git
اختَر إصدار حزمة Swift الخاصة بحزمة تطوير البرامج (SDK) لمنصّة UMP الذي تريد استخدامه. بالنسبة إلى المشاريع الجديدة، ننصحك باستخدام الإصدار التالي.
بعد ذلك، يحلّ Xcode تبعيات الحزمة وينزّلها في الخلفية. لمعرفة المزيد من التفاصيل عن كيفية إضافة التبعيات الخاصة بالحِزم، يُرجى الاطّلاع على مقالة Apple.
التنزيل اليدوي
الطريقة الأخرى لاستيراد حزمة تطوير البرامج (SDK) هي إجراء ذلك يدويًا.
بعد ذلك، اسحب إطار العمل إلى مشروع Xcode، مع التأكّد من اختيار نسخ العناصر إذا لزم الأمر.
يمكنك بعد ذلك تضمين إطار العمل في أي ملف تحتاجه باستخدام:
Swift
import UserMessagingPlatform
Objective-C
#include <UserMessagingPlatform/UserMessagingPlatform.h>
أضِف رقم تعريف التطبيق.
يمكنك العثور على رقم تعريف تطبيقك في
واجهة مستخدم "مدير إعلانات Google".
أضِف المعرّف إلى
Info.plist
باستخدام مقتطف الرمز التالي:
<key>GADApplicationIdentifier</key>
<string>ca-app-pub-xxxxxxxxxxxxxxxx~yyyyyyyyyy</string>
الحصول على معلومات موافقة المستخدم
عليك طلب تعديل معلومات موافقة المستخدم عند كل بدء لتطبيقك باستخدام
requestConsentInfoUpdate(with:completionHandler:)
. يتحقّق هذا الطلب مما يلي:
- ما إذا كانت الموافقة مطلوبة على سبيل المثال، تكون الموافقة مطلوبة للمرة الأولى، أو انتهت صلاحية قرار الموافقة السابق.
- ما إذا كانت نقطة دخول خيارات الخصوصية مطلوبة تتطلب بعض رسائل الخصوصية من التطبيقات السماح للمستخدمين بتعديل خيارات الخصوصية في أي وقت.
Swift
// Requesting an update to consent information should be called on every app launch.
UMPConsentInformation.sharedInstance.requestConsentInfoUpdate(with: parameters) {
requestConsentError in
// ...
}
SwiftUI
// Requesting an update to consent information should be called on every app launch.
UMPConsentInformation.sharedInstance.requestConsentInfoUpdate(with: parameters) {
requestConsentError in
// ...
}
Objective-C
// Requesting an update to consent information should be called on every app launch.
[UMPConsentInformation.sharedInstance
requestConsentInfoUpdateWithParameters:parameters
completionHandler:^(NSError *_Nullable requestConsentError) {
// ...
}];
تحميل نموذج رسالة الخصوصية وعرضه
بعد تلقّي أحدث حالة موافقة، اتصل بـ
loadAndPresentIfRequired(from:)
لتحميل أي نماذج مطلوبة لجمع موافقة المستخدم. بعد التحميل، تظهر النماذج على الفور.
Swift
try await UMPConsentForm.loadAndPresentIfRequired(from: viewController)
SwiftUI
try await UMPConsentForm.loadAndPresentIfRequired(from: nil)
Objective-C
[UMPConsentForm
loadAndPresentIfRequiredFromViewController:viewController
completionHandler:^(NSError *_Nullable loadAndPresentError) {
// Consent gathering process is complete.
}];
خيارات الخصوصية
يتم عرض بعض نماذج رسائل الخصوصية من نقطة دخول خيارات الخصوصية التي يعرضها الناشر، ما يتيح للمستخدمين إدارة خيارات الخصوصية في أي وقت. لمزيد من المعلومات عن الرسالة التي تظهر للمستخدمين عند نقطة دخول خيارات الخصوصية، اطّلِع على أنواع رسائل المستخدمين المتاحة.
التحقّق مما إذا كانت نقطة دخول خيارات الخصوصية مطلوبة
بعد استدعاء
requestConsentInfoUpdate(with:completionHandler:)
، ضَع علامة في المربّع
UMPConsentInformation.sharedInstance.privacyOptionsRequirementStatus
لتحديد ما إذا كانت نقطة دخول خيارات الخصوصية مطلوبة لتطبيقك. إذا كانت نقطة دخول مطلوبة، أضِف عنصر واجهة مستخدم مرئيًا وقابلاً للتفاعل إلى تطبيقك يعرض نموذج خيارات الخصوصية. إذا لم تكن نقطة دخول الخصوصية مطلوبة،
يمكنك ضبط عنصر واجهة المستخدم بحيث لا يكون مرئيًا ولا يمكن التفاعل معه.
Swift
var isPrivacyOptionsRequired: Bool {
return UMPConsentInformation.sharedInstance.privacyOptionsRequirementStatus == .required
}
Objective-C
- (BOOL)isPrivacyOptionsRequired {
return UMPConsentInformation.sharedInstance.privacyOptionsRequirementStatus ==
UMPPrivacyOptionsRequirementStatusRequired;
}
للحصول على القائمة الكاملة لحالات متطلبات خيارات الخصوصية، يُرجى الاطّلاع على
UMPPrivacyOptionsRequirementStatus
.
عرض نموذج خيارات الخصوصية
عندما يتفاعل المستخدم مع العنصر، اعرض نموذج خيارات الخصوصية:
Swift
try await UMPConsentForm.presentPrivacyOptionsForm(from: viewController)
SwiftUI
try await UMPConsentForm.presentPrivacyOptionsForm(from: nil)
Objective-C
[UMPConsentForm presentPrivacyOptionsFormFromViewController:viewController
completionHandler:completionHandler];
طلب الإعلانات بعد الحصول على موافقة المستخدم
قبل طلب الإعلانات، استخدِم
UMPConsentInformation.sharedInstance.canRequestAds
للتحقّق مما إذا كان
قد تم الحصول على موافقة من المستخدم:
Swift
UMPConsentInformation.sharedInstance.canRequestAds
Objective-C
UMPConsentInformation.sharedInstance.canRequestAds;
في ما يلي الأماكن التالية التي يمكنك التحقّق منها لمعرفة ما إذا كان بإمكانك طلب عرض الإعلانات أثناء جمع الموافقة:
- بعد أن تجمع حزمة تطوير البرامج (SDK) لـ UMP الموافقة في الجلسة الحالية.
- بعد الاتصال بـ
requestConsentInfoUpdate(with:completionHandler:)
مباشرةً قد يكون قد تم الحصول على الموافقة في جلسة التطبيق السابقة من خلال "حزمة تطوير البرامج (SDK) لمنصّة User Messaging Platform".
إذا حدث خطأ أثناء عملية جمع الموافقة، تحقّق ممّا إذا كان بإمكانك طلب عرض الإعلانات. تستخدِم حزمة تطوير البرامج (SDK) لمنصّة UMP حالة الموافقة من جلسة التطبيق السابقة.
منع تكرار عمل طلبات الإعلانات
عند التحقّق من
UMPConsentInformation.sharedInstance.canRequestAds
بعد جمع الموافقة وبعد استدعاء
requestConsentInfoUpdate(with:completionHandler:)
، تأكّد من أنّ منطقك يمنع طلبات الإعلانات المتكرّرة التي
قد تؤدي إلى ظهور true
في كلا التحقّقين. على سبيل المثال، باستخدام متغيّر
boolean
الاختبار
إذا أردت اختبار عملية الدمج في تطبيقك أثناء تطويره، اتّبِع هذه الخطوات لتسجيل جهاز الاختبار آليًا. احرص على إزالة الرمز البرمجي الذي يضبط أرقام تعريف الأجهزة الاختبارية هذه قبل طرح تطبيقك.
- تواصل هاتفيًا مع "
requestConsentInfoUpdate(with:completionHandler:)
". راجِع إخراج السجلّ بحثًا عن رسالة مشابهة للمثال التالي، والتي تعرِض معرّف جهازك وكيفية إضافته كجهاز اختبار:
<UMP SDK>To enable debug mode for this device, set: UMPDebugSettings.testDeviceIdentifiers = @[2077ef9a63d2b398840261c8221a0c9b]
انسخ رقم تعريف جهاز الاختبار إلى الحافظة.
عدِّل الرمز لاستدعاء
UMPDebugSettings().testDeviceIdentifiers
وإدخال قائمة بأرقام تعريف الأجهزة الاختبارية.Swift
let parameters = UMPRequestParameters() let debugSettings = UMPDebugSettings() debugSettings.testDeviceIdentifiers = ["TEST-DEVICE-HASHED-ID"] parameters.debugSettings = debugSettings // Include the UMPRequestParameters in your consent request. UMPConsentInformation.sharedInstance.requestConsentInfoUpdate( with: parameters, completionHandler: { error in // ... })
Objective-C
UMPRequestParameters *parameters = [[UMPRequestParameters alloc] init]; UMPDebugSettings *debugSettings = [[UMPDebugSettings alloc] init]; debugSettings.testDeviceIdentifiers = @[ @"TEST-DEVICE-HASHED-ID" ]; parameters.debugSettings = debugSettings; // Include the UMPRequestParameters in your consent request. [UMPConsentInformation.sharedInstance requestConsentInfoUpdateWithParameters:parameters completionHandler:^(NSError *_Nullable error){ // ... }];
فرض موقع جغرافي
توفّر حزمة تطوير البرامج (SDK) لمنصّة UMP طريقة لاختبار سلوك تطبيقك كما لو كان الجهاز
يقع في مناطق مختلفة، مثل المنطقة الاقتصادية الأوروبية أو المملكة المتحدة، باستخدام
geography
. يُرجى العِلم أنّ إعدادات تصحيح الأخطاء لا تعمل إلا على الأجهزة الاختبارية.
Swift
let parameters = UMPRequestParameters()
let debugSettings = UMPDebugSettings()
debugSettings.testDeviceIdentifiers = ["TEST-DEVICE-HASHED-ID"]
debugSettings.geography = .EEA
parameters.debugSettings = debugSettings
// Include the UMPRequestParameters in your consent request.
UMPConsentInformation.sharedInstance.requestConsentInfoUpdate(
with: parameters,
completionHandler: { error in
// ...
})
Objective-C
UMPRequestParameters *parameters = [[UMPRequestParameters alloc] init];
UMPDebugSettings *debugSettings = [[UMPDebugSettings alloc] init];
debugSettings.testDeviceIdentifiers = @[ @"TEST-DEVICE-HASHED-ID" ];
debugSettings.geography = UMPDebugGeographyEEA;
parameters.debugSettings = debugSettings;
// Include the UMPRequestParameters in your consent request.
[UMPConsentInformation.sharedInstance
requestConsentInfoUpdateWithParameters:parameters
completionHandler:^(NSError *_Nullable error){
// ...
}];
إعادة ضبط حالة الموافقة
عند اختبار تطبيقك باستخدام حزمة تطوير البرامج لمنصّة UMP، قد يكون من المفيد إعادة ضبط
حالة حزمة SDK حتى تتمكّن من محاكاة تجربة تثبيت المستخدم الأولى.
توفّر حزمة SDK طريقة reset
لإجراء ذلك.
Swift
UMPConsentInformation.sharedInstance.reset()
Objective-C
[UMPConsentInformation.sharedInstance reset];
أمثلة على GitHub
يمكنك الاطّلاع على مثال كامل لدمج حزمة تطوير البرامج (SDK) لمنصّة UMP الذي تمت الإشارة إليه في هذه الصفحة على