Với Android 8.0 (cấp độ API 26) trở lên, bạn có thể cho phép người dùng ghim tiện ích vào màn hình chính trong ứng dụng của bạn. Việc quảng bá tiện ích ngay trong ứng dụng là một cách hiệu quả để 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 nhiệm vụ liên quan hoặc khi người dùng liên tục truy cập vào một tính năng trong ứng dụng của bạn.
Tạo yêu cầu ghim
Để bắt đầu ghim tiện ích, hãy sử dụng phương thức requestPinGlanceAppWidget từ 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ì hàm này sẽ trả về giá trị true.
Sau đây là ví dụ về cách 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 lệnh gọi lại của tiện ích và 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 ghim, ứng dụng của bạn sẽ nhận được phản hồi. Nếu người dùng chấp nhận yêu cầu, thì 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ó 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. Lệnh gọi lại này 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.