Wallet עם גישה מהירה

התכונה 'Google Wallet לגישה מהירה', זמינה Android 11 מאפשר למשתמש: לגשת לכרטיסי תשלום ולכרטיסים רלוונטיים ישירות מתפריט ההפעלה. שימוש עיקרי כולל בחירה באמצעי התשלום המתאים לפני ביצוע עסקה במסוף NFC וגישה מהירה לטיסות ולכרטיסים אחרים לאירועים קרובים.

ב-Android מגרסה 12 ואילך, Wallet עם גישה מהירה התכונה זמינה מההצללה כפי שמוצג באיור 1 ואיור 2.

התכונה 'גישה מהירה' של Wallet מוצללת
איור 1. התכונה 'גישה מהירה' של Wallet (המכשיר נעול).
התכונה 'גישה מהירה' של Wallet מוצללת
איור 2. התכונה 'Google Wallet לגישה מהירה' (נעילת המכשיר בוטלה).

ב-Android 11, התכונה זמינה מתפריט ההפעלה כפי שמוצג איור 3.

התכונה 'Google Wallet לגישה מהירה' בתפריט ההפעלה
איור 3. תכונת הארנק בגישה מהירה מופעלת .

הדרישות

כדי להשתמש בתכונה 'Google Wallet לגישה מהירה', המכשיר צריך לתמוך ב-NFC. התכונה מקושר אל QuickAccessWalletService של אפליקציית ברירת המחדל לתשלומים באמצעות NFC, כלומר שהמכשיר צריך גם לתמוך בטכנולוגיית NFC אמולציית כרטיסים מבוססת-מארח (HCE).

סקירה כללית של התכונות

'ארנק עם גישה מהירה' כולל שני חלקים: ממשק המשתמש של ארנק עם גישה מהירה ספק כרטיס Google Wallet לגישה מהירה.

ב-Android מגרסה 12 ואילך, ממשק המשתמש של Wallet פועל במערכת בממשק המשתמש, והוא נמצא ב- frameworks/base/packages/SystemUI/src/com/android/systemui/wallet לחשבון Android 11, ממשק המשתמש של Wallet, שנמצא ב platform/packages/apps/QuickAccessWallet צריך להתקין את האפליקציה ולהוסיף אותה לרשימת ההיתרים.

ספק הכרטיס של Wallet לגישה מהירה הוא אפליקציית ברירת המחדל לתשלומים באמצעות NFC. המשתמשים יכולים להתקין כמה אפליקציות תשלום באמצעות NFC בו-זמנית, אבל רק ברירת המחדל אפליקציית התשלומים NFC יכולה להציג כרטיסים בתפריט ההפעלה. ניתן לציין איזו NFC אפליקציית התשלומים מוגדרת בהתחלה כברירת המחדל, אבל המשתמשים יכולים לבחור באפליקציה בהגדרות. אם רק אפליקציית תשלום אחת באמצעות NFC מותקנת, היא תהפוך ל כברירת מחדל באופן אוטומטי ( CardEmulationManager).

הטמעה

כדי לספק כרטיסים לממשק המשתמש של Wallet עם גישה מהירה, תשלום באמצעות NFC חובה להטמיע באפליקציות QuickAccessWalletService אפליקציות תשלום חייבות לכלול רשומת מניפסט שמפרסמת את השירות.

כדי לוודא שרק ממשק המשתמש של המערכת יוכל להיות מקושר ל-QuickAccessWalletService, אפליקציית התשלומים בחיבור NFC צריכה לדרוש ההרשאה android.permission.BIND_QUICK_ACCESS_WALLET_SERVICE. דרישה זו מבטיחה רק ממשק המשתמש של המערכת יכול להיות מקושר ל-QuickAccessWalletService.

<service
     android:name=".MyQuickAccessWalletService"
     android:label="@string/my_default_tile_label"
     android:icon="@drawable/my_default_icon_label"
     android:logo="@drawable/my_wallet_logo"
     android:permission="android.permission.BIND_QUICK_ACCESS_WALLET_SERVICE">
     <intent-filter>
         <action android:name="android.service.quickaccesswallet.QuickAccessWalletService" />
         <category android:name="android.intent.category.DEFAULT"/>
     </intent-filter>
     <meta-data android:name="android.quickaccesswallet"
          android:resource="@xml/quickaccesswallet_configuration" />
     <meta-data
          android:name="android.quickaccesswallet.tile"
          android:resource="@drawable/my_default_tile_icon"/>
