İçeriğe geç

TWA İmzalama Onarımı

Play App Signing Sonrası assetlinks.json SHA-256: TWA Tarayıcı Çubuğunu Düzeltin

Trusted Web Activity'niz Android Studio'dan kurduğunuzda tam ekran açılıyor, ancak Google Play'den kurulan kopya bir tarayıcı çubuğu gösteriyor. Önce sertifikaları kontrol edin: Google Play uygulamanızı kendi uygulama imzalama anahtarıyla imzalanmış olarak dağıtabilir, web sitenizdeki assetlinks.json ise yalnızca kendi bilgisayarınızda imzalarken kullandığınız sertifikayı listeliyor olabilir. Doğru SHA-256'yı ekleyin, dosyayı Google'ın istediği şekilde sunun, ardından bir test kullanıcısının gerçekten kurduğu derlemeyi test edin.

SHA-256Uygulama İmzalama Anahtarı Sertifikası
1 dosya/.well-known/assetlinks.json
HTTP 200Doğrudan, Yönlendirme Yok
Sabit bekleme yokÖnbellekler Katmana Göre Değişir

Kısa Cevap

Bir TWA kendi derlemenizi kurduğunuzda tam ekran açılıyor ama Google Play'den kurulduğunda tarayıcı çubuğu gösteriyorsa, önce web sitenizin Play'in imzalama sertifikasını listeleyip listelemediğini kontrol edin. Play Console'da Protected with Play altında Play app signing sayfasını açın ve uygulama imzalama anahtarı sertifikasının SHA-256 değerini kopyalayın. Bunu https://your-domain/.well-known/assetlinks.json dosyasındaki sha256_cert_fingerprints dizisine ekleyin, dosyayı HTTPS üzerinden doğrudan HTTP 200 ile, yönlendirme olmadan ve application/json olarak sunun, ardından bir Play test kanalından kurulan derlemeyle yeniden test edin. Parmak izi zaten eşleşiyorsa doğrulanmış origin dışına çıkan gezinmeleri, yönlendirmeleri ve kullanılan tarayıcıyı kontrol edin.

Bu sırayla düzeltin

Ardından kendi kurduğunuz bir derlemeyi değil, Google Play'den kurulan sürümü test edin.

Bu rehber tek bir onarımı ele alır: web siteniz ile Google Play'in dağıttığı derleme arasındaki ilişkilendirme. TWA'nın kendisini oluşturmayı veya Play'in uygulamayı incelemesini kapsamaz; bunların aşağıda bağlantısı verilen kendi rehberleri vardır. Burada alıntılanan her Google sayfası 16 Ekim 2026 tarihinde kontrol edildi ve kaynaklar sonda listelenmiştir.

Tarayıcı çubuğu neden yalnızca Play kurulumunda görünür

Chrome bir TWA'yı, kurulu uygulamayı imzalayan sertifikayı web sitenizin yayınladığı parmak izleriyle karşılaştırarak doğrular. Bu kontrol başarısız olduğunda Chrome'un TWA hızlı başlangıç rehberi, tarayıcının sitenizi bir Custom Tab olarak göstermeye geri döndüğünü söyler. Gördüğünüz adres çubuğu bu geri dönüştür.

Play App Signing ile genellikle iki sertifika vardır. Yüklediğiniz paketi yükleme anahtarınızla siz imzalarsınız, Google ise dağıttığı APK'ları uygulama imzalama anahtarıyla imzalar. Chrome'un web geliştiricileri için Android kavramları sayfası, uygulamanız Play Store'dan indirildiğinde ona karşılık gelen parmak izinin uygulama imzalama anahtarının parmak izi olduğunu söyler. Bu nedenle yalnızca yerel sertifikanızı listeleyen bir dosya masanızdaki cihazda geçer ve Play'den kurulan her telefonda başarısız olur.

İki anahtar her zaman farklı değildir. Android'in uygulama imzalama belgeleri, aynı anahtarın hem uygulama imzalama anahtarı hem de yükleme anahtarı olarak kullanıldığı kurulumları anlatır. Yani çözüm, hangisine sahip olduğunuzu varsaymak değil, gerçek sertifikaları karşılaştırmaktır.

