AXV

Android ekotizimi va Google xizmatlari (2-qism)

Xavfsiz integratsiya: SHA-1, google-services.json va zamonaviy AAB formati

9-sinf Android dasturlash 2-hafta ยท 5-dars

Bugungi dars maqsadlari

SHA-1 barmoq izi

Terminal orqali Keystore xeshini olish va Firebase'ga ulash.

google-services.json

Loyiha konfiguratsiyasi va app/ jildiga to'g'ri joylashtirish.

APK vs AAB

Google Play uchun ixcham va dinamik App Bundle standarti.

01

Ilova identifikatori

applicationId va Package Name qoidalari

applicationId nima?

Unikal global nom

Google Play do'konidagi har bir ilovaning yagona "pasport" raqamidir.

Teskari domen formatida belgilanadi: uz.edu.myapp.

Muhim qoida:

Ilova bir marta Google Play'da nashr etilgach, uning applicationId nomini o'zgartirib bo'lmaydi!

02

Raqamli barmoq izi: SHA-1

Google Cloud va Firebase bilan xavfsiz tasdiqlash

Nega SHA-1 kerak?

Shaxsni tasdiqlash

Google faqat sizning kompyuteringizda yaratilgan ilovadan kelgan API so'rovlarni qabul qiladi.

Begonalardan himoya

Begona shaxs sizning applicationId nomingizdan foydalana olmaydi.

SHA-1 olish buyrug'i

./gradlew signingReport

Terminal natijasi:

SHA1: 4B:12:8A:99:32:DE:01:54:...

Ushbu kodni nusxalab, Firebase Console sozlamalariga kiritamiz.

03

google-services.json

Loyihaning "tug'ilganlik guvohnomasi"

google-services.json vazifasi

Loyiha ID

Firebase loyihasining unikal identifikatori.

API kalitlar

Google serverlari bilan bog'lanish kalitlari.

Baza manzili

Firestore va Storage server URL manzillari.

Joylashuvi: Qat'iy qoida!

Fayl qayerga qo'yiladi?

Faylni Android Studio loyihasining app/ katalogi ichiga joylashtirish shart!

Loyiha ildiz papkasiga emas, balki aynan app/ ichiga!

Ko'p uchraydigan xato:

Agar fayl noto'g'ri joylashtirilsa, Gradle loyihani yig'ishda darhol xatolik chiqaradi.

04

API kalitlar xavfsizligi

local.properties orqali himoyalash

Xavfsizlikning oltin qoidasi

Hech qachon ochiq kodda kalit qoldirmang!

Agar API kalitni MainActivity yoki Manifestda qoldirsangiz va kodni GitHubga yuklasangiz, botlar uni daqiqalar ichida o'g'irlab oladi.

local.properties fayli

MAPS_KEY=AIzaSy...

Ushbu fayl .gitignore'da bo'lib, GitHubga chiqmaydi.

BuildConfig orqali uzatish

Gradle ushbu kalitni xavfsiz tarzda faqat kompilyatsiya paytida kodga uzatadi.

05

APK va AAB formatlari

Google Play do'konining zamonaviy standarti

APK va AAB taqqoslashi

Eski APK

Barcha telefonlar resurslarini bitta faylga jamlaydi.

Hajmi juda katta (masalan, 60 MB).

Foydalanuvchi keraksiz qismlarni ham yuklaydi.

VS

Zamonaviy AAB

Android App Bundle.

Hajmi 30-50% ga kichikroq (25 MB).

Google Play faqat shu telefonga kerakli qismlarni yuboradi.

Dynamic Delivery mexanizmi

1. Yuklash: Dasturchi Google Play'ga bitta umumiy AAB faylini yuklaydi.
2. Tahlil: Foydalanuvchi "Yuklab olish"ni bosganda, Play Store uning telefon modelini aniqlaydi.
3. Moslashtirish: Faqat kerakli protsessor kodi va kerakli ekran o'lchami rasmlari yetkaziladi.

Amaliy topshiriq 15 daqiqa

Oson O'zingiz yaratmoqchi bo'lgan mobil ilova uchun unikal applicationId yozing.
O'rta SHA-1 olish buyrug'ini va uning Firebase'dagi vazifasini tushuntiring.
Qiyin Nega AAB formati internet trafigi va telefon xotirasini tejashini asoslang.

Dars xulosasi

Bugun o'rgandik

SHA-1 ilovaning raqamli pasporti, google-services.json app/ papkasiga qo'yiladi. AAB formati ilovani 30-50% ga ixchamlashtiradi.

Keyingi dars

6-dars: Android Studio va Android SDK bilan tanishuv: interfeys, SDK Manager va SDK Build-Tools.