</service>

מידע נוסף על הארנק כלול בקובץ ה-XML המקושר:

<quickaccesswallet-service
   xmlns:android="http://schemas.android.com/apk/res/android"
   android:settingsActivity="com.example.android.SettingsActivity"
   android:shortcutLongLabel="@string/my_wallet_empty_state_text"
   android:shortcutShortLabel="@string/my_wallet_button_text"
   android:targetActivity="com.example.android.WalletActivity"/>

בשלב הבא, אפליקציית התשלומים צריכה להטמיע את QuickAccessWalletService:

public class MyQuickAccessWalletService extends QuickAccessWalletService {

    @Override
    public void onWalletCardsRequested(
            GetWalletCardsRequest request,
            GetWalletCardsCallback callback) {
        GetWalletCardsResponse response = // generate response
        callback.onSuccess(response);
    }

    @Override
    public void onWalletCardSelected(SelectWalletCardRequest request) {
        // selecting a card should ensure that it is used when making an NFC payment
    }

    @Override
    public void onWalletDismissed() {
        // May un-select card if the wallet app has the concept of a 'default'
        // payment method
    }
}

אם HostApduService יתחיל לטפל בעסקת NFC, וכתוצאה מכך מתחיל פעילות כדי להציג את ההתקדמות ואת התוצאה של התשלום, הוא אמור לנסות גם לקבל הפניה אל QuickAccessWalletService שאליו מועברת השיחה QuickAccessWalletService#sendEvent עם סוג אירוע של TYPE_NFC_PAYMENT_STARTED פעולה זו תגרום לממשק המשתמש של 'Google Wallet לגישה מהירה' נסגרת, כך שהמשתמש יכול לראות את פעילות התשלום בלי שום דבר שמסתיר אותו או חלק ממנו.

מסמכים נוספים לגבי הטמעת QuickAccessWalletService זמינים בכתובת QuickAccessWalletService את הרצף TestQuickAccessWalletService בדיקת CTS.

הפעלת ממשק המשתמש של Wallet בגישה מהירה ב-Android 11

כדי להגדיר ש-'Google Wallet לגישה מהירה' יהיה זמין מתפריט ההפעלה ב-Android 11, צריך לכלול את QuickAccessWallet לטרגט ב-build ולהפעיל את הפלאגין globalactions.wallet על ידי הוספה של את השורה המודגשת בדוגמת הקוד שלמטה קובץ overlay/frameworks/base/packages/SystemUI/res/values/config.xml.

<resources>
    ...
    <!-- SystemUI Plugins that can be loaded on user builds. -->
    <string-array name="config_pluginWhitelist" translatable="false">
        <item>com.android.systemui</item>
        <item>com.android.systemui.plugin.globalactions.wallet</item>
    </string-array>
</resources>

יש לציין את אפליקציית ברירת המחדל לתשלומים באמצעות NFC ב- קובץ תצורת הגדרות באמצעות def_nfc_payment_component.

אפליקציית ברירת המחדל לתשלומים באמצעות NFC צריכה לחשוף QuickAccessWalletService כדי לספק כרטיסים ל-Quick Access Wallet. אם אפליקציית ברירת המחדל לתשלומים באמצעות NFC לא מייצא את השירות הזה, ממשק המשתמש של הארנק מוסתר.

פרטי ההטמעה של QuickAccessWalletService

ב-QuickAccessWalletService יש שלוש שיטות מופשטות שצריך להטמיע: onWalletCardsRequested, onWalletCardSelected וגם onWalletDismissed. בתרשים הרצף הבא ממחיש רצף שיחות כאשר Wallet לגישה מהירה מוצג ממש לפני תשלום באמצעות NFC.

תרשים רצף של &#39;Google Wallet לגישה מהירה&#39;

דוגמה לרצף שיחות כשצופים ב&#39;Google Wallet לגישה מהירה&#39;
איור 4. דוגמה לרצף שיחות כאשר 'Google Wallet לגישה מהירה' הוא נצפה.

