Jinsi ya Kupakia Update Mpya ya PWA App Kwenye Google Play Console
Progressive Web App (PWA) inaweza kutumika kama website na pia kuchapishwa Google Play Store kupitia Trusted Web Activity (TWA). Faida kubwa ya mfumo huu ni kwamba mabadiliko mengi yanaweza kufanyika kwenye website bila kupakia Android App Bundle mpya.
Katika tutorial hii utajifunza tofauti kati ya update ya kawaida ya PWA na update inayohitaji faili jipya la .aab kwenye Google Play Console.
PWA na TWA Ni Nini?
PWA ni website iliyotengenezwa kufanya kazi kama application. Inaweza kuwa na:
- App icon
- Splash screen
- Full-screen display
- Offline support
- Push notifications
- Service Worker
- Web App Manifest
- Install button
Trusted Web Activity, au TWA, ni Android wrapper inayofungua PWA ndani ya application bila kuonyesha browser toolbar.
Kwa kawaida, app ya TWA huonyesha taarifa zinazotoka moja kwa moja kwenye website yako.
Je, Kila Mabadiliko Yanahitaji Update Google Play?
Hapana. Mabadiliko mengi ya PWA hayahitaji kupakia .aab mpya Google Play.
Kama umebadilisha vitu vinavyopatikana kwenye server yako, unahitaji kupakia mafaili mapya kwenye hosting pekee.
Mabadiliko hayo yanaweza kuwa:
- PHP
- HTML
- CSS
- JavaScript
- Database
- Dashboard
- Mfumo wa login
- Mfumo wa malipo
- Mfumo wa matokeo
- Picha na maandishi
- Navigation menus
- Forms
- Reports
- Muonekano wa website
Baada ya kupakia mabadiliko kwenye hosting, PWA/TWA itafungua version mpya kutoka kwenye website.
Kwa mabadiliko haya, huhitaji kutengeneza production release mpya Google Play Console.
Mabadiliko Yanayohitaji .aab Mpya
Unahitaji kutengeneza Android App Bundle mpya ikiwa umebadilisha upande wa Android wrapper, kwa mfano:
- App icon ya Android
- Splash screen ya Android
- Package configuration
- App permissions
- Target SDK
- Android theme
- App name ya Android
- Start URL
- Deep links
- Digital Asset Links
- Native Android functionality
- Notification configuration ya Android
- Play Billing
- Package name, ingawa kwa update package name haipaswi kubadilishwa
Pia unaweza kuhitaji .aab mpya Google Play inapotoa masharti mapya ya Target API Level au sera nyingine za Android.
Hatua ya Kwanza: Update Website ya PWA
Kama umebadilisha PHP, HTML, CSS, JavaScript au database, pakia mafaili mapya kwenye hosting.
Kwa mfano:
public_html/
├── index.php
├── login.php
├── dashboard.php
├── manifest.json
├── service-worker.js
├── css/
├── js/
└── images/Hakikisha website inafanya kazi vizuri kwenye browser kabla ya kuijaribu ndani ya app.
Fungua URL ya website kwenye simu:
https://example.comKagua mambo yafuatayo:
- Website inatumia HTTPS
- Hakuna blank page
- Hakuna PHP errors
- Login inafanya kazi
- Forms zinahifadhi taarifa
- Navigation menus zinafunguka
- Muonekano ni responsive
- Hakuna mixed-content warnings
Service Worker na Cache
Wakati mwingine unaweza kupakia mabadiliko mapya kwenye hosting lakini app ikaendelea kuonyesha version ya zamani.
Tatizo hili mara nyingi husababishwa na cache ya Service Worker.
Mfano wa Service Worker:
const CACHE_NAME = 'amson-schools-v2';
const FILES_TO_CACHE = [
'/',
'/index.php',
'/css/style.css',
'/js/app.js',
'/images/logo.png'
];
self.addEventListener('install', event => {
event.waitUntil(
caches.open(CACHE_NAME).then(cache => {
return cache.addAll(FILES_TO_CACHE);
})
);
self.skipWaiting();
});
self.addEventListener('activate', event => {
event.waitUntil(
caches.keys().then(cacheNames => {
return Promise.all(
cacheNames
.filter(name => name !== CACHE_NAME)
.map(name => caches.delete(name))
);
})
);
self.clients.claim();
});
self.addEventListener('fetch', event => {
event.respondWith(
fetch(event.request)
.then(response => {
const responseCopy = response.clone();
caches.open(CACHE_NAME).then(cache => {
cache.put(event.request, responseCopy);
});
return response;
})
.catch(() => caches.match(event.request))
);
});Kila unapofanya update kubwa, badilisha cache version.
Kutoka:
const CACHE_NAME = 'amson-schools-v1';Kwenda:
const CACHE_NAME = 'amson-schools-v2';Kwa update inayofuata:
const CACHE_NAME = 'amson-schools-v3';Hii husaidia Service Worker kuondoa cache ya zamani na kutumia mafaili mapya.
Kagua Manifest ya PWA
Faili la manifest.json au manifest.webmanifest linaweza kuwa na taarifa kama hizi:
{
"name": "Amson Schools Tanzania",
"short_name": "Amson Schools",
"start_url": "/",
"scope": "/",
"display": "standalone",
"background_color": "#ffffff",
"theme_color": "#0d6efd",
"orientation": "portrait",
"icons": [
{
"src": "/images/icon-192.png",
"sizes": "192x192",
"type": "image/png"
},
{
"src": "/images/icon-512.png",
"sizes": "512x512",
"type": "image/png"
}
]
}Hakikisha:
start_urlinafungukascopeni sahihi- Icons zinapatikana
- Website inatumia HTTPS
- Manifest halina JSON syntax error
Digital Asset Links
TWA hutumia Digital Asset Links kuthibitisha kuwa website na Android app vinamilikiwa na developer mmoja.
Faili linapaswa kupatikana kwenye:
https://example.com/.well-known/assetlinks.jsonMfano:
[
{
"relation": [
"delegate_permission/common.handle_all_urls"
],
"target": {
"namespace": "android_app",
"package_name": "com.amsonschools.twa",
"sha256_cert_fingerprints": [
"SHA256_FINGERPRINT_YAKO"
]
}
}
]Usibadilishe package_name kwa update ya app iliyopo.
SHA-256 fingerprint inapaswa kuendana na signing certificate inayotumiwa na Google Play.
Kama Digital Asset Links hazijathibitishwa, app inaweza kufungua website pamoja na browser toolbar badala ya full-screen TWA.
Kutengeneza Update Kupitia PWA Builder
Kama mabadiliko yako yanahitaji Android bundle mpya, fungua PWA Builder.
Weka URL ya PWA yako, kwa mfano:
https://example.comPWA Builder itakagua:
- Web App Manifest
- Service Worker
- HTTPS
- Icons
- Installability
- Offline support
- Android package configuration
Baada ya ukaguzi, chagua:
Package for Stores
→ AndroidWeka Version Mpya
Kabla ya kutengeneza package, ongeza version ya app.
Mfano wa version ya zamani:
Version name: 1.0.0
Version code: 1Update mpya inaweza kuwa:
Version name: 1.0.1
Version code: 2Update inayofuata:
Version name: 1.0.2
Version code: 3Version code lazima iwe kubwa kuliko version code yoyote iliyowahi kupakiwa Google Play.
Kubadilisha jina la faili pekee hakubadilishi version code.
Package Name Isibadilishwe
Kama package name ya app iliyopo ni:
com.amsonschools.twaIendelee kuwa:
com.amsonschools.twaUkibadilisha package name, Google Play itaiona kama application tofauti, si update ya app iliyopo.
Signing Key Isibadilishwe
Update lazima itumie signing configuration inayokubalika kwa app iliyopo.
Kama umetumia Google Play App Signing, Play Console huhifadhi app-signing key, lakini bundle unalopakia bado linahitaji kusainiwa kwa upload key sahihi.
Usipoteze:
- Keystore file
- Keystore password
- Key alias
- Key password
- Upload key
Usiweke mafaili au passwords hizi kwenye GitHub ya public.
Pakua Android Package
Baada ya kuweka configuration sahihi, tengeneza Android package.
PWA Builder inaweza kukupatia ZIP yenye mafaili kama:
app-release-bundle.aab
app-release-signed.apk
assetlinks.json
signing-key-info.txtKwa Google Play Console, tumia faili lenye mwisho wa:
.aabUsitumie APK kama Play Console inaomba Android App Bundle.
Kupakia Update Google Play Console
Ingia Google Play Console, kisha chagua app yako.
Nenda:
Test and release
→ ProductionBonyeza:
Create new releaseKwenye sehemu ya App bundles, bonyeza:
UploadChagua faili jipya la .aab.
Subiri Google Play ikamilishe kulichambua.
Andika Release Notes
Release notes zinapaswa kueleza maboresho yaliyofanywa.
Mfano:
Tumeboresha Amson Schools Tanzania App.
Mabadiliko mapya:
• Mfumo umeboreshwa kufanya kazi kwa kasi zaidi.
• Muonekano umeboreshwa kwenye simu mbalimbali.
• Changamoto ndogo za matumizi zimerekebishwa.
• Usalama na uthabiti wa mfumo umeongezwa.
• Kurasa za shule na taarifa zimeboreshwa.Usiweke passwords, API keys au taarifa za siri kwenye release notes.
Error: Release Does Not Add Any App Bundles
Ukiona:
This release does not add or remove any app bundlesInamaanisha release uliyoanzisha haina .aab mpya.
Suluhisho:
- Bonyeza Back.
- Rudi kwenye sehemu ya App bundles.
- Bonyeza Upload.
- Chagua
.aabjipya. - Subiri upload ikamilike.
- Endelea na review.
Error: Existing Users Cannot Upgrade
Ukiona:
You can't rollout this release because it doesn't allow
any existing users to upgrade to the newly added app bundlesKagua yafuatayo:
- Umeweka
.aabjipya? versionCodeni kubwa kuliko ya zamani?- Package name imebaki ileile?
- Signing key ni sahihi?
- Bundle linaunga mkono devices za watumiaji waliopo?
- Umebadilisha SDK au architecture kwa namna inayozuia devices za zamani?
Kwa PWA/TWA, sababu ya kawaida ni kutopakia bundle jipya au kutumia version code iliyotumika zamani.
Kukamilisha Production Release
Baada ya kuondoa errors, bonyeza:
Next
→ Save
→ Review release
→ Start rollout to productionGoogle Play inaweza kupeleka update kwenye review kabla ya kuichapisha.
Jinsi ya Kufuatilia Update
Nenda:
Publishing overviewAu:
Test and release
→ ProductionUnaweza kuona status kama:
- In review
- Changes in review
- Ready to publish
- Available on Google Play
- Rejected
Kama Managed Publishing imewashwa, unaweza kuhitajika kubonyeza kitufe cha kuchapisha baada ya review kukamilika.
Je, Watumiaji Wataona Mabadiliko Lini?
Kwa mabadiliko ya website:
- Watumiaji wanaweza kuona mabadiliko mara moja.
- Wengine wanaweza kuyaona baada ya Service Worker kusasisha cache.
- Kufunga na kufungua app tena kunaweza kusaidia.
- Wakati mwingine clearing cache inaweza kuhitajika.
Kwa update ya .aab:
- Google lazima ikague release.
- Baada ya kuchapishwa, update husambazwa kupitia Google Play.
- Watumiaji wenye automatic updates wanaweza kuipata moja kwa moja.
- Wengine watahitaji kubonyeza Update kwenye Play Store.
Checklist Kabla ya Update
Kabla ya kupakia update, hakikisha:
- Website inatumia HTTPS.
- PWA linafunguka kwenye browser.
- Manifest ni sahihi.
- Service Worker inafanya kazi.
- Cache version imesasishwa.
- Icons zinapatikana.
assetlinks.jsoninafunguka.- Package name haijabadilishwa.
- Version code imeongezwa.
- Bundle limetengenezwa kwa release mode.
- Signing key ni sahihi.
- Login na forms zimejaribiwa.
- App imejaribiwa kwenye simu halisi.
- Release notes zimeandaliwa.
Hitimisho
Kutumia PWA kama Android app kunarahisisha kufanya updates. Mabadiliko ya PHP, HTML, CSS, JavaScript, database na content yanaweza kupelekwa moja kwa moja kwenye hosting bila kutengeneza release mpya Google Play.
Unahitaji .aab mpya pale tu unapobadilisha Android wrapper, permissions, app icon, target SDK, package configuration au sehemu nyingine za native Android.
Kwa hiyo, kabla ya kuanzisha production release mpya, jiulize:
Je, nimebadilisha website pekee, au nimebadilisha Android package?
Kama umebadilisha website pekee, update hosting. Kama umebadilisha Android package, tengeneza .aab mpya yenye version code kubwa kisha ipakie Google Play Console.
🚀 Unahitaji mfumo au website ya biashara?
Chagua huduma hapa chini kisha mteja bofya moja kwa moja kwenda kwenye ukurasa wa huduma au kuwasiliana nasi kwa WhatsApp.