1. Hoş geldiniz
Bu laboratuvarda, dağıtılmış mevcut bir progresif web uygulamasını alıp Google Play Store'da dağıtılmak üzere bir uygulamaya dönüştüreceksiniz.
Neler öğreneceksiniz?
- Google Play Store için progresif web uygulamanızı paketlemek üzere Bubblewrap'ı kullanma
- İmzalama anahtarı nedir ve nasıl kullanılır?
- Google Play'in Geliştirici Konsolu'nda yeni bir uygulama oluşturma ve yayınlamadan önce uygulamanızı test etmek için test sürümü oluşturma
- Digital Asset Links nedir ve web uygulamanıza nasıl eklenir?
Bilmeniz gerekenler
- Progresif web uygulamaları nedir?
- Komut satırı araçlarını kullanma
- Temel Bash kabuk komutları veya bunları seçtiğiniz kabuğa nasıl çevireceğiniz
İhtiyacınız olanlar
- İnternette yayınlanmış ve üzerinde değişiklik yapabileceğiniz bir progresif web uygulaması
- Bubblewrap komut satırı arayüzü yüklü ve kullanıma hazır olmalıdır.
- Google Play Geliştirici hesabı
- Google Play'de yayınlanmış uygulamalarınız varsa mevcut imzalama anahtarınız
- Test için Android veya ChromeOS cihaz
Kapsamda olmayanlar
- PWA'nızı yalnızca Android veya yalnızca ChromeOS cihazlarla sınırlama
- ChromeOS için PWA ve mobil cihazlar için Android uygulamasını aynı uygulama altında dağıtma.
- PWA'nızda Google Play'in Ödeme Politikası'na nasıl uyacağınızı öğrenin.
2. PWA'nızı koruma
Bubblewrap, progresif web uygulamanızı Android uygulama paketine sarmayı birkaç CLI komutu çalıştırmak kadar kolay hale getiren bir araçtır. Bu işlem, PWA'nızı Güvenilir Web Etkinliği olarak başlatan bir Android projesi oluşturarak yapılır.
Başlamak için projenizin yer alacağı bir dizin oluşturun ve bu dizine gidin:
$ mkdir my-pwa && cd my-pwa
Ardından, Play'e yükleyeceğiniz Android App Bundle'ın yapılandırmasını ve Android projesini oluşturmak için Bubblewrap komut satırı aracını çalıştırın:
$ bubblewrap init --manifest=https://my-pwa.com/manifest.json
Burada Bubblewrap, bir PWA'nın Web Uygulaması Manifest dosyasının konumuyla başlatılır. Bu işlem, web uygulaması manifestinden varsayılan bir yapılandırma oluşturur ve varsayılan yapılandırmayı değiştirmenize olanak tanıyan konsol içi bir sihirbaz başlatır. Araç tarafından oluşturulan değerlerden herhangi birini değiştirmek için sihirbazı takip edin.

İmzalama anahtarı
Google'ın Play Store'u, yüklenen uygulama paketlerinin dijital olarak bir sertifikayla imzalanmasını gerektirir. Bu sertifika genellikle imzalama anahtarı olarak adlandırılır. Bu, kendinden imzalı bir sertifikadır ve uygulamanızı HTTPS üzerinden sunmak için kullanılan sertifikadan farklıdır.
Bubblewrap, uygulamayı oluştururken anahtarın yolunu ister. Uygulamanız için mevcut bir Play Store girişi kullanıyorsanız bu girişin kullandığı anahtarın yolunu eklemeniz gerekir.

Mevcut bir imzalama anahtarınız yoksa ve Play Store'da yeni bir giriş oluşturuyorsanız Bubblewrap'in sizin için yeni bir anahtar oluşturmasını sağlamak üzere Bubblewrap tarafından sağlanan varsayılan değeri kullanabilirsiniz:

