Google User Messaging Platform (UMP) SDK ابزاری برای حفظ حریم خصوصی و پیامرسانی است که به شما در مدیریت انتخابهای حریم خصوصی کمک میکند. برای اطلاعات بیشتر، درباره حریم خصوصی و پیامرسانی را ببینید.
یک نوع پیام ایجاد کنید
پیامهای کاربر را با یکی از انواع پیامهای کاربر موجود در برگه حریم خصوصی و پیامرسانی حساب AdMob خود ایجاد کنید. UMP SDK سعی میکند پیام حریم خصوصی ایجاد شده از AdMob Application ID را در پروژه شما نمایش دهد.
برای جزئیات بیشتر، درباره حریم خصوصی و پیامرسانی را ببینید.
SDK را وارد کنید
CocoaPods (ترجیحا)
ساده ترین راه برای وارد کردن SDK به پروژه iOS استفاده از CocoaPods است. Podfile پروژه خود را باز کنید و این خط را به هدف برنامه خود اضافه کنید:
pod 'GoogleUserMessagingPlatform'
سپس دستور زیر را اجرا کنید:
pod install --repo-update
اگر با CocoaPods تازه کار هستید، برای جزئیات بیشتر در مورد نحوه ایجاد و استفاده از Podfiles به استفاده از CocoaPods مراجعه کنید.
مدیر بسته سوئیفت
UMP SDK همچنین از مدیریت بسته Swift پشتیبانی می کند. برای وارد کردن بسته سوئیفت این مراحل را دنبال کنید.
در Xcode، بسته UMP SDK Swift را با رفتن به File > Add Packages... نصب کنید.
در اعلان ظاهر شده، مخزن UMP SDK Swift Package GitHub را جستجو کنید:
https://github.com/googleads/swift-package-manager-google-user-messaging-platform.git
نسخه UMP SDK Swift Package را که می خواهید استفاده کنید انتخاب کنید. برای پروژههای جدید، توصیه میکنیم از نسخه اصلی تا بعدی استفاده کنید.
سپس Xcode وابستگی های بسته شما را برطرف می کند و آنها را در پس زمینه دانلود می کند. برای جزئیات بیشتر در مورد نحوه افزودن وابستگی های بسته، به مقاله اپل مراجعه کنید.
دانلود دستی
راه دیگر وارد کردن SDK این است که آن را به صورت دستی انجام دهید.
سپس، چارچوب را به پروژه Xcode خود بکشید و مطمئن شوید که در صورت نیاز موارد کپی را انتخاب کنید.
سپس می توانید چارچوب را در هر فایلی که نیاز دارید با استفاده از:
سویفت
import UserMessagingPlatform
هدف-C
#include <UserMessagingPlatform/UserMessagingPlatform.h>
شناسه برنامه را اضافه کنید
میتوانید شناسه برنامه خود را در رابط کاربری AdMob پیدا کنید. شناسه را با قطعه کد زیر به Info.plist
خود اضافه کنید:
<key>GADApplicationIdentifier</key>
<string>ca-app-pub-xxxxxxxxxxxxxxxx~yyyyyyyyyy</string>
اطلاعات رضایت کاربر را دریافت کنید
باید با استفاده از requestConsentInfoUpdate(with:completionHandler:)
در هر راهاندازی برنامه، اطلاعات رضایت کاربر را بهروزرسانی کنید. این درخواست موارد زیر را بررسی می کند:
- آیا رضایت لازم است . به عنوان مثال، برای بار اول رضایت لازم است، یا تصمیم قبلی رضایت منقضی شده است.
- آیا یک نقطه ورود گزینه های حریم خصوصی مورد نیاز است یا خیر . برخی از پیامهای حریم خصوصی به برنامهها نیاز دارند که به کاربران اجازه دهند گزینههای حریم خصوصی خود را در هر زمان تغییر دهند.
سویفت
// 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
// ...
}
هدف-C
// Requesting an update to consent information should be called on every app launch.
[UMPConsentInformation.sharedInstance
requestConsentInfoUpdateWithParameters:parameters
completionHandler:^(NSError *_Nullable requestConsentError) {
// ...
}];
فرم پیام حریم خصوصی را بارگیری و ارائه کنید
پس از دریافت بهروزترین وضعیت رضایت، با loadAndPresentIfRequired(from:)
تماس بگیرید تا فرمهای مورد نیاز برای دریافت رضایت کاربر بارگیری شود. پس از بارگذاری، فرم ها بلافاصله ارائه می شوند.
سویفت
try await UMPConsentForm.loadAndPresentIfRequired(from: viewController)
SwiftUI
try await UMPConsentForm.loadAndPresentIfRequired(from: nil)
هدف-C
[UMPConsentForm
loadAndPresentIfRequiredFromViewController:viewController
completionHandler:^(NSError *_Nullable loadAndPresentError) {
// Consent gathering process is complete.
}];
گزینه های حفظ حریم خصوصی
برخی از فرمهای پیام حریم خصوصی از نقطه ورود گزینههای حریم خصوصی ارائهشده توسط ناشر ارائه میشوند و به کاربران اجازه میدهند گزینههای حریم خصوصی خود را در هر زمان مدیریت کنند. برای اطلاعات بیشتر در مورد پیامی که کاربران شما در نقطه ورودی گزینههای حریم خصوصی میبینند، به انواع پیامهای کاربر موجود مراجعه کنید.
بررسی کنید که آیا یک نقطه ورود گزینه های حریم خصوصی مورد نیاز است یا خیر
بعد از اینکه requestConsentInfoUpdate(with:completionHandler:)
را فراخوانی کردید، UMPConsentInformation.sharedInstance.privacyOptionsRequirementStatus
را بررسی کنید تا مشخص کنید آیا یک نقطه ورودی گزینه های حریم خصوصی برای برنامه شما لازم است یا خیر. اگر یک نقطه ورودی مورد نیاز است، یک عنصر رابط کاربری قابل مشاهده و قابل تعامل به برنامه خود اضافه کنید که فرم گزینه های حریم خصوصی را ارائه می دهد. اگر نقطه ورود حریم خصوصی مورد نیاز نیست، عنصر UI خود را طوری پیکربندی کنید که قابل مشاهده و تعامل نباشد.
سویفت
var isPrivacyOptionsRequired: Bool {
return UMPConsentInformation.sharedInstance.privacyOptionsRequirementStatus == .required
}
هدف-C
- (BOOL)isPrivacyOptionsRequired {
return UMPConsentInformation.sharedInstance.privacyOptionsRequirementStatus ==
UMPPrivacyOptionsRequirementStatusRequired;
}
برای فهرست کامل وضعیتهای مورد نیاز گزینههای حریم خصوصی، به UMPPrivacyOptionsRequirementStatus
مراجعه کنید.
فرم گزینه های حریم خصوصی را ارائه دهید
هنگامی که کاربر با عنصر شما تعامل دارد، فرم گزینه های حریم خصوصی را ارائه دهید:
سویفت
try await UMPConsentForm.presentPrivacyOptionsForm(from: viewController)
SwiftUI
try await UMPConsentForm.presentPrivacyOptionsForm(from: nil)
هدف-C
[UMPConsentForm presentPrivacyOptionsFormFromViewController:viewController
completionHandler:completionHandler];
درخواست تبلیغات با رضایت کاربر
قبل از درخواست تبلیغات، از UMPConsentInformation.sharedInstance.canRequestAds
استفاده کنید تا بررسی کنید آیا رضایت کاربر را دریافت کرده اید یا خیر:
سویفت
UMPConsentInformation.sharedInstance.canRequestAds
هدف-C
UMPConsentInformation.sharedInstance.canRequestAds;
مکانهای زیر برای بررسی اینکه آیا میتوانید هنگام جمعآوری رضایت آگهی درخواست کنید، فهرست شدهاند:
- پس از کسب رضایت UMP SDK در جلسه جاری.
- بلافاصله پس از فراخوانی
requestConsentInfoUpdate(with:completionHandler:)
. UMP SDK ممکن است در جلسه قبلی برنامه رضایت کسب کرده باشد.
اگر در فرآیند جمعآوری رضایت خطایی رخ داد، بررسی کنید که آیا میتوانید درخواست تبلیغات کنید. UMP SDK از وضعیت رضایت جلسه قبلی برنامه استفاده می کند.
از کار اضافی درخواست آگهی جلوگیری کنید
همانطور که UMPConsentInformation.sharedInstance.canRequestAds
پس از جمعآوری رضایت و پس از فراخوانی requestConsentInfoUpdate(with:completionHandler:)
بررسی میکنید، مطمئن شوید که منطق شما از درخواستهای اضافی تبلیغاتی جلوگیری میکند که ممکن است منجر به بازگشت true
هر دو چک شود. به عنوان مثال، با یک متغیر بولی.
تست کردن
اگر میخواهید یکپارچهسازی برنامه خود را در حین توسعه آزمایش کنید، این مراحل را دنبال کنید تا دستگاه آزمایشی خود را به صورت برنامهنویسی ثبت کنید. قبل از انتشار برنامه، حتماً کدی را که این شناسههای دستگاه آزمایشی را تنظیم میکند حذف کنید.
-
requestConsentInfoUpdate(with:completionHandler:)
را فراخوانی کنید. خروجی گزارش را برای پیامی شبیه به مثال زیر بررسی کنید، که شناسه دستگاه شما و نحوه افزودن آن را به عنوان یک دستگاه آزمایشی نشان می دهد:
<UMP SDK>To enable debug mode for this device, set: UMPDebugSettings.testDeviceIdentifiers = @[2077ef9a63d2b398840261c8221a0c9b]
شناسه دستگاه آزمایشی خود را در کلیپ بورد خود کپی کنید.
کد خود را تغییر دهید تا
UMPDebugSettings().testDeviceIdentifiers
فراخوانی کنید و لیستی از شناسه های دستگاه آزمایشی خود را ارسال کنید.سویفت
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 // ... })
هدف-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){ // ... }];
جغرافی اجباری
UMP SDK راهی برای آزمایش رفتار برنامه شما ارائه میدهد که گویی دستگاه در مناطق مختلفی مانند EEA یا بریتانیا قرار دارد و با استفاده geography
میتوانید آن را آزمایش کنید. توجه داشته باشید که تنظیمات اشکال زدایی فقط در دستگاه های آزمایشی کار می کند.
سویفت
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
// ...
})
هدف-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 را بازنشانی کنید تا بتوانید اولین تجربه نصب کاربر را شبیه سازی کنید. SDK روش reset
را برای انجام این کار ارائه می دهد.
سویفت
UMPConsentInformation.sharedInstance.reset()
هدف-C
[UMPConsentInformation.sharedInstance reset];
نمونه هایی در GitHub
نمونه کاملی از ادغام UMP SDK را که در این صفحه پوشش داده شده است ببینید