Test ettiğiniz derlemeyi hangi sertifika imzaladı
Derlemenin geldiği yer İmzalayan assetlinks.json'da olması gereken
Bir Play test kanalından veya üretimden kuruldu İmzalayanPlay'in uygulama imzalama anahtarı assetlinks.json'da olması gerekenUygulama imzalama anahtarı sertifikasının SHA-256 değeri. Play kurulumunu düzelten budur.
Kendi sürüm APK'nız, elle kuruldu İmzalayanYükleme veya sürüm anahtarınız assetlinks.json'da olması gerekenO anahtarın SHA-256 değeri, yalnızca bu derlemelerin de doğrulanmasını istiyorsanız
Android Studio debug çalıştırması İmzalayanYerel debug anahtarınız assetlinks.json'da olması gerekenDebug SHA-256 değeri, yalnızca debug derlemelerinin doğrulanmasını istiyorsanız. Farklı bir uygulama kimliği kendi ifadesini (statement) gerektirir.
Dahili uygulama paylaşımı bağlantısı İmzalayanAyrı bir dahili uygulama paylaşımı anahtarı assetlinks.json'da olması gerekenGoogle bu yüklemeleri bir Internal App Sharing anahtarıyla yeniden imzalar, bu yüzden düzeltmeyi bunun yerine bir test kanalında test edin
İmzalama anahtarı yükseltmesinden sonra yayınlanan bir derleme İmzalayanPlay'in o derleme için artık kullandığı sertifika assetlinks.json'da olması gerekenHâlâ desteklediğiniz derlemelerin tüm sertifikaları. Yalnızca daha yenisi göründü diye eski bir sertifikayı kaldırmayın.

Kapalı test kullanıcıları da görür

Kapalı testteki test kullanıcıları Play tarafından imzalanan derlemeyi kurar, bu yüzden çubuk çoğu zaman ilk olarak burada ortaya çıkar. Bu bir kapalı test kusuru değildir: belirleyici olan, kurulu APK'daki sertifikadır. Yalnızca elle yüklenen (sideload) bir APK'yı test ediyorsanız sorunu tamamen gözden kaçırabilirsiniz.

Uygulama imzalama SHA-256'sını Play Console'da bulun

Google'ın kendi belgeleri şu anda aynı yer için iki farklı etiket veriyor. İkisi de uygulamanızın sol menüsündeki Protected with Play bölümünden başlar.

Aynı sertifikaya giden iki belgelenmiş yol (kontrol tarihi: 16 Ekim 2026)
Google sayfası Yol Kopyalanacak yer
Play Console Yardımı: Play App Signing'i kullanma YolProtected with Play > Play Store distribution > Go to Play app signing Kopyalanacak yerApp signing key bölümü
Android App Links belgeleri YolProtected with Play > Play Store protection > Manage Play app signing Kopyalanacak yerApp signing key certificate > SHA-256 certificate fingerprint

Bazı Google sayfaları da dahil olmak üzere eski rehberler hâlâ Release > Setup > App signing veya Setup > App integrity der. Yalnızca bu etiketleri buluyorsanız, aynı sayfaya eski adıyla bakıyorsunuz demektir.

1

Uygulamayı Play Console'da açın

TWA'nızın kullandığı paket adına sahip uygulamayı seçin. Her uygulamanın kendi uygulama imzalama anahtarı vardır.

2

Play app signing sayfasına gidin

Yukarıdaki tablodaki yollardan birini kullanın. İkisi de uygulama imzalama anahtarını ve yükleme anahtarını listeleyen sayfaya çıkar.

3

Uygulama imzalama anahtarının SHA-256 değerini kopyalayın

SHA-256 sertifika parmak izini uygulama imzalama anahtarı bölümünden kopyalayın; yükleme anahtarı bölümünden değil, SHA-1 satırından da değil. Değer, iki nokta üst üste ile ayrılmış 32 çift onaltılık karakterden oluşur. Tamamını yapıştırın; bir blog yazısındaki kısaltılmış örnek doğrulanmaz.

4

Geçerli olan her uygulama imzalama sertifikasını tutun

