BroadNet
DergiMühendislik
Mühendislik

SMS OTP otomatik doldurma: Android SMS Retriever, iOS one-time-code ve WebOTP mesaj formatı

Mesaj uygun şekilde formatlandığında, SMS kodları Android, iOS ve web üzerinde otomatik olarak doldurulabilir: Android'in SMS Retriever özelliği için 11 karakterli bir uygulama hash'i, iOS ve Safari için autocomplete="one-time-code" ve WebOTP için son satırda @your-domain #code kullanılır. İşte her bir format ve her üçü için de çalışan bir şablon.

8 dk okuma
Mühendislik · Sayı 40
8 dk okuma

esaj platform için formatlandığında, SMS tek kullanımlık kodlar otomatik olarak doldurulabilir. Android'de SMS Retriever API; 140 bayttan uzun olmayan, kodu içeren ve uygulamanızı tanımlayan 11 karakterli bir özet (hash) barındıran bir mesajı okur. iOS ve Safari'de, giriş alanını autocomplete="one-time-code" ile işaretleyin (yerel uygulamalarda textContentType oneTimeCode) ve klavye kodu önerir. Web'de ise WebOTP API, son satırı @your-domain #code olan bir mesajı okur. Tek bir şablon her üçünü de karşılayabilir.

Önemli çıkarımlar

  • Otomatik doldurma, kullanıcıların bir kodu alma ve yazma aşamaları arasında uygulama değiştirirken yaşadığı kaybı ortadan kaldırır.
  • Android SMS Retriever: en fazla 140 baytlık, kodu ve 11 karakterli uygulama özetinizi (hash) içeren mesaj; SMS iznine gerek yoktur.
  • Android SMS User Consent: özet (hash) içermez; mesaj, en az bir rakam içeren 4–10 karakterli alfanümerik bir kod içermelidir; kullanıcı izin vermek için dokunur.
  • iOS ve Safari: giriş alanında autocomplete="one-time-code"; alan adına bağlı son satır, Safari'nin önerisini etkinleştirir.
  • WebOTP: son satır @domain #code, şema, port veya yol içermez; Android ve masaüstü Chrome'da desteklenir.

OTP otomatik doldurma neden önemlidir?

"kod gönderildi" ile "kod girildi" arasındaki her adım kullanıcı kaybına neden olur: mesajlar uygulamasına geçiş yapmak, altı haneli rakamı ezberlemek, tekrar uygulamaya dönmek. Otomatik doldurma bu süreci tek bir dokunuşa dönüştürür. Ayrıca yazım hatalarını azaltır ve alan adına bağlı kodlar sayesinde, bir kullanıcıyı benzer görünümlü bir sitede kod girmeye ikna etmeyi zorlaştırır. Bu özellik iletimi düzeltmez: kodun yine de hızlı bir şekilde ulaşması gerekir, bu nedenle otomatik doldurmayı hızlı bir rota ve yedekli yapı ile eşleştirin. OTP iletim en iyi uygulamalarına göz atın.

Android SMS Retriever API nasıl çalışır?

SMS Retriever API sayesinde Android uygulamanız, SMS okuma izni istemeden doğrulama mesajını alabilir. Google dokümantasyonu mesaj için üç kural belirler:

  • 140 bayttan uzun olmamalı;
  • uygulamanın sunucunuza geri gönderdiği tek kullanımlık kodu içermeli;
  • uygulamanızı tanımlayan 11 karakterli bir hash dizisi içermelidir.

Hash, uygulamanızın paket adı ve imzalama sertifikasından hesaplanır: paket adını sertifikanın hex formuna ekleyin, SHA-256 işlemini yapın, base64 ile kodlayın ve ilk 11 karakteri alın. Debug ve release sürümleri genellikle farklı anahtarlarla imzalandığı için farklı hash değerlerine sahiptir. Sunucunuz, mesajı oluştururken doğru hash değerini ekler.

Örneğin şablonun diğer kanallarla paylaşılması nedeniyle mesajın içine bir uygulama hash değeri ekleyemediğiniz durumlarda, Android'in SMS User Consent API özelliği kullanıcıya uygulamanızın bir mesajı okumasına izin veren bir istem gösterir. Google uyarınca mesaj, en az bir rakam içeren 4–10 karakterlik alfanümerik bir dizim içermeli ve eğer bir gönderici belirttiyseniz, o göndericiden gelmelidir. API başlatıldıktan sonra yaklaşık beş dakika boyunca dinlemede kalır ve ardından zaman aşımına uğrar.

iOS'ta OTP otomatik doldurma nasıl çalışır?