לא כל התצוגות של 'Google Wallet לגישה מהירה' כוללות תשלום באמצעות NFC, אבל איור 4 למעלה ממחיש את כל היכולות של QuickAccessWalletService בדוגמה זו, הכרטיס של Google Wallet לגישה מהירה של הספק מיישם את הרכיבים המפורטים בכחול. ההנחה היא שתשלום הכרטיסים מאוחסנים במכשיר במסד נתונים וניתן לגשת אליהם דרך ממשק בשם PaymentCardManager. בנוסף, מניחים שפעילות בשם PaymentActivity מציג את התוצאה של תשלום באמצעות NFC. התהליך ממשיכה באופן הבא:

  1. המשתמש מבצע תנועה כדי לפתוח את Wallet עם גישה מהירה.
  2. ממשק המשתמש של 'Google Wallet לגישה מהירה' (חלק מממשק המשתמש של המערכת) בודק את החבילה כדי לבדוק אם אפליקציית התשלומים של NFC שמוגדרת כברירת מחדל מיוצאת QuickAccessWalletService

    • אם לא מתבצע ייצוא של השירות, לא מתבצע ייצוא של Wallet לגישה מהירה מוצגת.
  3. ממשק המשתמש של 'Google Wallet עם גישה מהירה' מקושר ל-QuickAccessWalletService ול קוראת ל-onWalletCardsRequested. השיטה הזו לוקחת אובייקט בקשה שכוללים נתונים על המספר והגודל של הכרטיסים שאפשר לספק וקריאה חוזרת (callback). אפשר לבצע את הקריאה החוזרת משרשור ברקע.

  4. QuickAccessWalletService מחשב את הכרטיסים שהוא רוצה להציג, ואז קורא ל-method onSuccess בקריאה החוזרת שסופקה. זו מומלץ שהשירות יבצע את הפעולות האלה בשרשור ברקע.

  5. ברגע שהכרטיסים מוצגים, ממשק המשתמש של המערכת שולח הודעה. QuickAccessWalletService שהכרטיס הראשון נבחר בהתקשרות onWalletCardSelected.

    • מתבצעת קריאה אל onWalletCardSelected בכל פעם שהמשתמש בוחר כרטיס חדש.
    • ייתכן שניתן להתקשר אל onWalletCardSelected גם אם הכרטיס שנבחר לא השתנה.
  6. כשהמשתמש סוגר את 'Google Wallet לגישה מהירה', ממשק המשתמש של המערכת שולח הודעה. QuickAccessWalletService בהתקשרות אל onWalletDismissed.

בדוגמה שלמעלה, המשתמש מכניס את הטלפון לטווח של תשלום באמצעות NFC בזמן שהארנק מוצג. רכיב מרכזי בטיפול ב-NFC התשלומים הם HostApduService, וצריך להטמיע אותם כדי לעבד חשבונות APDU סופק על ידי קורא ה-NFC (למידע נוסף, אמולציית כרטיסים מבוססת-מארח). ההנחה היא שאפליקציית התשלומים מתחילה פעילות כדי להציג את ההתקדמות התוצאה של האינטראקציה עם מסוף ה-NFC. אבל התכונה 'גישה מהירה' ממשק המשתמש של Wallet מוצג בחלק העליון של חלון האפליקציה, כלומר פעילות התשלום מוסתרת על ידי ממשק המשתמש של Google Wallet לגישה מהירה. כדי לתקן את המצב, חייבת ליידע את ממשק המשתמש של המערכת שממשק המשתמש של Wallet עם הגישה המהירה נסגרה. היא יכולה לעשות זאת באמצעות הפניה אל QuickAccessWalletService והתקשרות אל sendWalletServiceEvent עם האירוע מקלידים TYPE_NFC_PAYMENT_STARTED.

הטמעה לדוגמה של QuickAccessWalletService

/** Sample implementation of {@link QuickAccessWalletService} */
@RequiresApi(VERSION_CODES.R)
public class MyQuickAccessWalletService extends QuickAccessWalletService {

  private static final String TAG = "QAWalletSvc";
  private ExecutorService executor;
  private PaymentCardManager paymentCardManager;

  @Override
  public void onCreate() {
    super.onCreate();
    if (Build.VERSION.SDK_INT < Build.VERSION_CODES.R) {
      Log.w(TAG, "Should not run on pre-R devices");
      stopSelf();
      return;
    }
    executor = Executors.newSingleThreadExecutor();
    paymentCardManager = new PaymentCardManager();
  }

