کیت توسعه نرمافزار پلتفرم پیامرسانی کاربر گوگل (UMP) ابزاری برای حفظ حریم خصوصی و پیامرسانی است که به شما در مدیریت گزینههای حریم خصوصی کمک میکند. برای اطلاعات بیشتر، به «درباره حریم خصوصی و پیامرسانی» مراجعه کنید.
پیامهای کاربری را با یکی از انواع پیامهای کاربری موجود در زیر برگه حریم خصوصی و پیامرسانی حساب AdMob خود ایجاد کنید. UMP SDK تلاش میکند تا یک پیام حریم خصوصی ایجاد شده از شناسه برنامه AdMob تنظیم شده در پروژه شما را نمایش دهد.
برای جزئیات بیشتر، به «درباره حریم خصوصی و پیامرسانی» مراجعه کنید.
میتوانید شناسه برنامه خود را در رابط کاربری AdMob پیدا کنید. شناسه را با استفاده از قطعه کد زیر به AndroidManifest.xml خود اضافه کنید:
<manifest>
<application>
<meta-data
android:name="com.google.android.gms.ads.APPLICATION_ID"
android:value="ca-app-pub-xxxxxxxxxxxxxxxx~yyyyyyyyyy"/>
</application>
</manifest>
برای دریافت اطلاعات رضایت کاربر، موارد زیر را انجام دهید:
یک نمونه از ConsentInformation تعریف کنید:
private final ConsentInformation consentInformation;
private lateinit val consentInformation: ConsentInformation
نمونه ConsentInformation را مقداردهی اولیه کنید:
consentInformation = UserMessagingPlatform.getConsentInformation(context);
consentInformation = UserMessagingPlatform.getConsentInformation(context)
شما باید در هر بار اجرای برنامه، با استفاده از requestConsentInfoUpdate() درخواست بهروزرسانی اطلاعات رضایت کاربر را بدهید. این درخواست موارد زیر را بررسی میکند:
- آیا رضایت لازم است ؟ برای مثال، آیا برای اولین بار رضایت لازم است یا تصمیم رضایت قبلی منقضی شده است.
- اینکه آیا به نقطه ورود گزینههای حریم خصوصی نیاز است یا خیر . برخی از پیامهای حریم خصوصی از برنامهها میخواهند که به کاربران اجازه دهند گزینههای حریم خصوصی خود را در هر زمانی تغییر دهند.
// Requesting an update to consent information should be called on every app launch.
consentInformation.requestConsentInfoUpdate(
activity,
params,
() -> // Called when consent information is successfully updated.
requestConsentError -> // Called when there's an error updating consent information.
// Requesting an update to consent information should be called on every app launch.
consentInformation.requestConsentInfoUpdate(
activity,
params,
{
// Called when consent information is successfully updated.
},
{ requestConsentError ->
// Called when there's an error updating consent information.
},
)
پس از دریافت آخرین وضعیت رضایت، تابع loadAndShowConsentFormIfRequired() را برای بارگذاری هر فرم مورد نیاز برای جمعآوری رضایت کاربر فراخوانی کنید. پس از بارگذاری، فرمها بلافاصله نمایش داده میشوند.
UserMessagingPlatform.loadAndShowConsentFormIfRequired(
activity,
formError -> {
// Consent gathering process is complete.
});
UserMessagingPlatform.loadAndShowConsentFormIfRequired(activity) { formError ->
// Consent gathering process is complete.
}
برخی از فرمهای پیامهای حریم خصوصی از یک نقطه ورود گزینههای حریم خصوصی ارائه شده توسط ناشر ارائه میشوند و به کاربران اجازه میدهند گزینههای حریم خصوصی خود را در هر زمانی مدیریت کنند. برای کسب اطلاعات بیشتر در مورد اینکه کاربران شما در نقطه ورود گزینههای حریم خصوصی چه پیامی را میبینند، به انواع پیامهای موجود برای کاربر مراجعه کنید. پس از فراخوانی برای فهرست کامل وضعیتهای الزامات گزینههای حریم خصوصی، به وقتی کاربر با عنصر شما تعامل میکند، فرم گزینههای حریم خصوصی را نمایش دهید: requestConsentInfoUpdate() ، تابع getPrivacyOptionsRequirementStatus() را بررسی کنید تا مشخص شود که آیا نقطه ورود گزینههای حریم خصوصی برای برنامه شما مورد نیاز است یا خیر. اگر نقطه ورود مورد نیاز است، یک عنصر رابط کاربری قابل مشاهده و قابل تعامل به برنامه خود اضافه کنید که فرم گزینههای حریم خصوصی را ارائه دهد. اگر نقطه ورود حریم خصوصی مورد نیاز نیست، عنصر رابط کاربری خود را طوری پیکربندی کنید که قابل مشاهده و قابل تعامل نباشد.
/** Helper variable to determine if the privacy options form is required. */
public boolean isPrivacyOptionsRequired() {
return consentInformation.getPrivacyOptionsRequirementStatus()
== PrivacyOptionsRequirementStatus.REQUIRED;
}
/** Helper variable to determine if the privacy options form is required. */
val isPrivacyOptionsRequired: Boolean
get() =
consentInformation.privacyOptionsRequirementStatus ==
ConsentInformation.PrivacyOptionsRequirementStatus.REQUIRED
ConsentInformation.PrivacyOptionsRequirementStatus مراجعه کنید.
UserMessagingPlatform.showPrivacyOptionsForm(activity, onConsentFormDismissedListener);
UserMessagingPlatform.showPrivacyOptionsForm(activity, onConsentFormDismissedListener)
قبل از درخواست تبلیغات، از canRequestAds() برای بررسی اینکه آیا رضایت کاربر را دریافت کردهاید یا خیر، استفاده کنید:
consentInformation.canRequestAds();
consentInformation.canRequestAds()
مکانهای زیر برای بررسی اینکه آیا میتوانید ضمن جمعآوری رضایت، درخواست تبلیغات دهید، فهرست شدهاند:
- پس از اینکه UMP SDK در جلسه فعلی رضایت را جمع آوری کرد.
- بلافاصله پس از اینکه
requestConsentInfoUpdate()را فراخوانی کردید. ممکن است UMP SDK در جلسه قبلی برنامه، رضایت را دریافت کرده باشد.
اگر در طول فرآیند جمعآوری رضایت خطایی رخ داد، بررسی کنید که آیا میتوانید درخواست تبلیغات دهید یا خیر. UMP SDK از وضعیت رضایت جلسه قبلی برنامه استفاده میکند.
همانطور که canRequestAds() پس از جمعآوری رضایت و پس از فراخوانی requestConsentInfoUpdate() بررسی میکنید، مطمئن شوید که منطق شما از درخواستهای تبلیغاتی اضافی که ممکن است منجر به برگرداندن true در هر دو بررسی شوند، جلوگیری میکند. برای مثال، با یک متغیر بولی.
اگر میخواهید در حین توسعه، ادغام را در برنامه خود آزمایش کنید، این مراحل را برای ثبت برنامهای دستگاه آزمایشی خود دنبال کنید. قبل از انتشار برنامه، حتماً کدی را که این شناسههای دستگاه آزمایشی را تنظیم میکند، حذف کنید.
- فراخوانی
requestConsentInfoUpdate(). خروجی گزارش را برای پیامی مشابه مثال زیر بررسی کنید، که شناسه دستگاه شما و نحوه اضافه کردن آن به عنوان یک دستگاه آزمایشی را نشان میدهد:
Use new ConsentDebugSettings.Builder().addTestDeviceHashedId("33BE2250B43518CCDA7DE426D04EE231") to set this as a debug device.شناسه دستگاه آزمایشی خود را در کلیپبورد کپی کنید.
کد خود را طوری تغییر دهید که
ConsentDebugSettings.Builder().TestDeviceHashedIdsفراخوانی کند و لیستی از شناسههای دستگاههای آزمایشی شما را ارسال کند.جاوا ConsentDebugSettings debugSettings = new ConsentDebugSettings.Builder(this) .addTestDeviceHashedId("TEST-DEVICE-HASHED-ID") .build(); ConsentRequestParameters params = new ConsentRequestParameters .Builder() .setConsentDebugSettings(debugSettings) .build(); consentInformation = UserMessagingPlatform.getConsentInformation(this); // Include the ConsentRequestParameters in your consent request. consentInformation.requestConsentInfoUpdate( this, params, // ... );کاتلین val debugSettings = ConsentDebugSettings.Builder(this) .addTestDeviceHashedId("TEST-DEVICE-HASHED-ID") .build() val params = ConsentRequestParameters .Builder() .setConsentDebugSettings(debugSettings) .build() consentInformation = UserMessagingPlatform.getConsentInformation(this) // Include the ConsentRequestParameters in your consent request. consentInformation.requestConsentInfoUpdate( this, params, // ... )
کیت توسعه نرمافزار UMP روشی را برای آزمایش رفتار برنامه شما فراهم میکند، گویی دستگاه در مناطق مختلفی مانند منطقه اقتصادی اروپا (EEA)، بریتانیا (UK) و سوئیس با استفاده از setDebugGeography() قرار دارد. توجه داشته باشید که تنظیمات اشکالزدایی فقط روی دستگاههای آزمایشی کار میکنند.
ConsentDebugSettings debugSettings = new ConsentDebugSettings.Builder(this)
.setDebugGeography(ConsentDebugSettings.DebugGeography.DEBUG_GEOGRAPHY_EEA)
.addTestDeviceHashedId("TEST-DEVICE-HASHED-ID")
.build();
ConsentRequestParameters params = new ConsentRequestParameters
.Builder()
.setConsentDebugSettings(debugSettings)
.build();
consentInformation = UserMessagingPlatform.getConsentInformation(this);
// Include the ConsentRequestParameters in your consent request.
consentInformation.requestConsentInfoUpdate(
this,
params,
...
);
val debugSettings = ConsentDebugSettings.Builder(this)
.setDebugGeography(ConsentDebugSettings.DebugGeography.DEBUG_GEOGRAPHY_EEA)
.addTestDeviceHashedId("TEST-DEVICE-HASHED-ID")
.build()
val params = ConsentRequestParameters
.Builder()
.setConsentDebugSettings(debugSettings)
.build()
consentInformation = UserMessagingPlatform.getConsentInformation(this)
// Include the ConsentRequestParameters in your consent request.
consentInformation.requestConsentInfoUpdate(
this,
params,
...
)
هنگام آزمایش برنامه خود با UMP SDK، ممکن است تنظیم مجدد وضعیت SDK برای شبیهسازی اولین تجربه نصب کاربر مفید باشد. SDK متد reset() را برای انجام این کار ارائه میدهد.
consentInformation.reset();
consentInformation.reset()