iOS, klavyeden güvenlik kodu otomatik doldurma imkanı sunar. Yerel bir uygulamada, metin alanının textContentType değerini oneTimeCode olarak ayarlayın; bir web sayfasında ise girişe autocomplete="one-time-code" ekleyin. Eşleşen bir SMS geldiğinde, kod klavyenin üzerinde görünür ve kullanıcı ona dokunur. Safari, WebOTP JavaScript API özelliğini uygulamaz; ancak Chrome'un WebOTP dokümantasyonu, autocomplete anotasyonu ile birlikte SMS aşağıdaki alan adına bağlı formatı izliyorsa varsayılan klavyenin kodu önerdiğini belirtmektedir (iOS 14 ve macOS Big Sur veya daha yeni sürümler).

WebOTP mesaj formatı nedir?

WebOTP API özelliği, bir web sayfasının navigator.credentials.get({ otp: { transport: ['sms'] } }) ile kodu okumasına olanak tanır. SMS insan tarafından okunabilir bir metinle başlamalı ve son satırı şu formda olmalıdır:

snippet
Your BroadNet code is 482913.
@www.example.com #482913
  • Son satır @ ile ve kodu talep eden sayfanın alan adı ile başlar.
  • Bir adet boşluk, ardından # ve kod.
  • Alan adında protokol, port veya yol bulunmamalıdır ve içinde boşluk olmamalıdır.
  • Mesajı okuyan kişiler için, insan tarafından okunabilir kısım kodu da içermelidir.

Tarayıcıların WebOTP özelliği olmasa bile kodu sunmaya devam edebilmesi için girişte her zaman autocomplete="one-time-code" değerini de tutun.

Tek bir SMS şablonu her platformda çalışabilir mi?

Evet, Android bayt sınırları içinde kalındığı ve satırlar doğru sırada olduğu sürece çalışabilir. Birleşik bir şablon örneği:

snippet
Your BroadNet code is 482913. Do not share it.
FA+9qCX9VSu
@www.example.com #482913
PlatformKodu ne okurMesajın gereksinimleri
Android uygulamasıSMS Retriever APIKod ve 11 karakterlik uygulama hash değeriniz; en fazla 140 bayt
Android uygulaması (hash yok)SMS User Consent APIEn az bir rakam içeren, 4–10 karakterli alfanümerik bir kod
iOS uygulamasıGüvenlik kodu otomatik doldurma (oneTimeCode)Tanınabilir bir kod; alan adına bağlı hat önerilir
Safari (iOS, macOS)autocomplete="one-time-code"Son satır @domain #code
Chrome (Android, masaüstü)WebOTP APISon satır @domain #code

Gösterilen hash bir yer tutucudur: kendi uygulamanızın değerini kullanın. Şablonun tek bir segment olarak kalması için GSM-7 karakter setini kullanın; bir emoji veya aksanlı harf tüm mesajı Unicode'a dönüştürür, bu da kapasiteyi yarıya indirir ve 140 baytlık bütçeyi aşmanıza neden olabilir. SMS kodlama ve segmentasyon hakkında bilgi alın.

Bu mesajlar BroadNet ile nasıl gönderilir?

Mesajı kendi sunucunuzda oluşturun ve OTP API veya SMS API aracılığıyla gönderin; yeni satırlar mesaj metninin bir parçasıdır. BroadNet'in OTP ürünü, bir kod ulaşmadığında SMS, WhatsApp, ses ve Flash Call üzerinden yedekleme yapar ve MyOTP.App, tek bir hesaptan SMS, WhatsApp veya Telegram yoluyla kodlar gönderir. Tüm akış için bir OTP akışının nasıl oluşturulacağını ve çok kanallı OTP doğrulama kılavuzumuzu okuyun.

Sıkça sorulan sorular

Android uygulamam neden OTP SMS'i okumuyor?

Genellikle mesajdaki uygulama hash değeri derleme ile eşleşmez (debug ve release anahtarları farklıdır), mesaj 140 bayttan uzundur veya dinleyici mesaj geldikten sonra başlamıştır.

Android'de kodları otomatik doldurmak için SMS iznine ihtiyacım var mı?

Hayır. SMS Retriever API ve SMS User Consent API'nin her ikisi de SMS okuma izni olmadan çalışır.

iOS üzerinde OTP otomatik doldurmayı nasıl etkinleştiririm?

Yerel bir uygulamada textContentType değerini oneTimeCode olarak ayarlayın veya bir web sayfasındaki giriş alanına autocomplete="one-time-code" ekleyin.

WebOTP SMS formatı nedir?

Önce insan tarafından okunabilir metin, ardından son satırda @ işareti ile alan adınız, bir boşluk, # işareti ve kod gelmelidir; örneğin @www.example.com #482913.

WebOTP Safari'de çalışır mı?

Safari WebOTP JavaScript API'sini desteklemez ancak autocomplete="one-time-code" ile klavyesi, alan adına bağlı formatta gelen mesajlardaki kodları önerebilir.