Google'ın güncel Yardım sayfası, kuantuma hazır hibrit imzalamayı anlatır; bu yapılandırmada üç anahtarın parmak izlerini kopyalarsınız: yeni cihazlarda kullanılan yeni klasik ve kuantum sonrası anahtarlar ile eski cihazlarda kullanılan klasik anahtar. Sayfanızda birden fazla uygulama imzalama sertifikası görünüyorsa, desteklediğiniz cihazların alabileceği her birini listeleyin. Bu yalnızca o yapılandırmayı kullanan uygulamalar için geçerlidir; çoğu uygulamada tek bir uygulama imzalama sertifikası görünür.

Kendi elinizdeki bir anahtarın parmak izini okuyun

Yükleme anahtarınız veya bir debug anahtarı için Java'nın keytool aracı aynı biçimi yazdırır. Anahtar deposu dosyasını ve takma adı (alias) kendinizinkilerle değiştirin, ardından SHA256 etiketli satırı kopyalayın:

Terminal
keytool -list -v -keystore my-upload-key.jks -alias upload

Çok sayıda uygulama yönetiyorsanız Google Play Developer API, Play'in oluşturduğu APK'ların sertifika hash değerini de döndürebilir (oluşturulan APK listesindeki certificateSha256Hash alanı). Tek bir düzeltme için Play Console'dan kopyalamak daha basittir.

Doğru bir assetlinks.json yazın ve sunun

Dosya, ifadelerden (statement) oluşan bir JSON dizisidir. Bir TWA için ilişki (relation) delegate_permission/common.handle_all_urls olur, hedef ise Android uygulamanızdır: android_app ad alanı, birebir uygulama kimliğiniz ve SHA-256 parmak izlerinden oluşan bir dizi. En sade dosya şöyle görünür:

assetlinks.json
[
  {
    "relation": ["delegate_permission/common.handle_all_urls"],
    "target": {
      "namespace": "android_app",
      "package_name": "com.example.twa",
      "sha256_cert_fingerprints": [
        "PLAY_APP_SIGNING_KEY_SHA256",
        "UPLOAD_KEY_SHA256"
      ]
    }
  }
]

com.example.twa değerini uygulama kimliğinizle, her yer tutucuyu da iki nokta üst üste ile ayrılmış tam bir SHA-256 ile değiştirin. Yalnızca Play kurulumlarının doğrulanması gerekiyorsa ikinci girişi silin. Yalnızca katı JSON kullanın: yorum yok, sondaki virgül yok, SHA-1 değeri yok.

Google dosyanın nasıl sunulmasını ister

  • Birebir konum. https://your-domain/.well-known/assetlinks.json, .well-known içindeki nokta dahil. example.com ve www.example.com farklı origin'lerdir; dosyayı uygulamanızın açtığı her birinde yayınlayın. /app/.well-known/ gibi bir alt dizindeki kopya sayılmaz.
  • Doğrudan bir HTTP 200. Google'ın Digital Asset Links belgeleri şöyle der: “Sunucudan gelen HTTP 200 dışındaki her yanıt hata olarak değerlendirilir ve boş bir ifade listesiyle sonuçlanır.”
  • Yönlendirme yok. 301 ve 302 yanıtları izlenmez. Buna http'den https'ye bir geçiş ve çıplak alan adından www'ye bir geçiş de dahildir.
  • Geçerli bir sertifika zinciriyle HTTPS ve Content-Type: application/json başlığı. 200 ile yanıt veren bir giriş sayfası veya HTML hata sayfası geçerli bir dosya değildir.

Canlı yanıtı herhangi bir terminalden kontrol edin. İlk durum satırı 200 olmalı, içerik türü JSON olmalı ve öncesinde hiçbir 3xx bulunmamalıdır:

Terminal
curl -sI https://example.com/.well-known/assetlinks.json

Birden fazla parmak izi, birden fazla uygulama

Android'in web sitesi ilişkilendirme rehberi parmak izi dizisi için şöyle der: “Bu alan birden fazla parmak izini destekler; bunlar, uygulamanızın debug ve üretim derlemeleri gibi farklı sürümlerini desteklemek için kullanılabilir.” Yükleme veya debug parmak izini yalnızca o web sitesinin gerçekten güvenmesini istediğiniz derlemeler için ekleyin. Ayrı bir debug paketi gibi farklı bir uygulama kimliğine sahip derleme, dizide kendi ifadesine ihtiyaç duyar.