Bubblewrap Çıkışı
Bubblewrap projenizi başlattıktan ve sihirbazı tamamladıktan sonra aşağıdaki öğeler oluşturulur:
- twa-manifest.json: Bubblewrap sihirbazında seçilen değerleri yansıtan proje yapılandırması. Gerekirse tüm Bubblewrap projesini yeniden oluşturmak için kullanılabileceğinden bu dosyayı sürüm kontrol sisteminizle izlemeniz gerekir.
- Android proje dosyaları: Dizindeki diğer dosyalar, oluşturulan Android projesidir. Bu proje, Bubblewrap derleme komutu için kullanılan kaynaktır. İsteğe bağlı olarak bu dosyaları sürüm denetim sisteminizle de izleyebilirsiniz.
- (İsteğe bağlı) İmzalama anahtarı: Bubblewrap'in imzalama anahtarını sizin için oluşturmasını seçerseniz anahtar, sihirbazda açıklanan konuma çıkarılır. Anahtarın güvenli bir yerde saklandığından ve erişebilen kişi sayısının sınırlı olduğundan emin olun. Play Store'daki uygulamaların size ait olduğunu kanıtlamak için bu anahtar kullanılır.
Bu dosyalarla birlikte artık Android App Bundle oluşturmak için gereken her şeye sahibiz.
Android App Bundle'ınızı oluşturma
Bubblewrap'in başlatma komutunu çalıştırdığınız dizinde aşağıdaki komutu çalıştırın (imzalama anahtarınızın şifrelerine ihtiyacınız olacaktır):
$ bubblewrap build

Derleme komutu iki önemli dosya oluşturur:
- app-release-bundle.aab: PWA'nızın Android App Bundle'ı. Bu, Google Play Store'a yükleyeceğiniz dosyadır.
- app-release-signed.apk: Uygulamayı
bubblewrap installkomutunu kullanarak doğrudan bir geliştirme cihazına yüklemek için kullanılabilen bir Android paketleme biçimi.
3. Deneyin - Bubblewrap
Şimdi sıra sizde! Önceki adımda öğrendiklerinizi kullanarak aşağıdakileri yapmaya çalışın:
- Oluşturulan Android projenizi barındıracak bir dizin oluşturun.
- Bu dizini Bubblewrap ve PWA'nızın web uygulaması manifesti ile başlatın.
- Yeni imzalama anahtarı oluşturun veya varsa mevcut anahtarlarınızı yeniden kullanın.
- Oluşturulan Android projesinden Android App Bundle'ınızı oluşturun.
4. Uygulamanızı Google Play Store'a Ekleme
PWA'nız için bir Android uygulama paketi oluşturduğunuza göre, artık bu paketi Google Play Store'a yükleyebilirsiniz. Geliştirici hesabınızı kaydettikten sonra, oturum açmak ve başlamak için Play Console'a gidebilirsiniz.
Uygulama oluşturma
Oturum açtıktan sonra tüm uygulamalarınızın gösterildiği bir ekran görürsünüz. Üst kısımlarda, tıklandığında yeni bir Android uygulama girişi oluşturma konusunda size yol gösterecek aşağıdaki ekranı gösterecek olan Uygulama oluştur düğmesi bulunur.

Burada, uygulama adı, varsayılan dil, uygulama mı yoksa oyun mu olduğu, ücretsiz mi yoksa ücretli mi olduğu ve çeşitli beyanlar dahil olmak üzere doldurulması gereken birçok alan vardır. Beyanları kabul etmeden uygulama oluşturamazsınız. Bu nedenle, kabul etmeden önce beyanları okuyup anlamanız önemlidir.
Tüm bilgileri doldurup formun alt kısmındaki Uygulama oluştur düğmesini tıkladığınızda yeni uygulamanızın kontrol paneline yönlendirilirsiniz. Kontrol panelinde, uygulamanızı ayarlamak, test etmeye başlamak ve yayınlamak için tamamlamanız gereken görevlerin kontrol listelerini görürsünüz.
Dahili Testi Ayarlama
Dahili test, uygulamanızı inceleme yapılmadan hızlıca yayınlayarak seçtiğiniz güvenilir test kullanıcılarından geri bildirim almanın harika bir yoludur. Test etmeye şimdi başlayın yapılacaklar listesindeki görevleri görüntüleyin ve Test kullanıcılarını seçin'i belirleyin.

Bu görevi tıkladığınızda Dahili Test sayfasına yönlendirilirsiniz. Uygulamanızın test kurulumunu buradan yönetebilirsiniz. Kenar çubuğundaki Sürüm menüsünde Test bölümünü açarak bu sayfaya tekrar gidebilirsiniz. Burada yapmanız gereken ilk şey, uygulamanızı test edecek test kullanıcılarının e-posta listesini oluşturmaktır. Bunu yapmak için sayfanın Test kullanıcıları bölümündeki E-posta listesi oluştur bağlantısını tıklayın. Bu işlemle e-posta listenizi oluşturabileceğiniz bir pop-up açılır.

