ב-Android 8.0 (רמת API 26) ואילך, אתם יכולים לאפשר למשתמשים להצמיד את הווידג'טים שלכם למסך הבית מתוך האפליקציה. קידום הווידג'טים ישירות באפליקציה הוא דרך מצוינת להגביר את מעורבות המשתמשים, במיוחד אחרי שמשתמש מסיים משימה שקשורה לווידג'ט, או כשהמשתמש ניגש שוב ושוב לתכונה באפליקציה.
יצירת בקשת קוד אימות
כדי להצמיד ווידג'ט, משתמשים בשיטה 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 שמופעל כשהווידג'ט מוצמד.
טיפול בתשובה לבקשת ה-PIN
כשמשתמש מגיב לתיבת הדו-שיח של בקשת קוד האימות, האפליקציה מקבלת תגובה. אם המשתמש יאשר את הבקשה, הווידג'ט שלכם יוצמד למסך הבית שלו, והאירוע successCallback PendingIntent יופעל. אם המשתמש דוחה את הבקשה, לא קורה כלום.
חשוב לציין שהאפשרות successCallback מופעלת רק אם הווידג'ט נוסף בהצלחה למסך הבית. היא לא מופעלת אם המשתמש דוחה את הבקשה או אם מרכז האפליקציות לא תומך בהצמדה.