TWA'yı Bubblewrap veya PWABuilder ile oluşturduysanız

Mevcut bir Bubblewrap projesinde Play'in parmak izini ekleyin ve dosyayı yeniden oluşturun:

Terminal
bubblewrap fingerprint add "PLAY_APP_SIGNING_KEY_SHA256" --name="Play app signing"
bubblewrap fingerprint list
bubblewrap fingerprint generateAssetLinks

Dosyayı oluşturmak, onu yayına almak demek değildir: yeni assetlinks.json dosyasını web sitenize yükleyin ve curl ile kontrol edin. bubblewrap validate PWA'nızı kalite ölçütlerine göre kontrol eder; imzalama ilişkilendirmesini kontrol etmez, bu yüzden oradan geçmek parmak izi hakkında hiçbir şey kanıtlamaz. PWABuilder'ın güncel talimatları da imzalama konusunda aynı noktaya değinir, “.aab dosyanızı yükledikten sonra Google Play uygulamanızı yeniden imzalar”, ve Play'in parmak izini oluşturulan dosyaya eklemenizi söyler. Parmak izi düzeltmesi uygulama ikili dosyasında değil, web sitenizde yapılan bir değişikliktir.

İlişkilendirmeyi doğrulayın, sonra Play kurulumunu test edin

İşin içinde dört katman vardır: web sitenizdeki dosya, Google'ın Digital Asset Links API'si, Android'in kendi bağlantı doğrulaması ve TWA'nızı başlatan tarayıcı. Bir katmanı geçmek bir sonrakini kanıtlamaz; bu yüzden bunları sırayla kontrol edin ve cihazda bitirin.

1

Web sitesindeki dosya

Yukarıdaki curl kontrolünü çalıştırın. Başka bir yere bakmadan önce her yönlendirmeyi, yanlış içerik türünü veya 200 dışı durumu düzeltin.

2

Google'ın Statement List Generator and Tester aracı

Google'ın Statement List Generator and Tester aracı alan adınızı, paket adınızı ve SHA-256 değerinizi alır ve ifadenin orada olup olmadığını test eder. En hızlı görsel kontroldür.

3

API üzerinden birebir kontrol

assetlinks.check yöntemi tek ve kesin bir soruyu yanıtlar: bu sertifikaya sahip bu paket bu web sitesine bağlı mı? Origin'i, paketi, parmak izini ve anahtarı değiştirin, değerleri URL kodlamasıyla kodlayın ve "linked": true sonucunu arayın:

İstek URL'si
https://digitalassetlinks.googleapis.com/v1/assetlinks:check?source.web.site=https%3A%2F%2Fexample.com&relation=delegate_permission%2Fcommon.handle_all_urls&target.android_app.package_name=com.example.twa&target.android_app.certificate.sha256_fingerprint=URL_ENCODED_SHA256&key=YOUR_API_KEY

Kaynak (source), dosyanın URL'si değil, origin'dir. statements.list yöntemi yalnızca web sitesinin yayınladıklarını listeler; bu yüzden boş olmayan bir liste, paketinizin ve sertifikanızın içinde olduğunu kanıtlamaz. Google'ın rehberi bir API anahtarı ister; yetkilendirme veya kota hatası, başarısız bir ilişkilendirme değil, bir API erişim sorunudur.

Web sitesinin yayınladığı her şeyi görmek için liste isteği yalnızca origin'i ve ilişkiyi (relation) alır. Dönen hedefleri okuyun ve birebir paketinizi ve sertifikanızı arayın:

İstek URL'si
https://digitalassetlinks.googleapis.com/v1/statements:list?source.web.site=https%3A%2F%2Fexample.com&relation=delegate_permission%2Fcommon.handle_all_urls
4

Bir test kullanıcısının kurduğu uygulama

Elle yüklenen bir APK'dan veya dahili uygulama paylaşımı bağlantısından değil, Play test kanalınızdan kurun, ardından uygulamayı açın. Çubuk hâlâ oradaysa Chrome'un doğrulama günlüğünü adb üzerinden okuyun. Chrome'un belgelerine göre Statement failure matching fingerprint. görüyorsanız, uygulamanın imzası assetlinks.json dosyanızla eşleşmiyor demektir:

