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