Android, iOS ve web için tek bir şablon kullanabilir miyim?

Evet: metindeki kod, kendi satırındaki uygulama hash değeri ve en sonda alan adına bağlı satır; tamamı 140 bayt sınırları içinde olmalıdır.

Platform kuralları, 28 Eylül 2026 tarihinde Google'in SMS Retriever ve SMS User Consent dokümantasyonunda (developers.google.com) ve Chrome'un WebOTP dokümantasyonunda (developer.chrome.com) okunmuştur. Editör standartlarımıza göz atın.

Bu faydalı mıydı?

İçerikleri nasıl yazıyor ve gözden geçiriyoruz

Yazan

BroadNet Editoryal Ekibi

Editoryal Ekip, BroadNet blogunu yayınlamaktadır. Makaleler; BroadNet'in mevzuat ve düzenleme, ürün, mühendislik, sektör araştırması ve operatör çözümleri ekipleriyle birlikte yazılmakta ve editoryal standartlarımız çerçevesinde incelenmektedir.

Okumaya devam edin

Dergiden üç yazı daha.

Tüm yazıları görüntüleyin
K
Mühendislik

Kod ile SMS nasıl gönderilir: Tek bir REST çağrısı ile Python, PHP, Node.js, Java, Go ve C#

Kod üzerinden SMS göndermek, tek bir kimlik doğrulamalı HTTPS POST işlemidir: bir Bearer token, gönderici adı, hedef numara, mesaj ve mesaj türünü içeren bir JSON gövdesi ve karşılığında alınan bir mesaj kimliği. İşte aynı isteğin Python, PHP, Node.js, Java, Go ve C# dillerindeki örnekleri, ayrıca hata yönetimi ve canlı ortam tavsiyeleri.

BroadNet Editoryal Ekibi
9m
K
Mühendislik

Kodu göndermeden önce: MobileValidate ve BroadNet ile OTP için gönderim öncesi kontrol rutini

Gönderim öncesi kontrol, bir kullanıcının telefon numarası yazdığı an ile kodu gönderdiğiniz an arasında yapılan tek bir sorgulamadır. OTP alamayacak numaraları yakalar, ek güvenlik adımları için riskli desenleri işaretler ve kanalı seçer. İşte MobileValidate ve BroadNet ile birlikte, her sonuç için bir karar tablosu içeren rutin.

BroadNet Editoryal Ekibi
9m
S
Mühendislik

SMS'e e-posta gönderimi: e-posta-SMS ağ geçidinin çalışma prensibi, kullanım alanları ve güvenliği

Bir e-posta-SMS ağ geçidi, bir telefon numarasına yönlendirilen e-postayı metin mesajına dönüştürür; böylece yalnızca e-posta gönderebilen izleme araçları, yardım masaları ve eski sistemler SMS üzerinden kişilere ulaşabilir. İşte bu sistemin nasıl çalıştığı, bir API'den ne zaman daha avantajlı olduğu ve sahte e-postalara karşı nasıl korunacağı.

BroadNet Editoryal Ekibi
7m
Dergi, e-posta ile

Ayda bir yazı. Başka hiçbir şey.

Abone olun; mühendislik, mevzuat veya sektörle ilgili bir sonraki içeriği yayınlandığı gün size gönderelim. Drip kampanyaları, ürün tanıtımları veya üçüncü taraflarla paylaşım yoktur. Tek tıkla abonelikten çıkabilirsiniz.

Ayda bir e-posta gönderiyoruz. İstediğiniz zaman abonelikten çıkabilirsiniz. Şuna göz atın: gizlilik politikası.

Neler alacaksınız?
  • Tık tuzağı olmayan, kapsamlı içerikler
    Tek bir konuya odaklanmış, altı ila on bir dakikalık okuma süreli yazılar.
  • Platformu işletenler yazıyor
    Mühendisler, mevzuat sorumluları ve kurum içi ürün yazarları tarafından hazırlanır.
  • Bölge odaklı
    Düzenleyici kurumlar, operatörler ve kanal karması üzerine MENA merkezli bir bakış açısı.
  • Ayda bir kez
    Drip kampanyası yok. Sadece paylaşacak bir şey olduğunda tek bir makale.
Okumayı bırakın. Uygulamaya başlayın.

Yazdıklarımızın çoğu, sahada edindiğimiz deneyimlere dayanıyor.

Eğer bu yazı size haklı geliyorsa, muhtemelen konuşmalıyız. Kullanım durumunu, hacimleri ve pazarları getirin; biz de size rota, fiyatlandırma ve arayabileceğiniz referans bir müşteri ile geri dönelim.

$ curl -X POST https://api.broadnet.me/sms/sendSms