Terminal
adb logcat -v brief | grep -e OriginVerifier -e digital_asset_links

Android Studio'nun App Links Assistant aracı (Tools > App Links Assistant), Android App Links ilişkilendirmesini ve manifest dosyanızı kontrol eder. Bunlar için faydalıdır, ancak TWA'nızın tam ekran açılıp açılmadığını söylemez; bunu yalnızca cihaz testi söyler.

İleri düzey: Android'in kendi doğrulama durumu

Android 12 ve üzerinde Android'in doğrulama rehberi, App Links için şu komutları belgeler. Paketi değiştirin, ilk ikisini çalıştırın, birkaç dakika bekleyin, ardından durumu okuyun:

Terminal
adb shell pm set-app-links --package YOUR_PACKAGE 0 all
adb shell pm verify-app-links --re-verify YOUR_PACKAGE
adb shell pm get-app-links YOUR_PACKAGE

verified, TWA'nızın tarayıcı arayüzü olmadan açılıp açılmadığını değil, Android'in alan adı doğrulamasını ifade eder. 1024 veya daha yüksek kodlar doğrulayıcıya özgü hatalardır, yanlış bir SHA-256'nın teşhisi değildir. TWA'nın kendisi için yukarıdaki Chrome günlüğünü kullanın.

Parmak izi eşleşiyor ama çubuk kalıyor

Görünür bir çubuk, SHA-256'nın yanlış olduğunu kanıtlamaz. Yukarıdaki kontrol linked: true döndürüyor ve çubuk hâlâ duruyorsa, şu nedenleri sırayla inceleyin.

Doğrulanmış bir TWA'da tarayıcı çubuğunun diğer nedenleri
Gördüğünüz Olası neden Ne yapmalı
Çubuk bir bağlantıdan, girişten veya yönlendirmeden sonra çıkıyor Olası nedenDoğrulanmış origin'den çıktınız Ne yapmalıChrome'un çoklu origin rehberi şöyle der: “Kullanıcı doğrulanmış origin'in dışına gittiğinde Custom Tab arayüzü gösterilir.” Kontrol ettiğiniz her origin'i uygulamada tanımlayın ve her birinde assetlinks.json yayınlayın. Kimlik sağlayıcı gibi başka bir şirketin alan adındaki giriş sayfası ilişkilendirmenizin dışındadır: onun dosyasını yayınlayamazsınız, bu yüzden orada tarayıcı arayüzü görmek beklenen bir durumdur.
Çubuk ilk ekrandan itibaren var ve alan adınız yönlendirme yapıyor Olası nedenBaşlangıç URL'si ile tanımlanan origin farklı ana makineler Ne yapmalıBaşlatma URL'sini, tanımlanan origin'i ve dosyanın ana makinesini aynı yapın, örneğin hepsini www. Parmak izi eşleşen ve bildirilen bir Bubblewrap vakası tam olarak bu şekilde çözüldü.
Chrome ile tam ekran, başka bir varsayılan tarayıcıyla çubuk Olası nedenTarayıcı sağlayıcı seçimi Ne yapmalıChrome'un hızlı başlangıç rehberine göre: varsayılan tarayıcı TWA'yı destekliyorsa o kullanılır, desteklemiyorsa destekleyen başka bir kurulu tarayıcı, o da yoksa bir Custom Tab. Hangi tarayıcının seçildiğini görmek için adb logcat -v brief | grep -e TWAProviderPicker komutunu çalıştırın.
Kötü veya hiç olmayan bir ağda yeni kurulum Olası nedenDoğrulama çalışamadı Ne yapmalıYeniden bağlanın ve uygulamayı tekrar açın. Bu, belgelenmiş bir davranış değil, topluluk tarafından bildirilen bir örüntüdür.
Android verified bildiriyor, ama TWA tarayıcı arayüzü gösteriyor Olası nedenAndroid'in kontrolü ile tarayıcının kontrolü ayrıdır Ne yapmalıTarayıcının origin doğrulama mesajını yukarıdaki logcat komutuyla yakalayın; bu mesaj Android durumunu değil, TWA sonucunu açıklar.
Uygulamanın tarayıcınızda çalıştığını belirten kısa bir mesaj, ardından tam ekran Olası nedenMuhtemelen kalıcı bir çubuk değil, bir tarayıcı bildirimi Ne yapmalıBunu başarısız bir ilişkilendirme olarak değerlendirmeden önce tam metni ve ekranda ne kadar kaldığını not edin. Bu belirti topluluk tarafından bildirilmiştir ve Google tarafından belgelenmemiştir.

