Với Android 8.0 (API cấp 26) trở lên, bạn có thể cho phép người dùng ghim các tiện ích của bạn vào màn hình chính trong ứng dụng. Việc quảng bá tiện ích ngay trong ứng dụng là một cách tuyệt vời để tăng mức độ tương tác của người dùng, đặc biệt là sau khi người dùng hoàn thành một tác vụ liên quan hoặc khi người dùng truy cập nhiều lần vào một tính năng trong ứng dụng của bạn.
Tạo yêu cầu về mã PIN
Để bắt đầu ghim tiện ích, hãy sử dụng phương thức requestPinGlanceAppWidget
trong lớp GlanceAppWidgetManager
. Đối với các ứng dụng chạy trên phiên bản Android thấp hơn, phương thức này sẽ trả về giá trị false. Tuy nhiên, nếu yêu cầu được gửi thành công đến hệ thống, thì phương thức này sẽ trả về giá trị true.
Sau đây là ví dụ về cách bạn có thể tạo yêu cầu ghim:
@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) ) } } ) {} }
Trong ví dụ này, MyWidgetReceiver
là lớp nhận các lệnh gọi lại của tiện ích, còn MyWidget
là tiện ích Glance mà bạn muốn ghim. successCallback
là một PendingIntent
được kích hoạt khi tiện ích được ghim thành công.
Xử lý Phản hồi yêu cầu mã PIN
Khi người dùng phản hồi hộp thoại yêu cầu mã ghim, ứng dụng của bạn sẽ nhận được một phản hồi. Nếu người dùng chấp nhận yêu cầu, tiện ích của bạn sẽ được ghim vào màn hình chính của họ và successCallback
PendingIntent
sẽ được kích hoạt. Nếu người dùng từ chối yêu cầu, thì sẽ không có điều gì xảy ra.
Điều quan trọng cần lưu ý là successCallback
chỉ được kích hoạt nếu tiện ích được thêm thành công vào màn hình chính. Sự kiện này sẽ không được kích hoạt nếu người dùng từ chối yêu cầu hoặc nếu trình chạy không hỗ trợ tính năng ghim.