Menyematkan widget Sekilas dalam aplikasi

Dengan Android 8.0 (API level 26) dan yang lebih tinggi, Anda dapat mengizinkan pengguna menyematkan widget ke layar utama dalam aplikasi Anda. Mempromosikan widget langsung dalam aplikasi adalah cara yang bagus untuk meningkatkan engagement pengguna, terutama setelah pengguna menyelesaikan tugas terkait, atau saat pengguna berulang kali mengakses fitur di aplikasi Anda.

Membuat Permintaan Pin

Untuk memulai penyematan widget, gunakan metode requestPinGlanceAppWidget dari class GlanceAppWidgetManager. Untuk aplikasi yang berjalan di Android versi lebih rendah, fungsi ini akan menampilkan nilai salah (false). Namun, jika permintaan berhasil dikirim ke sistem, metode ini akan menampilkan nilai benar (true).

Berikut adalah contoh cara membuat permintaan pin:

@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)
                )
            }
        }
    ) {}
}

Dalam contoh ini, MyWidgetReceiver adalah class yang menerima callback widget, dan MyWidget adalah widget Glance yang ingin Anda sematkan. successCallback adalah PendingIntent yang dipicu saat widget berhasil disematkan.

Menangani Respons Permintaan Pin

Saat pengguna merespons dialog permintaan penyematan, aplikasi Anda akan menerima respons. Jika pengguna menyetujui permintaan, widget Anda akan disematkan ke layar utama, dan successCallback PendingIntent akan dipicu. Jika pengguna menolak permintaan, tidak akan terjadi apa-apa.

Perlu diperhatikan bahwa successCallback hanya dipicu jika widget berhasil ditambahkan ke layar utama. Callback ini tidak dipicu jika pengguna menolak permintaan atau jika peluncur tidak mendukung penyematan.