  @Override
  public void onDestroy() {
    if (Build.VERSION.SDK_INT < Build.VERSION_CODES.R) {
      return;
    }
    executor.shutdownNow();
  }

  @Override
  public void onWalletCardsRequested(
      @NonNull GetWalletCardsRequest request, @NonNull GetWalletCardsCallback callback) {
    if (Build.VERSION.SDK_INT < Build.VERSION_CODES.R) {
      return;
    }
    executor.submit(
        () -> {
          List<PaymentCard> paymentCards = paymentCardManager.getCards();
          int maxCards = Math.min(paymentCards.size(), request.getMaxCards());
          List<WalletCard> walletCards = new ArrayList<>(maxCards);
          int selectedIndex = 0;
          int cardWidthPx = request.getCardWidthPx();
          int cardHeightPx = request.getCardHeightPx();
          for (int index = 0; index < maxCards; index++) {
            PaymentCard paymentCard = paymentCards.get(index);
            WalletCard walletCard =
                new WalletCard.Builder(
                        paymentCard.getCardId(),
                        paymentCard.getCardImage(cardWidthPx, cardHeightPx),
                        paymentCard.getContentDescription(),
                        paymentCard.getPendingIntent())
                    .build();
            walletCards.add(walletCard);
            if (paymentCard.isSelected()) {
              selectedIndex = index;
            }
          }
          GetWalletCardsResponse response =
              new GetWalletCardsResponse(walletCards, selectedIndex);
          callback.onSuccess(response);
        });
  }

  @Override
  public void onWalletCardSelected(@NonNull SelectWalletCardRequest request) {
    if (Build.VERSION.SDK_INT < Build.VERSION_CODES.R) {
      return;
    }
    executor.submit(
        () -> paymentCardManager.selectCardById(request.getCardId()));
  }

  @Override
  public void onWalletDismissed() {
    if (Build.VERSION.SDK_INT < Build.VERSION_CODES.R) {
      return;
    }
    executor.submit(() -> {
      paymentCardManager.removeCardOverrides();
    });
  }
}

פרטים נוספים על QuickAccessWalletService זמינים במאמר QuickAccessWalletService הפניית API.

הרשאות

ערך המניפסט עבור QuickAccessWalletService חייב לכלול את הפרמטר ההרשאה android.permission.BIND_QUICK_ACCESS_WALLET_SERVICE נוספה אל Android 11. זוהי הרשאה ברמת החתימה בהמתנה על ידי ממשק המשתמש של המערכת, רק התהליך של ממשק המשתמש של המערכת יכול לקשר להטמעות של QuickAccessWalletService חשוב לשים לב שאפליקציות עם העלאה צדדית יכולות להצהיר על זכויות יוצרים בתלונה הזו הרשאה וגישה מלאה לנתוני QuickAccessWalletService במכשירים עם Android מגרסה 10 ומטה. כדי למנוע זאת, מומלץ יש לבדוק את גרסת ה-build ב-onCreate ולהפעיל את השירות רק במכשירים עם Android מגרסה 11 ואילך. אין הרשאות אחרות לאפליקציה נדרשים מעבר לאלה שנדרשים כדי לספק תשלום על אמולציית כרטיס מארח שירותים שונים.

אם אפליקציית ברירת המחדל לתשלומים באמצעות NFC לא מוטמעת או מייצאת QuickAccessWalletService, ממשק המשתמש של Wallet לגישה מהירה לא מוצג.

הגדרות ב-Android 12

כדי להפעיל או להשבית את 'Google Wallet לגישה מהירה' ממסך הנעילה, המשתמשים יכולים צריך להשתמש במתג הצגת הארנק בהגדרות > Display > נעילת מגע. כדי להשבית את Google Wallet בהצללה, המשתמשים צריכים לערוך באופן ידני בלוח ההגדרות המהירות.

מתג להפעלה או להשבתה של Wallet במסך הנעילה

איור 5. הצגת מתג הארנק בדף מסך הנעילה בהגדרות.

הגדרות ב-Android 11

המשתמשים יכולים להשבית את התכונה 'Google Wallet לגישה מהירה' מאפליקציית ההגדרות. דף ההגדרות נמצא ב- הגדרות > מערכת > תנועות > כרטיסים כרטיסים.