Bu pop-up pencerede e-posta listenizi adlandırır ve e-posta adreslerini manuel olarak girebilir veya kullanılacak e-posta adreslerinin CSV dosyasını yükleyebilirsiniz. İşlemi tamamladığınızda Değişiklikleri kaydet düğmesine basın. Gerekirse e-posta adreslerini eklemek veya kaldırmak için önceden oluşturduğunuz e-posta listelerine geri dönebilirsiniz. Test kullanıcılarınızı ekledikten sonra test sürümü oluşturma zamanı gelir. Sayfanın üst kısmındaki Yeni sürüm oluştur düğmesini tıklayın.

Test sürümü oluşturma
Yeni sürüm oluştur düğmesini tıkladıktan sonra çeşitli bölümlerden geçmeniz istenir. Uygulama Bütünlüğü bölümünde, uygulamanızın imzalama anahtarını nasıl yöneteceğinizi seçersiniz. Varsayılan seçenek, Google'ın imzalama anahtarınızı yönetmesine izin vermektir. Bu seçenek hem güvenli olduğu hem de yükleme anahtarınızı kaybetmeniz durumunda uygulamanızın kurtarılabilmesini sağladığı için önerilir.
Play Uygulama İmzalama

Uygulama Yükleme ve Sonlandırma
İmzalama anahtarınızı nasıl yöneteceğinizi seçtikten sonra uygulama paketinizi sürümünüze yüklemeniz istenir. Bunu yapmak için Bubblewrap'in oluşturduğu app-release-bundle.aab dosyasını forma sürükleyip bırakın. Sürümü tamamlamak için kalan sürüm ayrıntılarını doldurun ve sırasıyla Kaydet, Sürümü incele ve Dahili testte kullanıma sunmayı başlat düğmelerini tıklayarak sürümünüzü başlatın. Bu işlem, uygulamanızı dahili test kullanıcılarınızın kullanımına sunar. Dahili Test sayfasının Test Kullanıcıları sekmesine geri dönerek test kullanıcılarınızla paylaşacağınız bir bağlantıyı kopyalayabilirsiniz. Bu bağlantı sayesinde test kullanıcılarınız uygulamanıza erişebilir.

5. Deneyin: Uygulama Oluşturma
Şimdi sıra sizde! Önceki adımda öğrendiklerinizi kullanarak aşağıdakileri yapmaya çalışın:
- Play Console'da PWA'nız için yeni bir uygulama oluşturun.
- Uygulama için dahili test ayarlayın ve kendinizi test kullanıcısı olarak ekleyin.
- Uygulama paketinizi yükleyin ve uygulamanız için bir test sürümü oluşturun.
- Test bağlantısını kullanarak uygulamanızı Android veya ChromeOS cihazınıza Play Store'dan yükleyin.
6. Digital Asset Links
PWA'nızı Play'de test ettiyseniz tam ekran çalışmadığını fark edebilirsiniz. Bunun nedeni, site sahipliğini henüz bir Digital Asset Links dosyası aracılığıyla doğrulamamış olmanızdır. Bubblewrap, Android uygulama paketinizi yapılandırıp oluşturabilir ancak web uygulamanızı güncelleyerek bağlantıyı tamamlamanız gerekir.
Uygulamanızın SHA-256 Parmak İzini Alma
PWA'nızın Digital Asset Links'ini yapılandırmak için kullanıcının telefonuna aldığı paketi imzalamak üzere kullanılan sertifikanın SHA-256 parmak izine ihtiyacınız vardır.
Play Uygulama İmzalama ile
Sürümünüzü oluştururken uygulamanız için Play Uygulama İmzalama'yı ayarladıysanız (daha önce önerilen yöntem), SHA-256 parmak izini Play Console'da bulabilirsiniz. Bu sertifikanın, uygulamanızı yüklemek için kullanılan sertifikadan farklı olduğunu unutmayın. Parmak izini almak için Play Console'daki uygulamanızda Sürümler > Kurulum > Uygulama bütünlüğü'ne gidin. Burada, Uygulama imzalama anahtarı sertifikası bölümünde çeşitli seçenekler görürsünüz. SHA-256 sertifika parmak izi değerini kopyalayın.

