از 27 مارس 2025، توصیه می کنیم از android-latest-release به جای aosp-main برای ساختن و کمک به AOSP استفاده کنید. برای اطلاعات بیشتر، به تغییرات AOSP مراجعه کنید.
با مجموعهها، منظم بمانید
ذخیره و طبقهبندی محتوا براساس اولویتهای شما.
اندروید از شبیه سازی کارت NFC با یک عنصر امن برای شبیه سازی کارت خارج از میزبان پشتیبانی می کند. (برای اطلاعات بیشتر، به نمای کلی شبیهسازی کارت مبتنی بر میزبان مراجعه کنید.) با این حال، در پلتفرم Android، سرویس پرداخت ترجیحی مشخصشده در تنظیمات Tap & Pay همیشه با برنامه در عنصر امن همگامسازی نمیشود. این به این معنی است که ممکن است به جای سرویس پرداخت ترجیحی از یک سرویس پرداخت غیر ترجیحی در عنصر امن استفاده شود.
در اندروید 11، ویژگی همگامسازی پرداخت خارج از میزبان مکانیزمی را ارائه میکند که به شما امکان میدهد پیکربندی پرداخت را در Tap & pay، پیکربندی مسیریابی در قسمت جلویی بدون تماس (CLF) و حالت انتخاب شده توسط برنامه را در عنصر امن همگامسازی کنید.
نمودار زیر معماری طراحی ویژگی همگام سازی پرداخت خارج از میزبان را نشان می دهد.
شکل 1. معماری طراحی هماهنگ سازی پرداخت میزبان خارج از خانه
پیاده سازی
برای پیادهسازی ویژگی همگامسازی پرداخت خارج از میزبان، دستگاه باید دارای یک کنترلکننده NFC باشد که از استاندارد NCI 2.0 پشتیبانی میکند و باید از چارچوبهای پروژه منبع باز Android NFC و رابط برنامهنویسی برنامه موبایل باز (OMAPI) استفاده کند.
APIهای چارچوب
برای پیادهسازی همگامسازی پرداخت خارج از میزبان، از APIهای چارچوب زیر موجود در پروژه منبع باز Android استفاده کنید:
برای تأیید اجرای ویژگی همگامسازی پرداخت خارج از میزبان، برنامههای عنصر امن را با عناصر امن مربوطه نصب کنید و سپس پاسخهای مناسب را از یک خواننده NFC در شرایط مختلف بررسی کنید.
محتوا و نمونه کدها در این صفحه مشمول پروانههای توصیفشده در پروانه محتوا هستند. جاوا و OpenJDK علامتهای تجاری یا علامتهای تجاری ثبتشده Oracle و/یا وابستههای آن هستند.
تاریخ آخرین بهروزرسانی 2025-07-29 بهوقت ساعت هماهنگ جهانی.
[[["درک آسان","easyToUnderstand","thumb-up"],["مشکلم را برطرف کرد","solvedMyProblem","thumb-up"],["غیره","otherUp","thumb-up"]],[["اطلاعاتی که نیاز دارم وجود ندارد","missingTheInformationINeed","thumb-down"],["بیشازحد پیچیده/ مراحل بسیار زیاد","tooComplicatedTooManySteps","thumb-down"],["قدیمی","outOfDate","thumb-down"],["مشکل ترجمه","translationIssue","thumb-down"],["مشکل کد / نمونهها","samplesCodeIssue","thumb-down"],["غیره","otherDown","thumb-down"]],["تاریخ آخرین بهروزرسانی 2025-07-29 بهوقت ساعت هماهنگ جهانی."],[],[],null,["# NFC off-host payment synchronization\n\nAndroid supports NFC card emulation with a secure element for off-host card\nemulation. (For more information, see\n[Host-based card emulation overview](https://developer.android.com/guide/topics/connectivity/nfc/hce).)\nHowever, on the Android platform, the preferred payment service specified in the\nTap \\& pay setting isn't always synchronized with the app in the secure\nelement. This means it's possible that a nonpreferred payment service in the\nsecure element is used instead of the preferred payment service.\n\nIn Android 11, the *off-host payment synchronization*\nfeature provides a mechanism that lets you synchronize the payment\nconfiguration in Tap \\& pay, the routing configuration on the contactless\nfrontend (CLF), and the app-selected state in the secure element.\n\nThe following diagram illustrates the design architecture of the off-host\npayment synchronization feature.\n**Figure 1.** Off host payment synchronization design architecture\n\nImplementation\n--------------\n\nTo implement the off-host payment synchronization feature, the device must have\nan NFC controller that supports the NCI 2.0 standard and must use the Android\nOpen Source Project NFC and Open Mobile Application Programming Interface\n(OMAPI) frameworks.\n\n### Framework APIs\n\nTo implement off-host payment synchronization, use the following framework APIs\nfound in the Android Open Source Project:\n\n- [`getAidsForPreferredPaymentService()`](https://developer.android.com/reference/android/nfc/cardemulation/CardEmulation#getAidsForPreferredPaymentService()): Retrieves the registered AIDs for the preferred payment service.\n- [`getRouteDestinationForPreferredPaymentService()`](https://developer.android.com/reference/android/nfc/cardemulation/CardEmulation#getDescriptionForPreferredPaymentService()): Retrieves the route destination for the preferred payment service.\n- [`getDescriptionForPreferredPaymentService()`](https://developer.android.com/reference/android/nfc/cardemulation/CardEmulation#getRouteDestinationForPreferredPaymentService()): Returns a user-visible description of the preferred payment service.\n- [`android.permission.NFC_PREFERRED_PAYMENT_INFO`](https://developer.android.com/reference/android/Manifest.permission#NFC_PREFERRED_PAYMENT_INFO) (permission): Allows apps to receive NFC preferred payment service information.\n- [`android.nfc.action.PREFERRED_PAYMENT_CHANGED`](https://developer.android.com/sdk/api_diff/r-dp1/changes/android.nfc.NfcAdapter) (broadcast action): Intent to notify if the preferred payment service changed.\n\nValidation\n----------\n\nTo validate your implementation of the off-host payment synchronization feature,\ninstall secure element apps with corresponding secure elements and then check\nfor appropriate responses from an NFC reader in different conditions."]]