سنجاق کردن ابزاره‌های «نگاه سریع» درون برنامه

در Android 8.0 (سطح API 26) و نسخه‌های بالاتر، می‌توانید به کاربران اجازه دهید ابزاره‌هایتان را در صفحه اصلی برنامه سنجاق کنند. تبلیغ ابزاره‌ها مستقیماً در برنامه راهی عالی برای افزایش مشارکت کاربر است، به‌ویژه پس‌از اینکه کاربر کار مرتبطی را تکمیل می‌کند یا وقتی کاربر به‌طور مکرر به ویژگی‌ای در برنامه شما دسترسی پیدا می‌کند.

ایجاد درخواست پین

برای شروع سنجاق کردن ابزاره، از روش requestPinGlanceAppWidget در کلاس GlanceAppWidgetManager استفاده کنید. برای برنامه‌هایی که در نسخه‌های پایین‌تر Android اجرا می‌شوند، این مقدار false برمی‌گرداند. بااین‌حال، اگر درخواست باموفقیت به سیستم ارسال شود، این تابع مقدار درست برمی‌گرداند.

در اینجا نمونه‌ای از نحوه ایجاد درخواست سنجاق کردن آورده شده است:

@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 ابزاره «نگاه سریع» است که می‌خواهید سنجاق کنید. successCallback یک PendingIntent است که وقتی ابزاره باموفقیت سنجاق می‌شود راه‌اندازی می‌شود.

مدیریت پاسخ درخواست پین

وقتی کاربری به کادر گفتگوی درخواست سنجاق پاسخ می‌دهد، برنامه شما پاسخی دریافت می‌کند. اگر کاربر درخواست را بپذیرد، ابزارک شما به صفحه اصلی او سنجاق می‌شود و successCallback PendingIntent راه‌اندازی می‌شود. اگر کاربر درخواست را رد کند، هیچ اتفاقی نمی‌افتد.

توجه داشته باشید که successCallback فقط درصورتی راه‌اندازی می‌شود که ابزاره باموفقیت به صفحه اصلی اضافه شود. اگر کاربر درخواست را رد کند یا اگر راه‌انداز از سنجاق کردن پشتیبانی نکند، این ویژگی راه‌اندازی نمی‌شود.