Play Uygulama İmzalama olmadan
Play Uygulama İmzalama'yı devre dışı bıraktıysanız son uygulamayı imzalamak için kullanılan anahtar, uygulamayı Play Console'a yüklemek için kullandığınız anahtarla aynı olur. Parmak izini ayıklamak için Java'nın keytool aracını kullanabilirsiniz:
$ keytool -list -v \
-keystore <keystore-file-path> \
-alias <key-alias> \
-keypass <key-password> \
-storepass <store-password> | grep SHA256
$ SHA256: BD:92:64:B0:1A:B9:08:08:FC:FE:7F:94:B2...
Bu aracı kullanmak için imzalama anahtarınızın yolunu ve ilgili şifreleri bilmeniz gerekir. SHA256 anahtarının on altılı değerlerini kopyalayın.
Digital Asset Links dosyanızı oluşturma
Bubblewrap, aldığınız imza parmak izlerini yönetebilir ve sizin için doğru Digital Asset Links dosyasını oluşturabilir. Bubblewrap ile parmak izi eklemek için PWA'nızı Bubblewrap ile paketleme sırasında oluşturulan dizinin içinden aşağıdaki komutu çalıştırın. <fingerprint> yerine önceki adımda kopyalanan parmak izini girin.
$ bubblewrap fingerprint add <fingerprint>
Bu komut, parmak izini uygulamanın parmak izi listesine ekler ve assetlinks.json dosyası oluşturur. Bu dosyayı, PWA'nızla aynı kaynakta bulunan .well-known dizinine yükleyin.
7. Deneyin - Digital Asset Links
Şimdi sıra sizde! Önceki adımda öğrendiklerinizi kullanarak aşağıdakileri yapmaya çalışın:
- Uygulamanızın SHA-256 parmak izini bulun.
- Uygulamanız için bir Digital Asset Links dosyası oluşturun.
- Digital Asset Links dosyanızı PWA'nıza yükleyin.
- API'yi ve test uygulamanızı kullanarak Digital Asset Links dosyanızın doğru şekilde ayarlandığını doğrulayın.
8. Bilginizi Sınayın
Bitirmeden önce aşağıdaki soruları yanıtlayarak bilginizi test edin ve öğrendiklerinizi görün. Yanıtları görmeye çalışmayın.
Android projesini Bubblewrap ile oluşturduktan sonra Sally, oluşturulan ______ dosyasını sürüm kontrol sistemine gönderir. Böylece, ihtiyaç duyduğunda dosyayı yeniden oluşturabilir.
Jack, kalite güvencesi ekibinin PWA Android uygulamasını test etmesini istiyor. Bu nedenle, Android App Bundle'ını dahili test kanalına _______.
Oogie Boogie'nin PWA Android uygulaması tam ekranda çalışmıyor. Bu sorunu düzeltmek için ______ sertifikasının SHA-256 sertifika parmak izini alıp PWA'larıyla aynı kaynakta bulunan ______ konumundaki Digital Asset Links dosyalarına yüklerler.
9. Bilginizi Test Edin - Cevaplar
Bilginizi Test Edin sorularının yanıtları
- Android projesini Bubblewrap ile oluşturduktan sonra Sally, oluşturulan ______ dosyasını sürüm kontrol sistemine gönderir. Böylece, ihtiyaç duyduğunda dosyayı yeniden oluşturabilir.
- Yanıt: twa-manifest.json
- Bölüm: PWA'nızı Bubblewrap ile paketleme
- Jack, kalite güvencesi ekibinin PWA Android uygulamasını test etmesini istiyor. Bu nedenle, Android App Bundle'ını dahili test kanalına _______.
- Yanıt: İmzalar ve yüklemeler
- Bölüm: Uygulamanızı Google Play Store'a Ekleme
- Oogie Boogie'nin PWA Android uygulaması tam ekranda çalışmıyor. Bu sorunu düzeltmek için ______ sertifikasının SHA-256 sertifika parmak izini alıp PWA'larıyla aynı kaynakta bulunan ______ konumundaki Digital Asset Links dosyalarına yüklerler.
- Yanıt: imzalama anahtarı, /.well-known/assetlinks.json
- Bölüm: Digital Asset Links
10. Tebrikler!
Tebrikler! PWA'nızı Google Play Store'a nasıl ekleyeceğinizi başarıyla öğrendiniz.
Hazır olduğunuzda aşağıdaki adımları kendi başınıza deneyin:
- Uygulamanın üretim sürümünü oluşturma
- Yalnızca ChromeOS'e yönelik sürümler, mobil için Android uygulaması ve ChromeOS için PWA içeren sürümler de dahil olmak üzere uygulamanızı yayınlamayla ilgili diğer seçenekler hakkında daha fazla bilgi edinin.
- Uygulamanız için Play Faturalandırma'yı nasıl ayarlayacağınızı ve PWA'nızda ve arka ucunuzda nasıl uygulayacağınızı öğrenin.
Keyifli kodlamalar!