Xamarin Forms Credit Card Scanner – OCR Plugin

Merhabalar,

Önceki yazımda mobil uygulamalarımızda satın alma işlemi yaparken güvenliği nasıl sağlamamız gerektiğinden ve kredi kartı bilgilerini şifrelemekten bahsetmiştik.

Konumuz mobil olunca kullanıcıların en çok zorlandığı işlemler veri girişleri. (Zaten ekran küçük! bir de bizi böyle şeylerle uğraştırmayın arkadaş!) Kredi kartı bilgilerini almak, form doldurmak veya herhangi bir iletişim bilgisi almak bizler için çok zor oluyor.

Bu gibi durumlar için akla ilk gelen işlem tabii ki OCR. Peki Xamarin tarafında bunu nasıl yapıyoruz?

Card.IO benim uzun süredir kullandığım ve gerçekten çok memnun kaldığım, iOS ve Android sürümleri olan bir plugin. Ücretsiz olması kendisini daha da sevimli yapıyor.

OCR demişken  OPEN CV bu işin Müslüm Babasıdır! Araştırınız 🙂

Traditional Android ve iOS için Components kısmına sağ tıklayıp, Get More Components diyerek card.io plugin’i traditional projelerimize ekliyoruz.

Yapacağımız işlemler aslında önceki örneğimizden farklı olmayacak. Traditional tarafta kullanacağımız pluginleri, XF tarafında DependencyService ile açıp, MessagingCenter kullanarak değerleri almak.

Plugin kullanımı da çok basit olduğu için (5 satır) buradaki en önemli kısım XF tarafından Traditional ekran açmak ve MessagingCenter ile veriyi XF tarafına göndermek.

DependencyService ile Traditional ekran açmak;

Android


Intent intent = new Intent(Forms.Context,
 typeof(CreditCardScannerActivity));
 Forms.Context.StartActivity(intent);

iOS


 var window = UIApplication.SharedApplication.KeyWindow;
 window.RootViewController = new CreditCardViewController();
 window.MakeKeyAndVisible();

Traditional için;

Xamarin.Forms.MessagingCenter.Send<App, CreditCard>((App)Xamarin.Forms.Application.Current, "card", scannedCard);

XF için;

MessagingCenter.Subscribe<App, CreditCard>(this, "card", (s, c) => 
            {
                txtNumber.Text = c.Number;
            });


Resimden de anlaşılacağı gibi kullanımı basit ve okuma hızı gerçekten çok hızlı ve başarılı.
github üzerinden uygulamanın çalışır ve güncel haline ulaşabilirsiniz.

Görüşmek üzere 🙂

Yiğit

Xamarin Developer, Consultant & Architect. Community Leader and Director of Xamarin Türkiye

5 Comments

You can post comments in this post.


  • Merhaba Yiğit ÖZAKSÜT,

    Paylaşımlarınız için çok teşekkürler.
    Benim kafama takılan bir konu var. 3. parti yazılımlara kart bilgilerini vermek doğru bir yol mu? ya da bu kütüphanenin güvenilirliğine nasıl ikna olabiliriz?

    Yasin GÜNDOĞDU 5 sene ago Reply


    • Selam,
      Kodunu göremediğimiz kütüphaneleri kullanırken tabii ki emin olamayız. Geliştiren kişiye/kuruma güven meselesi bu.

      Yiğit 5 sene ago Reply


  • Merhaba Yiğit bey,
    Ben projeme kredi kartı okuyucu haricinde çekilen slibin tutarını okumasını istiyorum. Buna önerebileceğiniz bir kütüphane yahut bir github örneği var mıdır ? Detaylıca mesela fişin slibin okuması yapılıcak. tutar kısmı bulunup textboxa yazıcak. haberlerinizi bekliyorum.

    Furkan EKŞİ 3 sene ago Reply


    • Merhaba,
      Cognitive Services inceleyebilirsiniz. Burada yapmak istediğiniz uygulamaya dair örnekler mevcut.

      Yiğit 3 sene ago Reply


  • Merhaba ben xamarin forms üzerinde uygulama geliştiriyorum ödeme sayfası koymam lazım nasıl yapacağımı bilmiyorum amacım şirket hesabına para aktarmak (stripe gibi) bu nasıl yaparım uygulama içinde yardım ederseniz sevinirim.

    Furkan Demirel 3 sene ago Reply


Post A Reply