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

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

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

برای شروع سنجاق کردن ابزاره، از روش requestPinGlanceAppWidget از کلاس GlanceAppWidgetManager استفاده کنید. برای برنامه‌هایی که در نسخه‌های پایین‌تر Android اجرا می‌شوند، این مقدار 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 فقط زمانی راه‌اندازی می‌شود که ابزاره باموفقیت به صفحه اصلی اضافه شده باشد. اگر کاربر درخواست را رد کند یا اگر راه‌انداز از سنجاق کردن پشتیبانی نکند، این میان‌بر راه‌اندازی نمی‌شود.