דף הגדרות כדי להפעיל או להשבית את התכונה &#39;Google Wallet לגישה מהירה&#39;
איור 6. לדף ההגדרות להפעלה או להשבתה של תכונת Wallet 'גישה מהירה'.

התאמה אישית

הוספת תצוגת Google Wallet לגישה מהירה למיקום אחר בממשק המשתמש של המערכת

ממשק המשתמש של Wallet עם גישה מהירה בנוי כמו פלאגין של המערכת. למרות שהטמעת ה-AOSP משתמשת בו GlobalActionsDialog (מוצג בלחיצה ארוכה על לחצן ההפעלה), אפשר להעביר את התכונה אל מאחורי תנועה אחרת כל עוד יש לכם חוזה לפי הממשק של יישומי הפלאגין.

public interface GlobalActionsPanelPlugin extends Plugin {

  /** Invoked when the view is shown */
  PanelViewController onPanelShown(Callbacks callbacks, boolean deviceLocked);

  /** Callbacks for interacting with the view container */
  interface Callbacks {
    /** Dismisses the view */
    void dismissGlobalActionsMenu();

    /** Starts a PendingIntent, dismissing the keyguard if necessary. */
    void startPendingIntentDismissingKeyguard(PendingIntent pendingIntent);
  }

  /** Provides the Quick Access Wallet view */
  interface PanelViewController {

    /** Returns the QuickAccessWallet view, which may take any size */
    View getPanelContent();

    /** Invoked when the view is dismissed */
    void onDismissed();

    /** Invoked when the device is either locked or unlocked. */
    void onDeviceLockStateChanged(boolean locked);
  }
}

ממשק המשתמש של Wallet עם גישה מהירה עם GlobalActionsPanelPlugin ו-PanelViewController. GlobalActionsDialog מקבל מופע של הפלאגין של Wallet באמצעות com.android.systemui.Dependency:

GlobalActionsPanelPlugin mPanelPlugin =
    Dependency.get(ExtensionController.class)
        .newExtension(GlobalActionsPanelPlugin.class)
        .withPlugin(GlobalActionsPanelPlugin.class)
        .build()
        .get();

אחרי שבדקנו שהפלאגין אינו null ושה-PanelViewController שהוחזר על ידי onPanelShown אינו null, בתיבת הדו-שיח מצורפת קובץ ה-View שסופק של getPanelContent אל View שלו, ומספקת קריאה חוזרת (callbacks) מתאימים עבור אירועי מערכת.

// Construct a Wallet PanelViewController.
// `this` implements GlobalActionsPanelPlugin.Callbacks
GlobalActionsPanelPlugin.PanelViewController mPanelController =
    mPanelPlugin.onPanelShown(this, !mKeyguardStateController.isUnlocked());

// Attach the view
FrameLayout panelContainer = findViewById(R.id.my_panel_container);
FrameLayout.LayoutParams panelParams =
    new FrameLayout.LayoutParams(
        FrameLayout.LayoutParams.MATCH_PARENT,
        FrameLayout.LayoutParams.MATCH_PARENT);
panelContainer.addView(mPanelController.getPanelContent(), panelParams);

// Respond to unlock events (if the view can be accessed while the phone is locked)
keyguardStateController.addCallback(new KeyguardStateController.Callback() {
  @Override
  public void onUnlockedChanged() {
    boolean unlocked = keyguardStateController.isUnlocked()
        || keyguardStateController.canDismissLockScreen();
    mPanelController.onDeviceLockStateChanged(unlocked);
  }
});

// Implement GlobalActionsPanelPlugin.Callbacks
@Override
public void dismissGlobalActionsMenu() {
  dismissDialog();
}
@Override
public void startPendingIntentDismissingKeyguard(PendingIntent pendingIntent) {
  mActivityStarter.startPendingIntentDismissingKeyguard(pendingIntent);
}

// Notify the wallet when the container view is dismissed
mPanelController.onDismissed();

כדי להסיר את 'Google Wallet לגישה מהירה' מתפריט ההפעלה, צריך להשמיט את יעד אחד (QuickAccessWallet) מגרסת ה-build של המערכת. כדי להסיר את הגישה המהירה Wallet מתפריט ההפעלה אבל הוסף אותו לתצוגה שונה של ממשק המשתמש של המערכת, כוללים את יעד ה-build ומסירים את ההפניות אל GlobalActionsPanelPlugin מתוך GlobalActionsImpl.