Düzeltilen dosyanın etkili olması ne kadar sürer

Google, TWA'lar için tek bir bekleme süresi yayınlamaz, çünkü işin içinde birkaç önbellek vardır ve her birinin kendi kuralları bulunur:

  • Sunucunuz veya CDN'iniz eski dosyayı sunmaya devam ediyor olabilir. Önbelleği temizleyin ve canlı yanıtı curl ile doğrulayın.
  • Digital Asset Links API, her yanıtın ne kadar süre geçerli kalacağını maxAge alanında belirtir.
  • Android App Links ayrı bir zamanlamaya sahiptir. Android'in doğrulama rehberi, Android 15 ve üzerinde değişikliklerin tüm cihazlara ulaşmasının yedi güne kadar sürebileceğini, Android 14 ve altında ise dosyanın genellikle uygulama kurulduğunda veya güncellendiğinde alındığını söyler.
  • Tarayıcı kendi durumunu saklıyor olabilir. Bir geliştirici, Chrome'un verilerini temizledikten sonra sorunun çözüldüğünü bildirdi.

Yani önbelleği temizleyin, canlı dosyayı doğrulayın ve uygulamayı Google Play'den yeniden kurun. Bir test cihazında yeni bir kurulum veya tarayıcı verilerini temizlemek önbellekteki durumu devre dışı bırakmanıza yardımcı olabilir; bu bir teşhis adımıdır, her kullanıcıdan yapmasını isteyeceğiniz bir şey değildir. Sabit bir saat sayısına göre plan yapmayın.

Ret, inceleme ve kapalı test

Eksik veya yanlış bir assetlinks.json, tek başına bir ret nedeni olarak belgelenmemiştir. Belgelerin anlattığı şey, tarayıcı arayüzlü bir Custom Tab'e geri dönüştür. İnceleme ayrı bir konudur: Google Play'in işlevsellik politikası “Çöken, zorla kapanan, donan veya başka şekilde anormal çalışan uygulamalara izin vermiyoruz” der ve bu, ilişkilendirme durumunuz ne olursa olsun geçerlidir. Doğru bir parmak izi çubuğu düzeltir; incelemeyi sonuçlandırmaz. Bir ret aldıysanız, e-postada adı geçen politikadan başlayın.

Bazı eski makaleler, Chrome'un kalite kontrollerini geçemeyen bir TWA'yı çökerteceğini söyler. Chromium bu QualityEnforcer kodunu 4 Mayıs 2023'te kaldırdı; bu yüzden o tavsiyeyi bugünün tarayıcılarının bir tarifi olarak değil, tarihsel bir bilgi olarak değerlendirin.

Bir ret aldıysanız, bildirimdeki gerekçeden yola çıkın: Broken Functionality reddi rehberi en sık görülen işlevsellik bildirimini adım adım anlatır. TWA'nızı yalnızca bir tarayıcı çubuğu yüzünden WebView olarak yeniden oluşturmayın. Uygulamanız bir yapay zeka oluşturucusundan çıktıysa, vibe coding ile yapılan bir uygulamayı Google Play'de yayınlama rehberi projeden Play'e kadar tüm yolu kapsar.

Yeni bir kişisel hesapla TWA test etmek

13 Kasım 2023'ten sonra oluşturulan kişisel geliştirici hesaplarının, üretim erişimi için başvurmadan önce hâlâ en az 12 test kullanıcısının kesintisiz 14 gün boyunca kayıtlı olduğu bir kapalı test çalıştırması gerekir. Bu test kullanıcıları Play tarafından imzalanan derlemeyi kurar; bu hata da tam olarak orada ortaya çıkar. PrimeTestLab, başlangıç fiyatı $19.99 (artı %5 hizmet bedeli) olan 12+ gerçek test kullanıcısı sağlar ve tam testin ardından Google üretim erişimi vermezse ücretsiz yeniden test veya tam iade arasında siz seçim yaparsınız. 12 test kullanıcısı hizmetinin nasıl işlediğini görün.

