Android ve Google Play'i kullanmaya yeni başlayan bir web geliştiricisiyseniz bilmeniz gereken bazı ayrıntılar vardır. bilmeniz gerekir. Bununla ilgili halihazırda birçok kaynak ve belge mevcut (Android ekibi), burada bazı önemli kavramları ve bunların Bubblepack ile nasıl ilişkilerini vurgulayacağız.
Yükleme ve İmzalama Anahtarı Karşılaştırması
Android App Bundle (AAB) oluşturmak için BubbleWrap'ı kullanmayı planlıyorsanız (Not: Ağustos'tan itibaren) 2021, Google Play tüm yeni uygulamaların Android App Bundle biçimini kullanmasını zorunlu kılacak) veya APK'yı yükleyip Google Play'e yüklemek istemiyorsanız uygulamanızı bir imzalama anahtarıyla imzalamanız gerekir. Google Play, bununla başa çıkmanız için size iki seçenek sunar:
- Play Uygulama İmzalama (önemle tavsiye edilir): Google, uygulamanızın imzalama anahtarını yönetir ve korur
sizin için. Bunu, APK'larınızı dağıtım için imzalamak amacıyla kullanır. Play Uygulama İmzalama iki anahtar kullanır. "Uygulama
imzalama anahtarı" Google'ın sizin için yöneteceği "yükleme anahtarı" düzenli olarak korumanız gerekir.
size özel. Yükleme anahtarını, uygulamanızı Play Console'a yüklemek üzere imzalamak için kullanırsınız. Bu
sistem, yükleme anahtarınızın kaybolması veya güvenliğinin ihlal edilmesi halinde sizin yükleme anahtarınızı sıfırlamanıza
Play Destek Ekibi ile iletişime geçebilirsiniz. Şu anda Google Play
uygulamanızı AAB veya APK olarak yüklemenizi sağlar:
- Android App Bundle (AAB): Ne zaman Play Console'a bir AAB yüklerseniz, APK'ların oluşturulmasını ve oluşturulmasını Google Play Store'a gidin. Bir kullanıcı uygulamanızı indirip yüklediğinde Google Play bunu dağıtır imzalamayı tercih edebilirsiniz. Bu nedenle, APK'ların Google tarafından Google Play Bu nedenle, varsayılan olarak uygulamanızı Play Console'a bir AAB olarak yüklerseniz, Play Uygulama İmzalama'yı kullanmanızı gerektirir.
- APK: APK'lar ile Play Uygulama İmzalama'ya kaydolabilirsiniz. Play Uygulamasına kaydolma İmzalama anahtarınızın güvenliğini artırdığı için imzalamanız önemle tavsiye edilir. Belirtildiği gibi Google Play yakında tüm yeni uygulamaların AAB biçiminde yüklenmesini zorunlu kılacak. Bu nedenle, APK'ları yüklemek yerine bunu yapmanızı öneririz.
- Kendi imzalama anahtarınızı yönetme: Kendi anahtarınızı yönetmeyi seçer ve Play uygulamasına kaydolmayı tercih etmezseniz İmzalama. Uygulamanızın imzalama anahtarının sorumluluğu tamamen size aittir. Play Uygulama İmzalama'nın aksine anahtarı kaybederseniz sıfırlamanız mümkün olmaz. Bu nedenle, uygulamanızın imzalama anahtarını kaybetmeniz uygulamanızı güncelleme imkanını da kaybeder.
bubblewrap init
kurulumu sırasında "İmzalama anahtarı bilgileri (5/5)" bölümüne geldiğinizde,
"Anahtar deposu konumu" ve "Anahtar adı" girmeniz veya varsayılan değerleri kullanmanız istenir. İlgili içeriği oluşturmak için kullanılan
varsayılan anahtar deposu konumu, proje dizininizdeki android.keystore
dosyasıdır ve varsayılan konumdur.
anahtar adı android
. BubbleWrap aynı zamanda
varsa sizin için bir şifre oluşturacaktır ve sizden şifrelerinizi isteyecektir. Şifreleri not edin
ihtiyaç duyacağınızdan emin olmak için girdiğiniz verileri (bubblewrap build
) kullanır.
tuşuna basın. Play Uygulama İmzalama'ya kaydolursanız BubbleWrap'ın imzalama anahtarı
olarak oluşturulur ve uygulamanızı imzalamak için kullanılır. Bu anahtar, "yükleme anahtarı" olur.
İmzalama veya yükleme anahtarınız olarak Bubblepack oluşturulan anahtar. Anahtarı korumanız ve gizli tutmanız gerekir.
Bunu sürüm denetimine dahil etmeniz önerilmez. Bunun yerine
erişebilir.
Digital Asset Links
Dijital Öğe Bağlantıları, web sitenizle Android'iniz arasındaki ilişkiyi beyan etmek için gereklidir
uygulamasını indirin. BubbleWrap tarafından oluşturulan Android uygulamanızın düzgün bir şekilde doğrulandığından ve
Güvenilir Web Etkinliği (Chrome Özel Sekmesi yerine),
assetlinks.json
dosyanız. Ardından bu dosyayı .well-known/assetlinks.json
adresindeki web sitenize yükleyin.
(köke göre). assetlinks.json
dosyanız şu biçimde olmalıdır:
[{
"relation": ["delegate_permission/common.handle_all_urls"],
"target": {
"namespace": "android_app",
"package_name": "com.your.package_name",
"sha256_cert_fingerprints": [
"XX:XX:XX:..."
]
}
}]
SHA256 sertifikası dijital parmak izini alma
assetlinks.json
dosyasını oluşturmak için ilişkilendirilmiş SHA 256 sertifikası dijital parmak izinin olması gerekir
anahtarıyla oturum açın. Unutulmaması gereken önemli nokta şudur: Bu dijital parmak izleri,
imzalama ve yükleme anahtarlarınız farklı olacaktır. Takip etmeniz gereken
özellikle de uygulamanızın Chrome Özel Sekmesi (
görünür). Ardından, muhtemelen assetlinks.json
dosyanızda
dijital parmak izini bulun.
assetlinks.json dosyanızda hem imzalama hem de yükleme sertifikanızın parmak izinin bulunması yararlı olur
yerel olarak daha kolay hata ayıklamanızı sağlar. Daha fazla bilgi için aşağıdaki Daha Fazla Anahtar Ekleme bölümüne bakın
assetlinks.json
dosyasında her iki anahtarın da nasıl bulunacağıyla ilgili bilgiler.
Parmak izini almanın birkaç farklı yolu vardır. Bu yöntemler, sonraki bölümlerde ayrıntılı olarak açıklanmıştır. Hepsinin de size aynı parmak izlerini vermesi gerekeceğinden en uygun yöntemi seçebilirsiniz yardımcı olur.
Play Console aracılığıyla
Play Uygulama İmzalama'ya dahil olup olmamanıza bağlı olarak bir veya iki anahtarınız olabilir. Geri almak için her anahtar için uygun SHA256 parmak izini kullanın:
- Play Console'a gidin.
- İlgilendiğiniz uygulamayı seçin
- Soldaki gezinme menüsünde Sürüm bölümünde, Kurulum'a gidin -> Uygulama bütünlüğü.
- Uygun anahtar için SHA256'yı kopyalayın:
İmzalama anahtarı: "Uygulama imzalama anahtarı sertifikası" için SHA256 parmak izini kopyalayın. Bu Parmak izi, şu tarihten itibaren Google Play Store'dan indirmeniz halinde uygulamanıza karşılık gelir Google Play, imzalama anahtarıyla imzalanmış uygulamanızı dağıtır.
Yükleme anahtarı: "Yükleme anahtarı sertifikası" için SHA256 parmak izini kopyalayın. Bu Parmak izi, yerel olarak yüklerseniz uygulamanıza karşılık gelir (USB üzerinden ADB üzerinden örneğine bakın). Bu APK (yerel makinenizde) BubbleWrap tarafından oluşturulmuş ve dolayısıyla oluşturduğunuz anahtara da ekleyebilirsiniz (
init
kurulumu sırasında). Bunun en önemli nedenler olabileceğini yerel olarak yüklü uygulamanız için bir imzalama anahtarı oluşturabilirsiniz, ancak bu aslında "yükleme anahtarı" olur Bir kez uygulamanızı Play üzerinden yayınlıyorsunuz.
keytool
üzerinden
keytool bir anahtardır sertifika yönetim aracı. Keytool kullanarak oluşturulan APK veya AAB BubbleWrap Bu parmak izinin yerel imzalama anahtarı için olduğunu ve uygulamanızı Play'e yükleyip Play Uygulama İmzalama'ya kaydolduğunuzda, bu anahtar "yükleme anahtarı" olur.
keytool -printcert -jarfile [path to APK or AAB] | grep SHA256
Öğe Bağlantısı Aracı aracılığıyla
Uygulamanız için doğru Digital Asset Links dosyasını almanın bir başka yolu da Öğe Bağlantısı Aracı'nı kullanmaktır:
- Play Store'dan Öğe Bağlantısı Aracı'nı yükleyin.
- Aynı cihazda, uygulamanızı Google Play Store'dan indirin veya yerel olarak yükleyin.
- Asset Link Tool uygulamasını açın. Cihazınızda yüklü tüm uygulamaların listesi
paket adına göre ayarlayabilirsiniz. Listeyi daha önce seçtiğiniz uygulama kimliğine göre filtreleyin.
bubblewrap init
ve bu girişi tıklayın. - Uygulamanızın imzasının ve oluşturulan bir Dijital Öğe Bağlantısının listelendiği bir sayfa görürsünüz. Önce İstediğiniz şekilde dışa aktarmak için (ör. Google Keep'e kaydet, kendinize e-postayla gönderebilirsiniz).
Aynı durum imzalama veya yükleme anahtarları için de geçerlidir. Uygulamanızı Öğe Bağlantısı Aracı, uygulamanızın imzalama anahtarı için dijital parmak izini Google Play Store'a getirir. Eğer Uygulamayı doğrudan yerel makinenizden yüklediyseniz parmak izi, anahtarın Baloncuklu naylon oluşturuldu.
Öğe bağlantı dosyanızın erişilebilir olduğundan emin olma
Artık dosyayı yüklediğinize göre öğe bağlantısı dosyanıza tarayıcıda erişebildiğinizden emin olun.
https://example.com/.well-known/assetlinks.json
öğesinin az önce yüklediğiniz dosyayı çözdüğünden emin olun.
Jekyll tabanlı web siteleri
Web siteniz Jekyll (örneğin, GitHub Sayfaları) tarafından oluşturulduysa, bir
.well-known
dizini çıkışa dahil edilecek şekilde yapılandırılmalıdır.
GitHub yardım bölümünde bu konuyla ilgili daha fazla bilgi bulabilirsiniz.
Sitenizin kökünde _config.yml
adlı bir dosya oluşturun (veya zaten varsa bu dosyayı ekleyin) ve
girin:
# Folders with dotfiles are ignored by default.
include: [.well-known]
Daha fazla anahtar ekleme
Digital Asset Link dosyası birden fazla uygulama içerebilir ve her uygulama için birden fazla uygulama içerebilir. bir tuşa basın. Örneğin, ikinci bir anahtar eklemek için Öğe Bağlantısı Aracı'nı anahtarı belirler ve ikinci giriş olarak ekler. Chrome'da bu JSON'u ayrıştıran kod oldukça katıdır. Bu nedenle, yanlışlıkla bir sonuna fazladan virgül koyun.
[{
"relation": ["delegate_permission/common.handle_all_urls"],
"target": {
"namespace": "android_app",
"package_name": "com.your.package_name",
"sha256_cert_fingerprints": [
"XX:XX:XX:..."
]
}
},{
"relation": ["delegate_permission/common.handle_all_urls"],
"target": {
"namespace": "android_app",
"package_name": "com.your.package_name",
"sha256_cert_fingerprints": [
"XX:XX:XX:..."
]
}
}]
Sorun giderme
Chrome, Digital Asset Links doğrulamasının başarısız olma nedenini günlüğe kaydeder ve günlükleri
adb logcat
yüklü Android cihaz.
Linux/Mac'te geliştirme yapıyorsanız bağlı bir cihazdan ilgili günlükleri görebilirsiniz
şununla:
> adb logcat -v brief | grep -e OriginVerifier -e digital_asset_links
Örneğin, Statement failure matching fingerprint.
mesajını görürseniz
Asset Link Aracı ile uygulamanızın imzasını görebilir, assetlinks.json
imzanızla eşleştiğinden emin olabilirsiniz
dosyası olarak kaydedebilirsiniz.