קביעת הגדרות ברירת המחדל

12 ‏Android

ב-Android מגרסה 12 ואילך, אפליקציית Wallet לגישה מהירה היא גלויות תמיד בלוח ההגדרות המהירות. הרשאות הגישה לגישה המהירה הארנק במסך הנעילה מוגבל באמצעות הגדרת האבטחה הבאה: LOCKSCREEN_SHOW_WALLET הגדרה זו קובעת אם Wallet לגישה מהירה מופיע בפינה השמאלית התחתונה של מסך הנעילה. ההגדרה הזו נקבעה כך: true כברירת מחדל, אבל המשתמש יכול להשבית אותה בהגדרות > Display > נעילת מסך > הצגת הארנק.

Android 11

ב-Android 11, הרשאות הגישה של 'Google Wallet לגישה מהירה' מוגבלות על ידי שתי הגדרות מאובטחות: GLOBAL_ACTIONS_PANEL_ENABLED וגם GLOBAL_ACTIONS_PANEL_AVAILABLE ההגדרה של AVAILABLE קובעת אם אפשר להפעיל או להשבית את התכונה הגדרות. הערך שנקבע בהגדרה הזו הוא true על ידי WalletPluginService. אם QuickAccessWallet לא כלול ב-build, ההגדרה תישאר false. כברירת מחדל ההגדרה ENABLED מוגדרת כ-true באותו מקום, אבל המשתמשים יכולים להשבית אותה בהגדרות. כדי לשנות את התנהגות ברירת המחדל, שינוי של WalletPluginService#enableFeatureInSettings.

אימות

כדי לאמת את היישום של 'Google Wallet לגישה מהירה', הפעל CTS וידני בדיקות. השינויים בפלאגין צריכים לכלול גם את בדיקות רובולקטריות.

בדיקות CTS

להריץ את בדיקות ה-CTS הממוקמות ב- cts/tests/quickaccesswallet

בדיקות ידניות ל-Android 12

כדי לבדוק את התכונות העיקריות של 'Google Wallet לגישה מהירה' צריך לשלם באמצעות NFC מסוף (אמיתי או מזויף) ואפליקציית תשלומים בחיבור NFC שמטמיעה QuickAccessWalletService (אפליקציית Google Wallet). תכונות ליבה שחובה לבדוק כוללות את: זמינות, מצב אפס, בחירת כרטיס והתנהגות מסך הנעילה.

זמינות

  • אם אפליקציית ברירת המחדל לתשלומים באמצעות NFC לא תומכת בתכונה הזו, אין גישה אל Wallet לא בהגדרות המהירות או במנעול מסך.
  • אם אפליקציית ברירת המחדל לתשלום NFC תומכת בתכונה, התכונה 'גישה מהירה' ניתן לגשת ל-Wallet דרך לוח ההגדרות המהירות.
  • אם אפליקציית ברירת המחדל לתשלומים באמצעות NFC תומכת בתכונה הזו ההגדרה של LOCKSCREEN_SHOW_WALLET היא true, הגדרת 'ארנק הגישה המהירה' היא יהיה זמין במסך הנעילה.
  • אם אפליקציית ברירת המחדל לתשלומים באמצעות NFC תומכת בתכונה הזו ההגדרה של LOCKSCREEN_SHOW_WALLET היא false, אפליקציית 'Google Wallet לגישה מהירה' לא יהיה זמין במסך הנעילה.

מצב אפס

  • אם המדיניות QuickAccessWalletService מופעלת ומיוצאת אבל לא בכל כרטיס שהוא, האריח יופיע כמו שמוצג באיור 7. לחיצה על המשבצת פותחת את אפליקציית ברירת המחדל לתשלומים ב-NFC.

    משבצת לדוגמה של אפליקציית התשלומים שהוגדרה כברירת מחדל ב-NFC

    איור 7. משבצת לדוגמה בחלונית של אפליקציית התשלומים שהוגדרה כברירת מחדל באמצעות NFC.

  • לחיצה על תצוגת המצב הריק כפי שמוצג באיור 8 פותחת את אפליקציית ברירת המחדל לתשלומים באמצעות NFC. תצוגת המצב הריק מוצגת רק למשתמש נותר כרטיס אחד בארנק, הוא מסיר את הכרטיס מפרטי הכרטיס ולאחר מכן חוזר לתצוגת הארנק.

  • במסך הנעילה מוצג סמל הארנק.