Sıkça Sorulan Sorular

Play App Signing kullanırken assetlinks.json'a hangi SHA-256 yazılır?

Play Console'daki Play app signing sayfasında gösterilen uygulama imzalama anahtarı sertifikasının SHA-256 değeri. Bu sertifika, kullanıcıların Google Play'den kurduğu derlemeleri imzalar. Yükleme veya debug parmak izinizi de yalnızca kendi kurduğunuz derlemelerin de doğrulanmasını istiyorsanız ekleyin.

TWA'm neden Android Studio'dan çalışıyor da Google Play'den kurulunca URL çubuğu gösteriyor?

Kendi kurduğunuz derlemeler debug veya yükleme anahtarınızla imzalanır, Google Play ise uygulamanızı uygulama imzalama anahtarıyla imzalanmış olarak dağıtır. Web siteniz yalnızca yerel sertifikanızı listeliyorsa, doğrulama Play kurulumu için başarısız olur ve Chrome tarayıcı çubuklu bir Custom Tab'e geri döner.

Güncel Play Console'da uygulama imzalama anahtarı nerede?

Protected with Play altında. Google şu anda iki yol belgeliyor: Play Store distribution, ardından Go to Play app signing; ve Play Store protection, ardından Manage Play app signing. SHA-256 sertifika parmak izini uygulama imzalama anahtarı sertifikası bölümünden kopyalayın.

assetlinks.json birden fazla SHA-256 parmak izi listeleyebilir mi?

Evet. sha256_cert_fingerprints alanı bir dizidir ve aynı paket için birden fazla parmak izini destekler, örneğin bir debug derlemesi ve Play tarafından imzalanan derleme. Farklı bir uygulama kimliği kendi ifadesini gerektirir.

assetlinks.json düzeltildikten ne kadar sonra tarayıcı çubuğu kaybolur?

Google, TWA'lar için tek bir bekleme süresi yayınlamaz. Varsa CDN önbelleğini temizleyin, canlı dosyanın yönlendirme olmadan JSON olarak HTTP 200 döndürdüğünü doğrulayın ve uygulamayı Google Play'den yeniden kurun; bir test cihazında tarayıcı verilerini temizlemek önbellekteki durumu devre dışı bırakmanıza yardımcı olabilir. Android App Links doğrulamasının kendi zamanlaması vardır ve Android 15 ve üzerinde yedi güne kadar sürebilir.

Yanlış bir assetlinks.json, TWA'nın Google Play'de reddedilmesine yol açar mı?

Güncel belgeler otomatik bir reddi değil, tarayıcı arayüzlü bir Custom Tab'e geri dönüşü anlatır. Play incelemesi uygulamanın çalışıp çalışmadığını ve gerçek bir deneyim sunup sunmadığını değerlendirir; bu yüzden doğru bir dosya çubuğu düzeltir ama incelemeyi tek başına sonuçlandırmaz.

Kapalı test kullanıcıları da tarayıcı çubuğunu görür mü?

Evet, web sitesinde uygulama imzalama sertifikası yoksa görürler, çünkü kapalı test kullanıcıları Play tarafından imzalanan derlemeyi kurar. Düzeltmeyi elle yüklenen bir APK yerine bu kurulumla test edin ve dahili uygulama paylaşımı bağlantılarının farklı bir anahtarla imzalandığını unutmayın.

Digital Asset Links kontrolü geçiyor. Çubuk neden hâlâ orada?

Neyin geçtiğini kontrol edin. Bir ifade listesi farklı bir paket veya sertifika için ilişkilendirme içerebilir ve birebir kontrol bile yalnızca verdiğiniz değerleri test eder. Kurulu derlemenin bu kimliği kullandığını doğrulayın, uygulamanın gerçekte açıldığı origin'i izleyin ve tarayıcının doğrulama günlüğünü okuyun. Android'in App Links durumu ayrı bir sinyaldir.

Bir www yönlendirmesi veya giriş sayfası çubuğu geri getirebilir mi?

