Mobile App Deployment'in Gerçekliği

Apple App Store ve Google Play Store'a bir Reaksiyon Yerlisi uygulaması, her mobil geliştirici yüzleri bir kilometre taşıdır, ancak her platforma tek bir kod tabanından hedef alın, başarılı bir üretim başlatıcısı için yolculuk zor kılavuzlar, karmaşık bir araçlama ve titiz test içerir. tek bir gözetim - eksik bir izin dizesi, yanlış yapılandırılmış bir anahtar deposu veya ulaşılamaz API uç noktası - gün veya haftalar tarafından başlatabilirsiniz.

Bu kılavuz, Reaksiyon Yerli uygulamaları dağıtmak için bir üretim destekli kontrol listesi sağlar. Basit bir fayda uygulaması veya Directus tarafından desteklenen karmaşık bir içerik odaklı platform gönderirseniz, bu adımlar, varış sürecini güvenle dolaşmanıza yardımcı olacaktır.

Pre-Deployment Harding

Test Tamamını Tamamlama

Bir serbestlik sanatı inşa etmeyi bile düşünmeden önce, uygulamanız doğrudan bir geri dönüşe ihtiyaç duyar. Bu, API'nizin ağ zamanlarını ciddiyetle takip ettiğini ifade eder ve Directus SDK'larının tüm iOS ve Android ekran boyutlarını ve OS sürümlerini kapsayan son testlerini yerine getirir.If your Browser app dependable.

Varlık Nihaileştirme