תצוגת מצב ריק ב&#39;ארנק עם גישה מהירה&#39;

איור 8. תצוגת מצב ריקה בממשק המשתמש של ארנק עם גישה מהירה.

מצב לא אפס

  • אם אפליקציית הארנק מספקת כרטיס אחד או יותר, המשבצת שבאפליקציית הארנק מופיעה כפי שמוצג באיור 9.

    משבצת לדוגמה בחלונית של אפליקציית הארנק כשיש כרטיס אחד או יותר

    איור 9. משבצת לדוגמה בחלונית של אפליקציית הארנק כשיש כרטיס אחד או יותר.

  • כשלוחצים על המשבצת, מוצגת קרוסלת כרטיסים.

  • במסך הנעילה מוצג לחצן שפותח את 'Google Wallet לגישה מהירה'.

    ממשק המשתמש של Wallet לגישה מהירה עם כרטיס שמוצג

    איור 10. ממשק המשתמש של Wallet לגישה מהירה עם כרטיס.

  • אם הכרטיס המוצג מייצג אמצעי תשלום NFC, לוחצים לחיצה ארוכה על לטלפון למסוף תשלום באמצעות NFC. כתוצאה מכך נעשה שימוש באמצעי התשלום הזה ותצוגת הארנק נסגרת.

  • לחיצה על כרטיס שמוצג תפתח את הפעילות המפורטת באותו כרטיס.

  • אם סופקו כמה כרטיסים על ידי QuickAccessWalletService, המשתמש יכול להחליק בין כרטיסים.

  • תפריט האפשרויות הנוספות מכיל רשומה אחת: צריך לפתוח את הגדרות מסך הנעילה כדי שהמשתמש יכול לשנות את האפשרות הצגת הארנק.

בדיקות של מצב הנעילה

  • אם הטלפון נעול, הארנק מופיע בהגדרות המהירות חלונית, עם התיאור הוספת כרטיס אם לא קיים כרטיס כברירת מחדל או לבטל את הנעילה לשימוש אם כרטיסים קיימים באפליקציית התשלומים שמוגדרת כברירת מחדל.
  • אם הטלפון נעול, הרשאות הגישה של הארנק במסך הנעילה נקבעים על ידי ההגדרה Secure.LOCKSCREEN_SHOW_WALLET, נקבע ב'הגדרות'.
  • אם הטלפון נעול, הערך של LOCKSCREEN_SHOW_WALLET הוא false וללא כרטיס קיים באפליקציית התשלום המוגדרת כברירת מחדל עם NFC, הארנק לא מוצג מסך הנעילה.
  • אם הטלפון נעול, הערך של LOCKSCREEN_SHOW_WALLET הוא true וללא כרטיס קיים באפליקציית התשלומים המוגדרת כברירת מחדל עם NFC, הארנק לא מוצג מסך הנעילה.
  • אם הטלפון נעול, הערך של LOCKSCREEN_SHOW_WALLET הוא true והכרטיסים קיימת באפליקציית התשלומים NFC שמוגדרת כברירת מחדל, הארנק מוצג במנעול. מסך.
  • ביטול נעילת הטלפון בזמן שהארנק מוצג במנעול תגרום לכך שתתבצע בקשה מחדש של כרטיסים, מה שעלול להוביל תוכן שונה בכרטיס.

בדיקות נגישות

  • משתמשי Talkback יכולים לנווט בתצוגת הארנק על ידי החלקה ימינה ושמאלה ועל ידי האזנה לתיאורי התוכן של הכרטיסים.
  • כשהחלקה ימינה ושמאלה כש-TalkBack מופעל, בוחרים כל כרטיס בתורו. משתמשי Talkback יכולים לבחור באמצעי תשלום NFC ולהשתמש בו בתשלום באמצעות NFC נקודתיים.

בדיקות ידניות ל-Android 11

