NFC (Near Field Communication), cihazlar arasında 10 santimetreye kadar mesafede veri alışverişine izin veren kısa menzilli kablosuz iletişim teknolojisidir. NFC, mobil telefonlarda temassız ödeme, dosya aktarımı ve etiket okuma için kullanılır. Grand View Research, 2025'e göre, dünya çapında akıllı telefonlarda ve ödeme altyapısında NFC'nin kitlesel olarak benimsenmesi sayesinde NFC çip pazarı 34,5 milyar dolara ulaştı.
Önemli Noktalar
NFC (Near Field Communication), 13,56 MHz'de çalışan kısa menzilli kablosuz veri iletim standardıdır. Teknoloji, RFID (Radyo Frekansı Tanımlama) tabanlıdır ve ISO 14444 — temassız akıllı kart standardı — ile geriye dönük uyumludur. Veri aktarım hızı, seçilen moda bağlı olarak 106, 212 veya 424 kbps'dir.
Bluetooth'un aksine, NFC bir eşleştirme prosedürü gerektirmez — cihazlar birbirine yaklaştırıldığında anında veri alışverişi yapar. Maksimum iletişim mesafesi 10 cm'dir ve bu da dinlemeye karşı doğal koruma sağlar. NFC Forum'a göre, teknoloji dünya çapında 3 milyardan fazla cihaz tarafından desteklenmektedir ve bu sayı yıllık %15–20 oranında artmaktadır.
NFC standardı, Sony, Philips ve Nokia tarafından 2004 yılında kurulan bir konsorsiyum olan NFC Forum tarafından geliştirilmektedir. NFC'li ilk telefon (Nokia 6131) 2006'da çıktı, ancak kitlesel benimseme 2011'de Android 4.0 (Ice Cream Sandwich)'in piyasaya sürülmesi ve 2014'te Apple Pay'in başlatılmasından sonra başladı. Bugün, 150 doların üzerindeki hemen hemen tüm akıllı telefonlar NFC'yi desteklemektedir.
Akıllı telefondaki NFC denetleyicisi, her biri kendi görev sınıfı için tasarlanmış üç çalışma modunu destekler. Modlar arasında geçiş, etkileşimde bulunan cihazın türüne bağlı olarak otomatik olarak gerçekleşir.
Bu modda telefon, NFC etiketlerinin aktif bir okuyucusu olarak görev yapar. Bir NFC etiketine — çıkartma, bileklik veya poster — yaklaştırıldığında, telefon etiketin belleğinden veri okur. Etiketler 48 bayttan 32 KB'a kadar bellek içerir ve URL, metin veya komutları depolar. Android Beam (yerini Nearby Share aldı) bağlantıları ve kişileri aktarmak için bu modu kullanırdı.
İki NFC cihazı doğrudan veri alışverişi yapar. Bir cihaz başlatıcı, ikincisi hedef olarak görev yapar. LLCP (Mantıksal Bağlantı Kontrol Protokolü) standardı bağlantıyı yönetir ve SNEP (Basit NDEF Değişim Protokolü) veri biçimini yönetir. P2P modu, kişilerin, bağlantıların hızlı aktarımı veya Bluetooth eşleştirmesini başlatmak için kullanılır. P2P modunda hız 424 kbps'ye ulaşır.
Telefon, temassız bir akıllı kartı — ödeme kartı, ulaşım kartı veya geçiş kartı — öykünür. Harici bir NFC cihazı (POS terminali, turnike), telefonla normal bir plastik kartla olduğu gibi etkileşime girer. Bu mod Apple Pay, Google Pay ve Samsung Pay'de kullanılır. Ödeme güvenliği, ödeme kartı verilerini depolayan izole bir çip olan Secure Element tarafından sağlanır.
| Mod | Kullanım Örneği | Secure Element Gerektirir |
|---|---|---|
| Reader/Writer | URL içeren NFC etiketi okuma | Hayır |
| Peer-to-Peer | Telefonlar arasında kişi aktarma | Hayır |
| Card Emulation | Google Pay ile ödeme | Evet |
NFC ve Bluetooth LE (Düşük Enerji), sıklıkla karşılaştırılan iki kısa menzilli iletişim teknolojisidir. NFC, bağlantı kurma hızında (0,1 s) üstündür ve eşleştirme gerektirmez, ancak veri aktarım hızı ve menzilde geride kalır. Bluetooth LE, eşleştirme gerektirir (2–5 saniye) ancak 2 Mbps'ye kadar hız ve 100 metreye kadar menzil sağlar.
Pratikte, NFC ve Bluetooth rekabet etmez, birbirini tamamlar. NFC, bağlantı başlatma (handover) için kullanılır: NFC'nin Bluetooth bağlantı parametrelerini (NFC Bluetooth Handover) iletmesi için telefonu cihaza yaklaştırmanız yeterlidir. Bundan sonra cihazlar, hızlı dosya veya ses akışı aktarımı için Bluetooth'a geçer.
Bir akıllı telefonun NFC modülü üç bileşenden oluşur: NFC denetleyicisi, NFC anteni ve Secure Element (güvenli işlemler için). NFC denetleyicisi, ayrı bir çip veya birleşik iletişim modülünün (NFC + Bluetooth + Wi-Fi, örneğin Qualcomm'dan WCN3990) bir parçasıdır. Radyo arayüzünü ve değişim protokollerini yönetir.
NFC anteni, esnek bir alt tabaka (FPC) veya batarya kasası üzerinde baskılı bir bobindir. Anten boyutu 20×30 mm, sarım sayısı 3–5'tir. Anten, 13,56 MHz frekansına ayarlanmış bir eşleme devresi aracılığıyla denetleyiciye bağlanır. NXP Semiconductors'a göre, verimli anten çalışması, endüktans ve kalite faktörünün hassas hesaplanmasını gerektirir.
Secure Element (eSE), ayrı bir kriptografik çip (NXP P71, Samsung S3K) veya SoC'de (iSE — entegre Secure Element) izole bir alandır. Ödeme kartı verilerini depolar ve HCE (Ana Bilgisayar Kartı Öykünmesi) için kriptografik işlemler gerçekleştirir. Secure Element, Android/iOS'ten izole edilmiştir: ona yalnızca NFC denetleyicisi, SWP (Tek Tel Protokolü) veri yolu üzerinden APDU komutları aracılığıyla erişebilir.
// Secure Element ile etkileşim için APDU komutu örneği
const uint8_t SELECT_APDU[] = {
0x00, 0xA4, 0x04, 0x00, // CLA, INS, P1, P2
0x07, // veri uzunluğu (7 bayt)
0xA0, 0x00, 0x00, 0x00, // RID — kayıtlı
0x03, 0x10, 0x10, // PIX — uygulama tanımlayıcısı
0x00 // Le — beklenen yanıt uzunluğu
};
// NFC denetleyicisi aracılığıyla Secure Element'e komut gönderme
NfcStatus nfcStatus = sendApdu(SELECT_APDU, sizeof(SELECT_APDU));
Telefonda NFC dört ana senaryoda kullanılır: temassız ödeme, ulaşım, nesnelere erişim ve görev otomasyonu. En yaygın uygulama ödeme sistemleridir: Apple Pay, Google Pay ve Samsung Pay. Bir banka kartını öykünmek için HCE (Ana Bilgisayar Kartı Öykünmesi) veya Secure Element ile kart öykünme modunu kullanırlar.
Dünya çapındaki ulaşım sistemleri (Moskova Metrosu, London Tube, New York MTA), mobil cüzdanlar aracılığıyla NFC ödemelerini kabul eder. Japonya'da, NFC tabanlı FeliCa teknolojisi (Sony) 2004'ten beri ulaşım, alışveriş ve ofis erişimi için kullanılmaktadır. Japon pazarı için iPhone'lar gibi FeliCa çipli akıllı telefonlar, Suica ve PASMO'yu destekler.
NFC etiketleri, “akıllı ev” senaryolarını otomatikleştirmeye olanak tanır: telefonu yatağın yanındaki bir etikete yaklaştırın — alarm etkinleşir ve bildirimler kapanır. Android'de bu, Android Beam / NFC Tools aracılığıyla, iOS'ta — Shortcuts ve NFC tetikleyicileri aracılığıyla uygulanır. Bazı akıllı telefonlar hızlı şarj için de NFC kullanır — Qi standardı, şarj cihazı tanımlaması için NFC'yi kullanır.
Android, Intent Sistemi aracılığıyla NFC etiketlerini işlemek için bir API sağlar. Telefona bir etiket yaklaştırıldığında, sistem etiketle birlikte bir intent oluşturur ve uygulama verileri NDEF (NFC Veri Değişim Biçimi) biçiminde alır. Aşağıda, bir NFC etiketinden URL veya metin okuyan bir Activity örneği verilmiştir.
class NfcReaderActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_nfc)
handleNfcIntent(intent)
}
override fun onNewIntent(intent: Intent) {
super.onNewIntent(intent)
handleNfcIntent(intent)
}
private fun handleNfcIntent(intent: Intent) {
if (intent.action == NfcAdapter.ACTION_NDEF_DISCOVERED) {
val rawMessages = intent
.getParcelableArrayExtra(NfcAdapter.EXTRA_NDEF_MESSAGES)
rawMessages?.forEach { rawMsg ->
val msg = rawMsg as NdefMessage
msg.records.forEach { record ->
val payload = String(record.payload)
println("NFC data: $payload")
}
}
}
}
}
NFC ile çalışmak için, manifestte android.permission.NFC iznini bildirmek ve ACTION_NDEF_DISCOVERED, ACTION_TECH_DISCOVERED veya ACTION_TAG_DISCOVERED için bir intent filtresi yapılandırmak gerekir. Android, NFC etiketlerini NDEF kayıt türüne göre otomatik olarak filtreler — bu, uygulamanın yalnızca belirli bir MIME türü veya URL ön ekine sahip etiketlere yanıt vermesini sağlar. NFC anteninin genellikle telefonun arka panelinin üst kısmında bulunduğunu unutmayın — bir etiketi okumak için telefonun üst kısmını etikete yaklaştırın.
Sıkça Sorulan Sorular
Evet, temassız ödeme için NFC'nin telefon ayarlarında açık olması gerekir. Google Pay, bir terminale yaklaşıldığında NFC'yi otomatik olarak etkinleştirir, ekran kapalı olsa bile (Android 10+ ve Google Wallet yüklü cihazlarda). Apple Pay için NFC otomatik olarak açılır ve manuel etkinleştirme gerektirmez.
Standart NFC menzili 10 santimetreye kadardır. Pratikte, güvenilir bir bağlantı için telefonun okuyucudan 2–4 cm mesafeye yaklaştırılması önerilir. Daha kısa menzil, NFC'yi Bluetooth'tan daha güvenli kılar — bir saldırgan verileri uzaktan okuyamaz.
Teorik olarak, bir NFC etiketi kötü amaçlı bir siteye bağlantı içerebilir, ancak bu kullanıcı eylemi gerektirir — bağlantıya tıklamak. NFC yoluyla otomatik bulaşma imkansızdır çünkü teknoloji, onay olmadan kod yürütmeyi veya dosya yüklemeyi desteklemez. Android ve iOS işletim sistemleri, potansiyel olarak tehlikeli NFC eylemlerini engeller.
Android'de: Ayarlar → Bağlantılar → NFC'yi açın (veya ayarlarda “NFC” arayın). iPhone'da: iPhone 6 ve sonraki tüm modeller NFC'yi destekler. Bazı üreticiler, kasayı veya kutuyu NFC sembolüyle işaretler. Teşhis için Play Market'ten NFC Check uygulamasını da kullanabilirsiniz.
NFC yalnızca aktif modda — veri iletimi sırasında — enerji tüketir. Bekleme modunda, NFC denetleyicisi neredeyse hiç güç tüketmez (0,01 mA). NFC'nin açık olması telefonun pil ömrünü etkilemez. Bu, onu bekleme modunda bile enerji tüketen Bluetooth'tan ayırır.
Özet
Anahtar teslim bir mobil uygulama geliştireceğiz
IT Sectr, 2017'den beri girişimler ve işletmeler için iOS ve Android uygulamaları oluşturmaktadır. Size danışmanlık yapacak ve en iyi çözümü önereceğiz.