با Android 8.0 (سطح API 26) و بالاتر، میتوانید به کاربران اجازه دهید ویجتهای خود را به صفحه اصلی خود در برنامه خود پین کنید. تبلیغ ویجت ها به طور مستقیم در برنامه شما یک راه عالی برای افزایش تعامل کاربر است، به خصوص پس از اینکه کاربر یک کار مرتبط را انجام داد، یا زمانی که کاربر به طور مکرر به یک ویژگی در برنامه شما دسترسی پیدا می کند.
یک درخواست پین ایجاد کنید
برای شروع پین کردن ویجت، از متد requestPinGlanceAppWidget
از کلاس GlanceAppWidgetManager
استفاده کنید. برای برنامههایی که در نسخههای پایینتر اندروید اجرا میشوند، این مقدار false را برمیگرداند. اما اگر درخواست با موفقیت به سیستم ارسال شود، این مقدار true را برمیگرداند.
در اینجا مثالی از نحوه ایجاد درخواست پین آورده شده است:
@Composable fun AnInAppComposable() { val context = LocalContext.current val coroutineScope = rememberCoroutineScope() Button( onClick = { coroutineScope.launch { GlanceAppWidgetManager(context).requestPinGlanceAppWidget( receiver = MyWidgetReceiver::class.java, preview = MyWidget(), previewState = DpSize(245.dp, 115.dp) ) } } ) {} }
در این مثال، MyWidgetReceiver
کلاسی است که تماس های ویجت را دریافت می کند و MyWidget
ویجت Glance است که می خواهید پین کنید. successCallback
یک PendingIntent
است که هنگامی که ویجت با موفقیت پین شود فعال می شود.
پاسخ درخواست پین را مدیریت کنید
وقتی کاربر به گفتگوی درخواست پین پاسخ می دهد، برنامه شما پاسخی دریافت می کند. اگر کاربر درخواست را بپذیرد، ویجت شما به صفحه اصلی او پین میشود و successCallback
PendingIntent
فعال میشود. اگر کاربر درخواست را رد کند، هیچ اتفاقی نمی افتد.
توجه به این نکته مهم است که successCallback
تنها در صورتی فعال می شود که ویجت با موفقیت به صفحه اصلی اضافه شود. اگر کاربر درخواست را رد کند یا راهانداز از پین کردن پشتیبانی نکند، فعال نمیشود.