כדי לבדוק את התכונות העיקריות של 'Google Wallet לגישה מהירה' צריך לשלם באמצעות NFC מסוף (אמיתי או מזויף) ואפליקציית תשלומים בחיבור NFC שמטמיעה QuickAccessWalletService (אפליקציית Google Wallet). תכונות ליבה שחובה לבדוק כוללים זמינות, מצב אפס, בחירת כרטיס והתנהגות מסך הנעילה.

זמינות

  • אם ההגדרה GLOBAL_ACTIONS_PANEL_ENABLED היא true וברירת המחדל אפליקציית התשלומים NFC תומכת בתכונה הזו. אפשר לגשת ל-Wallet עם גישה מהירה.
  • אם ההגדרה GLOBAL_ACTIONS_PANEL_ENABLED היא false וברירת המחדל אפליקציית התשלומים NFC תומכת בתכונה הזו. אפליקציית Wallet לגישה מהירה לא נגיש.
  • אם ההגדרה GLOBAL_ACTIONS_PANEL_ENABLED היא true וברירת המחדל אפליקציית התשלומים NFC לא תומכת בתכונה הזו – 'ארנק עם גישה מהירה' לא נגיש.
  • אם ההגדרה GLOBAL_ACTIONS_PANEL_ENABLED היא false וברירת המחדל אפליקציית התשלומים NFC לא תומכת בתכונה הזו – 'ארנק עם גישה מהירה' לא נגיש.

מצב אפס

  • אם המדיניות QuickAccessWalletService מופעלת ומיוצאת אבל לא לספק כרטיסים, בממשק המשתמש של 'Google Wallet לגישה מהירה' מוצגת תצוגת מצב ריקה.
  • לחיצה על תצוגת המצב הריק פותחת את אפליקציית הארנק.

    תצוגת מצב ריקה בממשק המשתמש של ארנק עם גישה מהירה
    איור 11. מצב 'ריק' בתצוגה המהירה 'גישה מהירה' ממשק המשתמש של Wallet.

מצב לא אפס

  • אם אפליקציית הארנק מספקת כרטיס אחד או יותר, הכרטיסים יוצגו בממשק המשתמש של Google Wallet לגישה מהירה.

    ממשק המשתמש של Wallet לגישה מהירה עם כרטיס שמוצג
    איור 12. ממשק משתמש של Wallet עם גישה מהירה לכרטיס מוצגים.
  • אם הכרטיס המוצג מייצג אמצעי תשלום NFC, לוחצים לחיצה ארוכה על לטלפון למסוף תשלום באמצעות NFC. כתוצאה מכך נעשה שימוש באמצעי התשלום הזה ותצוגת הארנק נסגרת.

  • לחיצה על כרטיס מוצג גורמת לסגירה של תצוגת הארנק ולפתיחת פעילות מפורטת של אותו כרטיס.

  • אם סופקו כמה כרטיסים על ידי QuickAccessWalletService, המשתמש יכול להחליק בין כרטיסים.

  • בתפריט האפשרויות הנוספות יש שתי רשומות: אחת שפותחת את אפליקציית הארנק והשנייה פותחת את האפשרות הצגת כרטיסים הכרטיסים בהגדרות.

בדיקות של מצב הנעילה

  • אם הטלפון נעול, הרשאות הגישה של הארנק נשלטות על ידי ההגדרה Settings.Secure.POWER_MENU_LOCK_SHOW_CONTENT, שיכולה להיות נקבע ב'הגדרות'.
  • אם הטלפון נעול והסטטוס של POWER_MENU_LOCK_SHOW_CONTENT הוא false, Google Wallet לא מוצג.
  • אם הטלפון נעול והסטטוס של POWER_MENU_LOCK_SHOW_CONTENT הוא true, ו-Wallet מוצג.
  • ביטול נעילת הטלפון בזמן שהארנק מוצג במנעול תגרום לשליחת שאילתות מחדש של הכרטיסים, מה שעלול להוביל תוכן שונה בכרטיס.

בדיקות נגישות

  • משתמשי TalkBack יכולים להחליק ימינה ושמאלה בתצוגת הארנק ועל ידי האזנה לתיאורי התוכן של הכרטיסים.
  • כש-TalkBack פועל, מחליקים ימינה ושמאלה כדי לבחור כל כרטיס בנפרד. משתמשי TalkBack יכולים לבחור אמצעי תשלום באמצעות NFC ולהשתמש בו בתשלום באמצעות NFC נקודתיים.