Her iki uygulama mağazası da görsel varlıklar için katı gereksinimleri vardır. Bu dosyaları üretmek için son dakikaya kadar beklemeyin.

  • [FONT=0}iOS:[[Dönetici: 0,4x, @2x, @3x) Her gerekli cihaz büyüklüğü için ekran görüntüsü sağlar (6.5 inç, 5.5 inç, iPad Pro, vs.).
  • [[Dönetici:0) Android:[Dönetici:0) Adaptif bir ikon oluşturun (foreground ve arka katmanlar). Telefon ve tablet için grafik ve ekran görüntüleri.
  • [FONT:0]Splash Ekran:[Dönetici:2|Dönetici-boot sıçraması[Döntilmiş 3 ) Markanızı ve geçişlerinizi uygulamanıza uygun şekilde eşleştirebilmeniz için.

İzinler veamp; Gizlilik

Bu, inceleme sırasında en yaygın sting bloklarından biridir. Uygulama isteklerinizin kullanıcı için haklı olması gerekir.

  • [FONT:0]iOS Info.plist: [DDD: 1] Her izin için (camera, fotoğraf kütüphanesi, yer, mikrofon), bir amaç dizesi vermeniz gerekir.Eğer uygulamanız doğrudan medya yükleri için kullanırsa, dizeniz özel olmalıdır: “Henüz fotoğrafınızı yüklemek için kameranıza erişime ihtiyacımız var.”
  • [FONT=0) Android Manifest:[Döntme:[Döntme:0)[Dönetici:0)[Dönetici:[Döntme:0)[Dönemli bir özellik olmadan) COLONE[D][/FONT][/FONT][/FONT][/FONT][/FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=
  • [FONT:0)Testing:[Dönetici:[Dönetici:0)Deny:[Dönetici:0)Testing:[Dönetici:[Dönetici:0) Serbestleşmenizdeki her izin akışı aracılığıyla gidin. Kullanıcı “Deny” nin tıklamalarına dokunursa ne olur? Uygulama kazara veya manuel giriş seçeneğine geri döner?

Backend Lockdown (The Directus Factor)

Ortak bir gözetim, uygulama bittikten sonra erişilebilir olan geri dönüşten ayrılır. Reaksiyon Yerli uygulamanız Directus'a bir başsız CMS olarak dayanırsa, önceden iş ortamınızı uygun şekilde yapılandırmak için zamandır.

  • [FONT:0]Roles ve Permissions:[Dönetici:0] Yönetim paneline erişilemez kamu erişimi. Uygulamanız için gerekli olan izinleri tam olarak kullanan özel bir API rolü oluşturun.Use Directus's permission system to restrict, create, update, and delete operations on a per-collection.
  • [FONT:0)CORS Konsülasyonu:[Döntme:[Dönetici:0)Kategor:[Dönetici:[Döntme:0)) Lock down Cross- ⁇ Kaynak Paylaşımı, uygulama alanınızdan veya özel programlarınızdan sadece taleplerinizi kabul etmek için.
  • [FONT:0) Sınırlama:[Dönetici:[Dönetici:[Dönetici:0))Demek Sınırlamanızı sağlamak için Direktus API'nizi kötüye kullanmakla korumak.
  • [FONT:0]Statik Hediyeler vs. Dynamic Auth:[Dönetici:[Dönetici:0) Uygulamanızın halka açık veri veya kullanıcı için tam bir kimlik doğrulama akışı kullanmasına karar verin. Statik Jetonlar halka özel içerik için daha basit, ancak kullanıcı kimlik doğrulama (In Directus'un yerleşik auth sistemi) kişisel deneyimler için gereklidir.

[FONT:0)Reference:[Dönetici:[Döncü: 2))[Dönetici: 3 )

Çevre Konsülatörü veamp; Sır Yönetimi

Hardcoding API anahtarları veya Direktus proje URL'niz kaynak kodunuza kritik bir güvenlik riskidir. Ayrıca farklı ortamlar (staging, üretim) gereksiz derecede acı çekmemektedir.

[FONT=0] [FONT=FONT=FONT=0)

Kütüphaneleri, uygun olmayan-dotenv[[Dönetici İçin) veya [[Dönetici Yerlisi İçin) veya [[Döneticiler için[Dönetici için) ortamı değişkenlerini yönetmek için kullanın.

  • Ayrı dosyalar oluşturun:0).env.staging) ve ).
  • Directus örnek URL'nizi, statik token (eğer uygulanabilirse), ve burada herhangi bir üçüncü taraf API anahtarlarını kullanın.
  • Bu dosyaları sürüm kontrol sisteminize asla taahhüt etmeyin.Onları [email protected]).

Kullanıcı Hediyeleri için Güvenli Depolama

Bir kullanıcı doğrudan doğrudan gelene karşı gerçekleştirildiğinde, geri dönüş süresi asla düz metinde veya AsyncStorage'da genişletilmiş dönemler için depolanmalıdır.[/0]Bu, fiziksel bir cihaz uzlaşması durumunda kullanıcılarınızı korur.

Salı günü için bina

[FONT:0]Npx tepki-native run-ios[Dönetici:0) veya [[Dönetici:2|prodüktör [Döneticileri için yeterli değildir.Dönderlik inşaları kod imzası, optimizasyon ve belirli dağıtım biçimleri gerektirir.

Android: The Signed AAB

Google Play şimdi yeni uygulamalar için Android App (AAB) formatı gerektirir.

  • Android Studio veyaFLEND kullanarak bir üretim anahtarı:0)keytool[Dönemli: 1) komut.
  • Anahtar deposu dosyasını sizin için yerleştirin:0) veroid/app).
  • Bir CFONT:0)key.properties[Dönergeler[Dönergeler)[Döncüler[Döncükler: 0,1) Dosya anahtar sunucu yolunuzu, şifreyi, anahtar alias'ı ve anahtar şifreyi ifade eder.
  • Sizin için uygun olarak, (veya) ve (veya) veya (veya) veya (veya)) bir şekilde, (geçmiş) olarak, (geçmiş) (geçmiş) olarak, (geçmiş))
  • RunFLT:0)cd android && . /gradlew paketRelease[[Dönetici: 1 ) AAB dosyasını oluşturmak için.
  • [FONT:0)Not:[[Dönetici: 1) Asla anahtar mağaza dosyasını kaybetmez. olmadan, uygulamanıza güncelleştirme yapamazsınız.

iOS: Archive and Export

iOS dağıtım aktif Apple Developer Programı üyeliği gerektirir.

  • Apple Developer Portal'da bir dağıtım sertifikası oluşturun ve profil oluşturma.
  • Xcode'da, uygulamanız için hedef seçin ve Üye Olunur; Cap yükümlülükleri. Üretim dağıtım profilini kullanmanızı sağlayın.
  • Yapı düzeni “Release” olarak ayarlayın.
  • Ürün vegt'a gidin; Arşiv inşa edildiğinde, Organize pencere açık olacaktır. "strit App" ve "App Store Connect" seçeneğini seçin.

EAS Build (Expo)

Expo kullanıyorsanız, EAS Build, üretim inşaları oluşturmak için önerilen yoldur. İmzalamak, anahtar katlı nesil ve bulut derlemesi ile ilgilidir.

  • YÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜN
  • RunFLT:0) Tüm - profilli üretim).
  • EAS, Android anahtar mağazanızı ve iOS sertifikalarınızı otomatik olarak yönetecektir, onları Expo'nun sunucularında güvenli bir şekilde depolamak.
  • Bu yaklaşım, mağazalara yükleme için EAS Send ile sorunsuz bir şekilde entegre edilir.

[FONT:0)Reference:[Dönem: · 1|0][Dönemli:[Dönemli)

Pre-Submission Quality Güvence

TestFlight (iOS) veya İç App Paylaşımı (Android) için yapılan sürümünüzü indirmek, “Rekadet için uyarı yapmadan önce zorunlu bir adım olmalıdır.

TestFlight (iOS)

Arşivlerinizi App Store Connect'e yüklemeden sonra, TestFlight'i etkinleştirebilirsiniz.Partnerlerinizi 100 üyeye kadar davet edebilirsiniz. Dış testçiler için, Beta App Store incelemesi için benzer yönergeleri sunmanız gerekir.Bunu erken App Store incelemesini yakalamak için kullanın.

İç App Paylaşımı (Android)

Google Play Console, AAB'yi yüklemenize ve testçilere dağıtmak için bir paylaşımlı bağlantı oluşturmanıza izin verir. Bu, tam bir beta takipini yönetmekten daha hızlıdır ve nihai geçerlilik için mükemmel.

QA Checklist for Build Validation

  • [FONT:0) Deep Links:[Dönetici: 0:1) Test Universal Links (iOS) ve App Links (Android) Kullanıcıların doğru şekilde doğru içeriğe doğru rotalarını kullanarak, özellikle de Directus kullanıyorsanız, dinamik derin bağlantı noktalarını yönetmek için.
  • [FONT:0]Offline Support:[Dönetici:[Dönetici:0) Uygulamanız ağ bağlantılarının kaybıyla mı başa çıkıyor?[Döneticileri değiştirmiş durumdaysanız, cevapları yerel olarak kullanarak sık sık sık ele alalım:)))
  • [FONT=0)Push Bildirims:[Döneticileri:[Dönder:0)Push Bildirimleri:[Dönder:[Dönder: 1 ) Bildirimleri itme işlemi, belirli bir Doğrudanus içeriğine erişmek için bir bildirimde bulunun.
  • [FONT:0)Analytics ve Crash Reporting:) Yangınbase veya Sentry üretim konfigürasyonu ile ilk olarak yapılır. Kaza raporunun izleme panonda görünmesini sağlamak için kasıtlı bir test kazasında olun.

Altmission ve Review Process

Bu son sınırdır. App Store Review Kılavuzları çok katıdır, Google Play otomatik çeklere dayanıyor olsa da insan yorumları politika uyum için daha yaygın hale gelir.

Metadata Optimizasyon

  • [[Dönetici:0)App Store:[Döneticileri dikkatlice seçin. Kullanıcılar uygulamanızı doğrudan arama dışında keşfederler.
  • [FONT:0) Google Play:[[Dönetici:0) zorlayıcı, anahtar kelime-zengin bir açıklama yazın. ilk birkaç satır arama sıralaması için en önemli olanıdır.
  • [FONT:0]Screenshots:[Dönder:[Dönder:0) Ekran görüntülerinizin uygulamanızın en son versiyonunu yansıtabilmesini sağlar.If you update the UI post-alpha, take new screens. Outdated visuals are a common reason for reddedilme.

Uyum ve Yasal

  • [[Arapça:0)Account Deletion:[DFLT:1] Her iki mağaza da doğrudan uygulama içinde hesap oluşturmalarına izin verir.If you are using Directus user management, enable your app has a düğmesi that triggers /users/me). Kullanıcılar doğrudan e-posta yoluyla verilerini e-posta yoluyla silmeye ihtiyaç duymadan ödeme yapabilirler.
  • [FONT:0]Privacy Policy:[Dönetici:[Dönetici:0)[Dönetici politikasına bir URL sağlamanız gerekir. Bu hem iOS hem de Android için geçerlidir. herhangi bir kişisel veri toplarsanız (isimler, e-posta adresleri, veri analizi aracılığıyla), politikanız bunu yansıtmalıdır.
  • [FONT:0) Transparency (iOS):) Uygulamanız Firebase Analytics, Mixpanel veya benzer SDK'ları kullanıyorsa, kullanıcı iznini ATT'den satın almanız gerekir.Bunu uygulamak için başarısız olur.

[FONT:0)Reference:[Dönem:[Dönem:2) Apple App Store Review Kılavuzları[Dönetici: 3)[[*)

Yeniden Taht Edilmesi

Bir reddedilme, sürecin ortak bir parçasıdır. Anahtar hızla ve profesyonelce yanıt vermektir.

  • Reddet sebebi dikkatlice okuyun. Bir metadata meselesi (paratlı bir metin ekran görüntüsünde kaldı)? - A broken link (your Directus example was down during review)?
  • Uygulamanız bir giriş gerektirirse, inceleme için bir demo hesabı sağladığınızdan emin olun. net talimatlar ekleyin: “Test@ör.com / password123. Bu hesap, Directus geriend'e sadece erişim sağlamaktadır.
  • Uygulamanızın kılavuzlara uygun olduğuna doğrudan reddedilmeye karar verin. Bir sorunu düzeltmeniz gerekiyorsa, yeni bir inşa yükleyin ve yeni bir inceleme isteği gönderin.

Post-Launch Operasyonları

Tebrikler, yaşıyorsunuz. Dağıtım süreci “Satış için Okumayı Durdurmuyor” Uzun vadeli başarı izleme ve iterasyona bağlıdır.

Monitor Prodüksiyon Sağlık

  • Sentry veya Firebase Crashlytics'te performans uyarıları oluşturun. Belirli cihazlar veya OS versiyonları ile ilişkili olan kazalar için izleyin.
  • Directus sunucu yükünüzü izleyin. API sorgularınız optimize edildi mi? Directus'un yerleşik yerleşik-inurFLT:0)fields[DÜT:1) ve [[Dönetici:2)filter[DDÜDÜye Olmayan parametreler ödeme yükünü azaltmak ve gereksiz verileri almaktan kaçın.
  • Directus örneğinizin geç saatlerinde bir göz tutun. Kullanıcılara küresel olarak hizmet ediyorsanız, doğrudanus'u kullanıcı tabanınıza daha yakın bir bölgede dağıtmayı veya mallarınızın önünde bir CDN kullanmayı düşünün.

İçerik Güncellemeleri App Updates olmadan

Bu, Directus gibi bir kafasız CMS ile çiftleştirici bir Yerlinin anahtar avantajıdır. İçeriği, düzeni veya hatta Directus'ta saklanan bayrakları değiştirebilirsiniz, bir yayın düğmesine basın ve kullanıcılarınız değişiklikleri hemen görürler - uygulama mağazasından yeni bir ikili indirmeye gerek kalmadan.

  • Güncelleme promosyon panjurları, fiyatlandırma tiers veya Directus koleksiyonlarınızda düzenleme girişleri ile statik metin.
  • Bir içerik güncellemesini yayınlarken Directus Flows (webhooks) kullanarak uç-Air (OTA) güncelleştirmeleri veya KodPush kullanın.
  • Bu iş akışı yavaş uygulama mağazası inceleme sürecinden tasarıma bağlanır. Dakikalarda piyasa değişikliklerine cevap verebilirsin, günler değil.

Veriye Dayalı

Directus'u uzaktan yapılandırma aracı olarak geri alın. Kullanıcı segmentlerine veya A/B test gruplarına dayanan özellikleri kontrol etmek.Bir sonraki sürüminizle ilgili bilgi edinmek için bunu analiz verileriyle birleştirin.Her uygulama mağazası güncellemeniz, kullanıcıya gerçek değer katılmalıdır.

Full Mobile Lifecycle'ı Mastering the Full Mobile Lifecycle

Bir Reaksiyon Yerli uygulaması sadece yazı kodu hakkında değil - sürekli bir test döngüsü yönetmek, bina, inceleme ve izleme. yapılandırılmış bir kontrol listesi, hiçbir adımın göz ardı edilmediğini garanti eder.

Reaksiyon Yerli ön uçunuzu Directus gibi esnek, kafasız bir arka uç ile eşleştirerek, uygulamanızın içerik ve mantığını uygulama mağaza onayı sürecine bağımsız olarak güncelleme yeteneğinizi kazanır.Bu, kullanıcıların bir üretim başvurusu yapmasını ve kaliteli hale getirmesini sağlar.Bu kontrol listesini takip edin, platform yönergelerine saygı gösterin ve başarılı bir başlangıç ve sürdürülebilir bir stratejinize uygun şekilde iyi olacaksınız.