تتوفّر ميزة Quick Access Wallet من Android 11، للمستخدمين الوصول إلى بطاقات الدفع والبطاقات ذات الصلة مباشرةً من قائمة زر التشغيل. استخدام كبير مثل تحديد طريقة الدفع المناسبة قبل إجراء إجراء معاملة في محطة الدفع بتقنية NFC والوصول سريعًا إلى الرحلات الجوية والبطاقات الأخرى للأحداث القادمة.
يمكن استخدام "محفظة الوصول السريع" في نظام التشغيل Android 12 أو الإصدارات الأحدث أخرى من الظل كما هو موضح في الشكل 1 والشكل 2.
في نظام Android 11، تتوفر هذه الميزة من قائمة زر التشغيل كما هو موضح في الشكل 3.
المتطلبات
يجب أن تتوفّر تقنية NFC على جهازك لتتمكّن من استخدام "محفظة Google" للوصول السريع. الميزة
يرتبط بـ QuickAccessWalletService
في تطبيق الدفع التلقائي عبر NFC، ما يعني
أنّه يجب أيضًا أن يكون الجهاز متوافقًا مع تقنية NFC
محاكاة البطاقة المستندة إلى المضيف (HCE):
نظرة عامة على الميزات
هناك جزآن في "محفظة الوصول السريع": واجهة مستخدم "محفظة" ضمن ميزة "الوصول السريع" موفِّر بطاقة "محفظة Google" للوصول السريع
في الإصدار 12 من نظام التشغيل Android أو الإصدارات الأحدث، يتم تشغيل واجهة مستخدم "محفظة Google" في "النظام".
واجهة المستخدم ويقع في
frameworks/base/packages/SystemUI/src/com/android/systemui/wallet
ضِمن
Android 11، وهو واجهة مستخدم "محفظة Google" التي تقع في
platform/packages/apps/QuickAccessWallet
,
وأن يتم تثبيته وإدراجه في القائمة البيضاء.
إنّ موفِّر بطاقة "محفظة الوصول السريع" هو تطبيق الدفع التلقائي عبر NFC. يمكن للمستخدمين
تثبيت العديد من تطبيقات الدفع عبر NFC في وقت واحد، ولكن التطبيق التلقائي فقط
يمكن أن يعرض تطبيق الدفع عبر NFC البطاقات في قائمة زر التشغيل. يمكنك تحديد تقنية NFC
يتم ضبط تطبيق الدفع على أنّه التطبيق التلقائي في البداية، ولكن يمكن للمستخدمين اختيار تطبيق
في "الإعدادات". في حال تثبيت تطبيق واحد فقط للدفع عبر NFC، يصبح التطبيق
الوضع الافتراضي تلقائيًا (انظر
CardEmulationManager
).
التنفيذ
لإتاحة البطاقات في واجهة مستخدم "محفظة Google" للوصول السريع، يجب الدفع عبر 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" للوصول السريع
إزالتها، ما يتيح للمستخدم الاطّلاع بشكل واضح على نشاط الدفع.
للحصول على مستندات إضافية حول تنفيذ QuickAccessWalletService
، يمكنك الاطّلاع على
QuickAccessWalletService
و
TestQuickAccessWalletService
اختبار CTS.
تفعيل واجهة مستخدم "محفظة Google" للوصول السريع إلى نظام التشغيل Android 11
لإعداد ميزة "محفظة الوصول السريع" لتكون متاحة من قائمة زر التشغيل
في Android 11، عليك تضمين
QuickAccessWallet
الاستهداف في الإصدار وتفعيل المكوّن الإضافي 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
لتقديم بطاقات إلى "محفظة Google" إذا كان تطبيق الدفع عبر NFC التلقائي
لا تصدّر هذه الخدمة، لأنّ واجهة مستخدم المحفظة مخفية.
تفاصيل تنفيذ QuickAccessWalletService
تعتمد الدالة QuickAccessWalletService
على ثلاث طرق مجردة يجب تنفيذها:
onWalletCardsRequested
وonWalletCardSelected
وonWalletDismissed
تشير رسالة الأشكال البيانية
مخطط تسلسلي أدناه يوضح تسلسل مكالمة عندما يتم استخدام تطبيق "محفظة الوصول السريع"
قبل الدفع مباشرةً باستخدام تقنية NFC.
لا تتم إضافة عملية دفع باستخدام تقنية NFC على بعض مشاهدات "محفظة الوصول السريع"، ولكن
يوضح الشكل 4 أعلاه جميع إمكانيات
QuickAccessWalletService
في هذا المثال، بطاقة محفظة الوصول السريع
ينفذ موفّر الخدمة العناصر الموضحة باللون الأزرق. من المفترض أن تدفع
يتم تخزين البطاقات على الجهاز في قاعدة بيانات ويتم الوصول إليها من خلال
باسم PaymentCardManager
. كما يُفترض أيضًا أن يكون النشاط
الاسم "PaymentActivity
" نتيجة عملية دفع عبر تقنية NFC. التدفق
على النحو التالي:
- ينفّذ المستخدم إيماءة لإظهار "محفظة Google".
واجهة مستخدم "محفظة الوصول السريع" (جزء من واجهة مستخدم النظام) تتحقّق من الحزمة مدير الشركاء لمعرفة ما إذا كان تطبيق الدفع التلقائي الذي يستخدم تقنية NFC يتم تصديره
QuickAccessWalletService
- إذا لم يتم تصدير الخدمة، لن يتم تصدير "محفظة الوصول السريع" المعروضة.
ترتبط واجهة مستخدم "محفظة Google" بميزة "الوصول السريع" بـ "
QuickAccessWalletService
" يتصل بـonWalletCardsRequested
. تأخذ هذه الطريقة كائن طلب يحتوي على بيانات حول عدد البطاقات التي يمكن تقديمها وحجمها ومعاودة الاتصال. يمكن استدعاء رد الاتصال من سلسلة محادثات في الخلفية.يحسب
QuickAccessWalletService
البطاقات التي يريد عرضها، ثم يستدعي الطريقةonSuccess
في رد الاتصال المقدم. من المهم ننصح بأن تنفّذ الخدمة هذه الإجراءات على سلسلة محادثات في الخلفية.فور عرض البطاقات، يتم إرسال إشعار من واجهة مستخدم النظام
QuickAccessWalletService
بأنّه تم اختيار البطاقة الأولى من خلال الاتصالonWalletCardSelected
- يتم الاتصال بـ
onWalletCardSelected
في كل مرة يختار فيها المستخدم بطاقة جديدة. - قد يتم استدعاء
onWalletCardSelected
حتى إذا كان الوقت الحالي لم تتغير البطاقة المحددة.
- يتم الاتصال بـ
عندما يغلق المستخدم "محفظة الوصول السريع"، ترسل واجهة مستخدم النظام إشعارًا
QuickAccessWalletService
من خلال الاتصال بالرقمonWalletDismissed
.
في المثال أعلاه، يضع المستخدم الهاتف في نطاق تسديد الدفعات باستخدام تقنية NFC.
محطة دفع أثناء عرض المحفظة. عنصر رئيسي في التعامل مع NFC
تبلغ قيمة الدفعات HostApduService
، ويجب تنفيذها لمعالجة متوسطات الأرباح لكل مستخدم يدفع رسومًا (APDU).
الذي يوفره قارئ NFC (لمزيد من المعلومات، راجع
محاكاة البطاقات المستندة إلى المضيف).
من المفترض أن يبدأ تطبيق الدفع نشاطًا لعرض مستوى التقدم
نتيجة التفاعل مع الوحدة الطرفية NFC. ومع ذلك، فإن واجهة برمجة التطبيقات Quick Access
يتم عرض واجهة مستخدم المحفظة أعلى نافذة التطبيق، مما يعني أن
تخفي واجهة مستخدم المحفظة "الوصول السريع" نشاط الدفع. لتصحيح هذا الأمر، يجب
يجب أن يعلم التطبيق واجهة مستخدم النظام بأنّه يجب ضبط واجهة مستخدم "محفظة Google" للوصول السريع
رفضت. ويمكنها القيام بذلك عن طريق الحصول على مرجع إلى الحد
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
.
الأذونات
يجب أن يتطلب إدخال البيان في QuickAccessWalletService
تم تقديم إذن android.permission.BIND_QUICK_ACCESS_WALLET_SERVICE
في
الإصدار 11 من نظام التشغيل Android هذا إذن على مستوى التوقيع.
بواسطة واجهة مستخدم النظام، مما يعني أنه
يمكن لعملية واجهة مستخدم النظام فقط الارتباط بعمليات تنفيذ
QuickAccessWalletService
يُرجى العلم أنّ التطبيقات المثبّتة من مصدر غير معروف قد تطالب بملكية هذا المحتوى
إذن والوصول بشكل كامل إلى بيانات "QuickAccessWalletService
" على الأجهزة
يعمل بنظام التشغيل Android 10 أو الإصدارات الأقدم. لمنع حدوث ذلك، ننصحك بأن تكون الخدمة
التحقّق من إصدار الإصدار في onCreate
وتفعيل الخدمة على الأجهزة فقط
يعمل بنظام التشغيل Android 11 أو إصدار أحدث. لا توجد أذونات تطبيقات أخرى
غير تلك اللازمة لتوفير خيار الدفع مقابل محاكاة البطاقة المضيفة
في حال تعذُّر تنفيذ أو تصدير تطبيق الدفع التلقائي عبر NFC
QuickAccessWalletService
، لا يتم عرض واجهة مستخدم "محفظة Google" للوصول السريع.
الإعدادات في Android 12
لتفعيل "محفظة الوصول السريع" أو إيقافها من شاشة القفل، يمكن للمستخدمين استخدام مفتاح التبديل إظهار المحفظة في الإعدادات > الشاشة > شاشة القفل: لإيقاف المحفظة في مركز المساعدة، على المستخدمين تعديل المحفظة يدويًا. في مركز الإعدادات السريعة.
الشكل 5. إظهار مفتاح تبديل المحفظة في صفحة شاشة القفل في "الإعدادات"
الإعدادات في نظام التشغيل Android 11
يمكن للمستخدمين إيقاف ميزة "محفظة Google" للوصول السريع من تطبيق "الإعدادات". تشير رسالة الأشكال البيانية صفحة الإعدادات في الإعدادات > النظام > الإيماءات > البطاقات البطاقات.
التخصيص
إضافة عرض "محفظة Google" للوصول السريع إلى موقع جغرافي آخر في واجهة مستخدم النظام
تشير رسالة الأشكال البيانية
واجهة مستخدم "محفظة Google" للوصول السريع
تم تصميمه باعتباره
المكوّن الإضافي للنظام.
وعلى الرغم من أن تنفيذ 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);
}
}
تشير رسالة الأشكال البيانية
واجهة مستخدم "محفظة Google" للوصول السريع
لتنفيذ GlobalActionsPanelPlugin
وPanelViewController
.
GlobalActionsDialog
تحصل على نسخة من المكون الإضافي للمحفظة باستخدام
com.android.systemui.Dependency
:
GlobalActionsPanelPlugin mPanelPlugin =
Dependency.get(ExtensionController.class)
.newExtension(GlobalActionsPanelPlugin.class)
.withPlugin(GlobalActionsPanelPlugin.class)
.build()
.get();
بعد التحقق من أن المكوِّن الإضافي ليس فارغًا وأن PanelViewController
الذي يعرضه onPanelShown
غير فارغ، يرفق مربع الحوار قيمة View
المقدمة
في getPanelContent
إلى View
الخاص بها، وتوفر استدعاءات مناسبة
أحداث النظام.
// 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();
لإزالة "محفظة الوصول السريع" من قائمة زر التشغيل، احذف
هدف "QuickAccessWallet
" من إصدار النظام. لإزالة قائمة "الوصول السريع"
يمكنك محفظة Google من قائمة زر التشغيل، ولكن بإضافتها إلى طريقة عرض مختلفة من واجهة مستخدم النظام،
تضمين هدف الإصدار وإزالة الإشارات إلى GlobalActionsPanelPlugin
من
GlobalActionsImpl
ضبط الإعدادات التلقائية
Android 12
في نظام التشغيل Android 12 أو الإصدارات الأحدث، يتم استخدام "محفظة الوصول السريع"
مرئية دائمًا في مركز الإعدادات السريعة. إذن الوصول السريع
يكون الإعداد الآمن التالي مضبوطًا على "محفظة Google" على شاشة القفل:
LOCKSCREEN_SHOW_WALLET
يتحكّم هذا الإعداد في ما إذا كانت "محفظة الوصول السريع"
يظهر الرمز في أسفل يسار شاشة القفل. تم ضبط هذا الإعداد على
true
تلقائيًا، ولكن يمكن للمستخدم إيقافها من خلال الإعدادات >
الشاشة > شاشة القفل > عرض المحفظة
Android 11
في Android 11، يقتصر إذن الوصول إلى "محفظة Google" على إعدادَين آمنَين:
"GLOBAL_ACTIONS_PANEL_ENABLED
" وGLOBAL_ACTIONS_PANEL_AVAILABLE
" تشير رسالة الأشكال البيانية
يتحكّم إعداد "AVAILABLE
" في إمكانية تفعيل الميزة وإيقافها في
الإعدادات. تم ضبط هذا الإعداد على true
من قِبل
WalletPluginService
إذا لم يكن QuickAccessWallet
مضمَّنًا في الإصدار، سيبقى الإعداد.
false
يتم تلقائيًا ضبط الإعداد ENABLED
في المكان نفسه على true
.
ولكن يمكن للمستخدم إيقافها من خلال "الإعدادات". لتغيير السلوك الافتراضي،
تعديل WalletPluginService#enableFeatureInSettings
.
التحقُّق
للتحقّق من تنفيذ "محفظة Google" للوصول السريع، شغِّل CTS وانقر على الاختبار. ينبغي أيضًا أن تؤدي التغييرات التي تطرأ على المكون الإضافي إلى الاختبارات المسجَّلة
اختبارات CTS
قم بتشغيل اختبارات CTS الموجودة في
cts/tests/quickaccesswallet
الاختبارات اليدوية لنظام التشغيل Android 12
يتطلب اختبار الميزات الأساسية في "محفظة الوصول السريع" الدفع باستخدام تقنية NFC.
محطة دفع (حقيقية أو مزيّفة) وتطبيق للدفع عبر NFC ينفّذ
"QuickAccessWalletService
" (تطبيق المحفظة) الميزات الأساسية التي يجب اختبارها
تشمل ما يلي: مدى التوفّر والحالة الصفرية واختيار البطاقة وسلوك شاشة القفل.
مدى التوفّر
- إذا كانت هذه الميزة لا تتوفر في تطبيق الدفع عبر NFC التلقائي، لا يمكن الوصول إلى "محفظة Google" من خلال الإعدادات السريعة أو القفل الشاشة.
- إذا كان تطبيق الدفع عبر NFC التلقائي متوافقًا مع هذه الميزة، يمكنك استخدام ميزة "الوصول السريع" ويمكن الوصول إلى "محفظة Google" في مركز الإعدادات السريعة.
- إذا كان تطبيق الدفع التلقائي عبر NFC يتيح هذه الميزة وما إذا كانت
تم ضبط إعدادات "
LOCKSCREEN_SHOW_WALLET
" على "true
"، و"محفظة الوصول السريع" هي على شاشة القفل. - إذا كان تطبيق الدفع التلقائي عبر NFC يتيح هذه الميزة وما إذا كانت
الإعداد "
LOCKSCREEN_SHOW_WALLET
" هو "false
"، لكنّ "محفظة الوصول السريع" غير متاح. على شاشة القفل.
الحالة الصفرية
في حال تفعيل
QuickAccessWalletService
وتصديره، ولكن لا يتم تفعيله تقديم أي بطاقات، سيظهر المربع في "الظل" كما هو موضح في مثال في الشكل 7. يؤدي النقر على المربّع إلى فتح تطبيق الدفع التلقائي عبر NFC.الشكل 7. مثال على مربّع في الظل يعرض التطبيق التلقائي للدفع عبر NFC.
يؤدي النقر على عرض الحالة الفارغ كما هو موضح في الشكل 8 إلى فتح هو التطبيق التلقائي للدفع عبر NFC. لا يتم عرض طريقة عرض الحالة الفارغة إلا عندما لدى المستخدم بطاقة واحدة متبقية في المحفظة، وتتم إزالة البطاقة من تفاصيل البطاقة ثم تعود إلى عرض المحفظة.
تعرض شاشة القفل رمز "محفظة Google".
الشكل 8. عرض حالة فارغ في واجهة مستخدم "محفظة Google" في ميزة "الوصول السريع"
حالة غير صفرية
إذا كان تطبيق "محفظة Google" يوفّر بطاقة واحدة أو أكثر، سيظهر مربّع في الظل كما هو موضح في الشكل 9.
الشكل 9. مثال على مربّع في الظل عندما يحتوي تطبيق "محفظة Google" على بطاقة واحدة أو أكثر
يؤدي النقر على المربّع إلى ظهور لوحة عرض دوّارة للبطاقات.
تعرض شاشة القفل زرًا يفتح "محفظة الوصول السريع".
الشكل 10. واجهة مستخدم "محفظة Google" للوصول السريع تظهر فيها بطاقة
إذا كانت البطاقة المعروضة تمثّل طريقة دفع عبر 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
يتطلب اختبار الميزات الأساسية في "محفظة الوصول السريع" الدفع باستخدام تقنية NFC.
محطة دفع (حقيقية أو مزيّفة) وتطبيق للدفع عبر NFC ينفّذ
"QuickAccessWalletService
" (تطبيق المحفظة) الميزات الأساسية التي يجب اختبارها
أن تشمل مدى التوفّر والحالة الصفرية واختيار البطاقة وسلوك شاشة القفل.
مدى التوفّر
- إذا كان الإعداد
GLOBAL_ACTIONS_PANEL_ENABLED
هوtrue
وهو الإعداد التلقائي يتيح تطبيق الدفع عبر NFC استخدام هذه الميزة، ويمكن الوصول إلى "محفظة Google" بسهولة. - إذا كان الإعداد
GLOBAL_ACTIONS_PANEL_ENABLED
هوfalse
وهو الإعداد التلقائي يتوافق تطبيق الدفع عبر NFC مع هذه الميزة، ولا إليه على الفور. - إذا كان الإعداد
GLOBAL_ACTIONS_PANEL_ENABLED
هوtrue
وهو الإعداد التلقائي لا يتيح تطبيق الدفع عبر NFC استخدام الميزة، "محفظة الوصول السريع" لا يمكن الوصول إليه. - إذا كان الإعداد
GLOBAL_ACTIONS_PANEL_ENABLED
هوfalse
وهو الإعداد التلقائي لا يتيح تطبيق الدفع عبر NFC استخدام الميزة، "محفظة الوصول السريع" لا يمكن الوصول إليه.
الحالة الصفرية
- في حال تفعيل
QuickAccessWalletService
وتصديره، ولكن لا يتم تفعيله تقديم أي بطاقات، تعرض واجهة مستخدم المحفظة في Quick Access عرض الحالة الفارغ. يؤدي النقر على عرض الحالة الفارغ إلى فتح تطبيق "محفظة Google".
حالة غير صفرية
إذا كان تطبيق "محفظة Google" يوفّر بطاقة واحدة أو أكثر، ستظهر لك البطاقات. في واجهة مستخدم "محفظة" ضمن "الوصول السريع"
إذا كانت البطاقة المعروضة تمثّل طريقة دفع عبر NFC، فإن الضغط على هاتفك إلى محطة دفع عبر تقنية NFC يؤدي إلى استخدام طريقة الدفع هذه ويتم إغلاق عرض المحفظة.
يؤدي النقر على بطاقة معروضة إلى إغلاق طريقة عرض المحفظة وفتح النشاط المفصّل لتلك البطاقة
في حال تقديم
QuickAccessWalletService
بطاقات متعددة، على المستخدم إمكانية التمرير بين البطاقات.تتضمّن القائمة الكاملة إدخالَين: أحدهما يفتح تطبيق المحفظة. وآخر يفتح عرض البطاقات البطاقات في "الإعدادات".
اختبارات حالة القفل
- في حال كان الهاتف مقفلاً، يتم التحكّم في إذن الوصول إلى المحفظة من خلال
إعداد "
Settings.Secure.POWER_MENU_LOCK_SHOW_CONTENT
" الذي يمكن التحكم فيها في الإعدادات. - إذا كان الهاتف مقفلاً وكانت قيمة
POWER_MENU_LOCK_SHOW_CONTENT
هيfalse
، سيتم المحفظة غير معروضة. - إذا كان الهاتف مقفلاً وكانت قيمة
POWER_MENU_LOCK_SHOW_CONTENT
هيtrue
، سيتم يتم عرض المحفظة. - فتح قفل الهاتف بينما تظهر المحفظة على القفل الشاشة إلى إعادة الاستعلام عن البطاقات، مما قد يؤدي إلى محتوى بطاقة مختلف.
اختبارات إمكانية الوصول
- يمكن لمستخدمي TalkBack التنقّل في طريقة عرض المحفظة من خلال التمرير سريعًا لليمين واليسار. ومن خلال الاستماع إلى أوصاف محتوى البطاقات.
- يؤدي التمرير سريعًا لليمين ولليسار مع تفعيل TalkBack إلى اختيار كل بطاقة بالترتيب. يمكن لمستخدمي TalkBack اختيار طريقة الدفع باستخدام تقنية NFC واستخدامها عند الدفع عبر تقنية NFC. الطرفية.