နားလည်ထားရမယ့် အချက်
Google Play နဲ့ Apple App Store ဟာ လုပ်ငန်းစဉ် မတူညီပေမယ့် ပုံစံအနေနဲ့ တစ်ခုကို လေ့လာထားရင် တခြားတစ်ခုရဲ့ အများစုကို သင်ယူပြီးသားပါပဲ။ နှစ်ခုစလုံး platform ကိုယ်ပိုင် console ကနေ upload လုပ်တဲ့ signed build တစ်ခုကနေ စတင်ပါတယ်။
- App name နှင့် description
- Icon နှင့် screenshot
- Category
- data ဘာတွေကောက်ယူပြီး ဘာကြောင့်လဲ ဖော်ပြတဲ့ Privacy information
- Support contact
- Release notes
platform နှစ်ခုစလုံးက public release မလုပ်ခင် staged testing ကို ကမ်းလှမ်းပေမယ့် terminology ကွာဟပါတယ်။ Google Play က tester တွေကို internal, closed, open testing track တွေအဖြစ် စီစဉ်ပြီး Apple ရဲ့ equivalent ကတော့ invited tester တွေဆီ pre-release build ဖြန့်ဝေတဲ့ TestFlight ပါ။
| ကဏ္ဍ | မျှော်လင့်ရမည့်အရာ |
|---|---|
| Build format | Google Play က AAB ကို လိုချင်ပြီး App Store ကတော့ platform tooling ကနေတဆင့် upload လုပ်တဲ့ signed build archive ကို လိုချင်ပါတယ်။ |
| Testing tracks | Google Play မှာ internal, closed, open testing track တွေ ရှိပြီး Apple ဘက်မှာတော့ TestFlight က invited tester များအတွက် အလားတူပါ။ |
| Review process | နှစ်ခုစလုံး technical correctness, policy compliance, privacy accuracy, quality တို့ကို review လုပ်ပြီး approval ဟာ automatic မဟုတ်ပါဘူး။ |
| Staged rollout | platform နှစ်ခုစလုံးက version အသစ်ကို user ရာခိုင်နှုန်းအနည်းငယ်ဆီ ဦးစွာ release လုပ်ပြီးမှ full release လုပ်နိုင်ပါတယ်။ |
store တစ်ခုခုမှာ approval ဟာ automatic မဟုတ်သလို သတ်မှတ်ထားတဲ့ timeline အတိအကျမှာ အာမခံချက် မရှိပါဘူး၊ platform နှစ်ခုစလုံးက guideline တွေကို ပုံမှန်ပြင်ဆင်ကြပါတယ်။ platform တစ်ခုမှ ရိုးရှင်းစွာ 'ပိုကောင်း' တယ်လို့ မရှိပါဘူး - ဒါက distribution problem တစ်ခုတည်းကို ဖြေရှင်းနေတဲ့ လုပ်ငန်းစဉ်နှစ်ခုပါပဲ။
TWO STORE RELEASE FLOWS
-----------------------
TWO STORE RELEASE FLOWS
-------------------------
GOOGLE PLAY
Build -> Sign -> Upload AAB -> Automated Checks
-> Testing Track -> Review -> Staged Rollout
APP STORE
Build -> Sign -> Upload -> App Info -> TestFlight
-> Review -> Releaseလက်တွေ့ scenario နဲ့ ချိတ်ကြည့်မယ်
console နှစ်ခုစလုံးကို မထိခင် store listing asset တွေကို build ပြီးမှ အလျင်စလို ထည့်တဲ့ item မဟုတ်ဘဲ ကိုယ်ပိုင် checklist item အဖြစ် စုစည်းပါ။
- app အမှန်တကယ်လုပ်ဆောင်ချက်နဲ့ ကိုက်ညီတဲ့ description။
- store တစ်ခုချင်းလိုအပ်တဲ့ size အလိုက် icon။
- version သုံးလေးခုကျော်ခဲ့ပြီးသား ဟောင်းနေတာမဟုတ်ဘဲ လက်ရှိ screenshot။
- ရိုးသားတဲ့ privacy disclosure နှင့် အလုပ်လုပ်တဲ့ support contact။
target release date မတိုင်ခင် testing track တွေအတွက် calendar time အစစ် ခွဲထားပါ - deadline နီးလို့ production ကို တိုက်ရိုက်ရှောင်ကျော်တာက ရှောင်လို့ရတဲ့ one-star review ကို ဖြစ်စေတတ်ပါတယ်။
fee ဒါမှမဟုတ် review timeline ကို hardcode မလုပ်ပါနဲ့
review turnaround time ဒါမှမဟုတ် လက်ရှိ fee အကြောင်း ယူဆချက်တွေကို planning document ထဲ hardcode မလုပ်ပါနဲ့ - နှစ်ခုစလုံး ပြောင်းလဲနေပြီး store နှစ်ခုစလုံးက ကိုယ်ပိုင် လက်ရှိ ကိန်းဂဏန်းတွေကို ထုတ်ပြန်ပါတယ်။
architecture က support လုပ်နိုင်ရင် risky တစ်ခုခုအတွက် platform နှစ်ခုစလုံးမှာ staged rollout ကို သုံးပါ - အမှားတစ်ခုက user အားလုံးမဟုတ်ဘဲ အစိတ်အပိုင်းတစ်ခုပဲ ထိရောက်ပြီး ရပ်တန့်နိုင်ဖို့ပါ။
အတူတူ စမ်းရေးကြည့်မယ်
function evaluateReleaseReadiness(app) {
const missing = [];
if (!app.hasSignedBuild) missing.push("signed build");
if (!app.hasStoreListingComplete) missing.push("complete store listing");
if (!app.hasPrivacyDisclosures) missing.push("privacy disclosures");
if (!app.hasCompletedTesting) missing.push("completed testing round");
return { ready: missing.length === 0, missing };
}
const notReady = {
hasSignedBuild: true,
hasStoreListingComplete: false,
hasPrivacyDisclosures: false,
hasCompletedTesting: true
};
const ready = {
hasSignedBuild: true,
hasStoreListingComplete: true,
hasPrivacyDisclosures: true,
hasCompletedTesting: true
};
console.log("Not ready app:", evaluateReleaseReadiness(notReady));
console.log("Ready app:", evaluateReleaseReadiness(ready));not-ready app က { ready: false, missing: [ 'complete store listing', 'privacy disclosures' ] } ကို ပြန်ပေးပြီး ready app ကတော့ { ready: true, missing: [] } ဖြစ်ပါတယ်။၅ မိနစ် စမ်းကြည့်
စိတ်ကူးထားတဲ့ app change တစ်ခု (ဥပမာ payment flow အသစ်) ရွေးပါ။ Google Play နဲ့ App Store listing update က ဘာတွေလိုမလဲ draft ရေးပြီး evaluateReleaseReadiness-စတိုင် function ကို အလျင်စလိုပြင်ဆင်ထားတဲ့ version နဲ့ စနစ်တကျပြင်ဆင်ထားတဲ့ version နှစ်ခုလုံးအတွက် run ကြည့်ပါ။
သတိလေးတစ်ချက်
store တစ်ခုရဲ့ review process ကို automatic ဒါမှမဟုတ် သတ်မှတ်ထားတဲ့ အချိန်အတိုင်း အာမခံနိုင်တယ်လို့ ယူဆလိုက်တာ - နှစ်ခုလုံးမှာ ဒီလိုမဟုတ်ပါဘူး။
testing track တွေ ဖြတ်သန်းပြီးသားလို့ risky change တစ်ခုအတွက် staged rollout ကို ကျော်သွားတာ။
App store - Wikipedia — How Mobile Apps Work