Evet. TWA doğrulaması origin'lere uygulanır ve doğrulanmış bir origin'in dışına gitmek tarayıcı arayüzünü gösterir. Yönlendirmelerden sonra uygulamanın nereye vardığını kontrol edin ve kontrol ettiğiniz her origin'i hem uygulamada hem de o origin'in kendi assetlinks.json dosyasında yapılandırın. Başka bir şirketin alan adındaki giriş sayfası dosyanızın kapsamında değildir ve onun ilişkilendirmesini siz yayınlayamazsınız.

bubblewrap validate, Play imzalama parmak izimi kontrol eder mi?

Hayır. Bubblewrap, validate komutunu PWA'nızın kalite ölçütlerine göre kontrolü olarak belgeler; bu yüzden oradan geçmek, Play'den kurulan uygulamanın sertifika listenizle eşleşip eşleşmediği hakkında hiçbir şey söylemez. assetlinks.json'u hazırlamak için fingerprint komutlarını kullanın, dosyayı yayınlayın, birebir alan adını, paketi ve sertifikayı kontrol edin, ardından Play kurulumunu test edin.

Çubuğu kaldırmak için TWA'mı WebView'a geçirmem gerekir mi?

İlk adım olarak hayır. Kurulu uygulamanın imzalama kimliğini, web sitesinin dosyayı nasıl sunduğunu ve uygulamanın açtığı origin'leri düzeltin, ardından yeniden test edin. Asıl sorun desteklenmeyen bir tarayıcı davranışı, kimlik doğrulama veya belirli bir politika bildirimiyse, farklı bir sarmalayıcının uygulamanıza uyup uymadığına karar vermeden önce bunu ayrıca inceleyin.

Sonuç

Sonuç

Play'den kurulan bir TWA'daki tarayıcı çubuğu tek bir karşılaştırmayla başlar: kurulu derlemeyi imzalayan sertifika ile web sitenizdeki assetlinks.json dosyasında bulunan parmak izleri. Uygulama imzalama anahtarının SHA-256 değerini Play app signing sayfasından kopyalayın, katı JSON'u birebir origin'de doğrudan HTTP 200 ile yayınlayın, birebir paketi ve sertifikayı kontrol edin, ardından bir test kullanıcısının kuracağı derlemeyi test edin. Parmak izi zaten eşleşiyorsa, herhangi bir şeyi yeniden oluşturmadan önce origin'lere, yönlendirmelere, tarayıcıya ve önbelleklere bakın.

Play Console menü etiketleri bu sayfadaki en hızlı değişen bilgidir. Yukarıdaki yollar Console'unuzla artık eşleşmiyorsa, Protected with Play altında Play app signing sayfasını arayın veya Console'da app signing araması yapın.

Kefayatullah Khadem - Software Engineer & Google Play Publishing Specialist

Yazan

Kefayatullah Khadem

Software Engineer & Google Play Publishing Specialist

Kefayatullah Khadem, ölçeklenebilir uygulamalar geliştiren ve 8 yılı aşkın deneyime sahip bir yazılım mühendisidir. PrimeTestLab’da, kaç bağımsız geliştiricinin bu şartta zorlandığını gördükten sonra, onların Google Play’in kapalı test şartını geçmesine yardım ediyor. Bugüne kadar 12.100+ Android uygulamasının 120+ ülkede yönetilen kapalı testi tamamlamasına yardımcı oldu; yönetilen test tamamlanma oranı ise %99,9. Geliştiricilerin uygulamalarını yayına almasına yardım etmediği zamanlarda Google Play politikaları, uygulamaların reddedilme kalıpları ve kapalı test süreci üzerine yazıyor.

12.100+ Test Edilen Uygulama
%99,9 Test Tamamlanma Oranı
120+ Ülke
4,9/5 Puan

TWA'lar için kapalı test

Parmak İziniz Düzeldi. Şimdi 14 Günlük Testi Çalıştırın.

12+ gerçek test kullanıcısı, Play tarafından imzalanan derlemenizi gerçek Android telefonlara kurar ve 14 günün tamamı boyunca kayıtlı kalır.

Başlangıç $19.99 · +%5 hizmet bedeli

Test 4-6 saatte başlar · 120+ ülke · Ücretsiz yeniden test veya tam iade

12 Test Kullanıcısı Edinin, Başlangıç $19.99 WhatsApp