ณ ปลายทางสำหรับการพัฒนาแอปบนแอนดรอยด์ ก็คือการส่งแอป (App Publishing) ไปไว้ในที่ใดที่นึงเพื่อให้ผู้ใช้สามารถติดตั้งเพื่อใช้งานแอปของนักพัฒนาได้นั่นเอง
และจากการที่แอนดรอยด์เป็น Open Source OS จึงทำให้ระบบแอนดรอยด์ถูกออกแบบมาให้มีอิสระ ซึ่งร่วมไปถึงวิธีการติดตั้งแอปด้วยเช่นกัน และสำหรับนักพัฒนาแอปนั้นก็ควรเลือกวิธีการปล่อยแอป (App Distribution) ให้ผู้ใช้ด้วยวิธีที่เหมาะสมด้วย
จึงเป็นที่มาของบทความนี้ที่จะแนะนำ App Distribution ในรูปแบบต่าง ๆ เพื่อให้ผู้ที่หลงเข้ามาอ่านเลือกไปใช้ให้ตรงกับที่ต้องการ
Google Play
Google Play นั้นเป็นแหล่งดาวน์โหลดแอปบนแอนดรอยด์ (Android App Store) ที่ใหญ่ที่สุดของผู้ใช้แอนดรอยด์ทั่วโลก เนื่องจากเป็น Android App Store ที่มีติดมากับระบบแอนดรอยด์ตั้งแต่ยุคแรก ๆ จนถึงในปัจจุบันที่อุปกรณ์แอนดรอยด์ของหลาย ๆ แบรนด์ที่วางขายก็จะมี Google Play ติดตั้งมาให้ด้วย

จึงทำให้ Google Play เป็นช่องทางหลักของ App Distribution สำหรับนักพัฒนาแอปบนแอนดรอยด์ โดยจะต้องทำผ่าน Google Play Console ที่เป็นเว็ปสำหรับนักพัฒนาที่ต้องการนำแอปขึ้น Google Play นั่นเอง และจะต้องจ่ายเงิน $25 สำหรับการสมัครบัญชีนักพัฒนาด้วยบัตรเครดิตหรือบัตรเดบิต
และบน Google Play Console ก็จะมี Distribution Tracks เพื่อให้นักพัฒนาเลือกใช้งานได้ตามต้องการ โดยจะแบ่งเป็น
- Production Track
- Open Testing Track
- Closed Testing Track
- Internal Testing Track
ในแต่ละ Track ก็จะมี User Visibility ที่ไม่เท่ากัน เพื่อให้นักพัฒนาเลือกกลุ่มผู้ใช้งานที่จะสามารถดาวน์โหลดแอปได้ โดยการเปิดใช้งานเฉพาะบางประเทศหรืออุปกรณ์แอนดรอยด์ที่รองรับการใช้งานแอปจะไม่รวมอยู่ใน Distribution Track
เจ้าของบล็อกเคยพูดถึงเรื่องนี้ไปแล้วในบทความเกี่ยวกับ Google Play Console สามารถเข้าไปอ่านรายละเอียดเต็ม ๆ ได้ที่ Google Play Console สมัยนี้มีอะไรเจ๋งๆสำหรับนักพัฒนาบ้าง

Production Track
สำหรับแอปที่ต้องการเปิดให้ผู้ใช้ทุกคนสามารถเข้ามาดาวน์โหลดได้ เหมาะกับแอปทั่วๆไปที่พร้อมเปิดให้ใช้งานแล้ว
Open Testing Track
สำหรับแอปที่ต้องการเปิดให้ผู้ใช้สามารถดาวน์โหลดแอปในเวอร์ชันทดสอบก่อนที่จะปล่อยให้ใช้งานจริงได้ เหมาะกับแอปที่มีเวอร์ชันสำหรับทดสอบและต้องการให้ผู้ใช้งานทั่วไปสามารถดาวน์โหลดไปลองใช้งานได้
โดยผู้ใช้จะต้องกดเข้าร่วม Beta ที่หน้าดาวน์โหลดแอปของนักพัฒนาก่อนถึงจะดาวน์โหลดเวอร์ชันดังกล่าวได้ และสามารถยกเลิกได้ที่หน้าดาวน์โหลดแอปเช่นกัน
Closed Testing Track
สำหรับแอปที่ต้องการเปิดให้ผู้ใช้ดาวน์โหลดได้แค่บางคนเท่านั้นและไม่ต้องการให้คนอื่นเข้ามาดาวน์โหลดได้ เหมาะกับแอปที่มีเวอร์ชันสำหรับทดสอบภายในหรือแอปที่ต้องการเปิดให้ใช้งานเฉพาะผู้ใช้ที่ได้รับอนุญาตเท่านั้น
โดยจะต้องเพิ่ม Gmail ของผู้ใช้เข้าไปใน Google Play Console เพื่อให้ระบบส่ง Invitation Link ให้กับผู้ใช้เพื่อยืนยันการเข้าร่วมใช้งานเสียก่อน ผู้ใช้ถึงจะดาวน์โหลดในเวอร์ชันนี้ได้
Internal Testing Track
สำหรับการทดสอบภายในทีมพัฒนาแอป เหมาะกับแอปที่ต้องการทดสอบฟีเจอร์บางอย่างที่ต้องใช้ความสามารถของ Google Play ซึ่งจะช่วยให้นักพัฒนาสามารถทดสอบได้โดยไม่ต้องกังวลว่าแอปเวอร์ชันดังกล่าวจะถูกปล่อยให้ผู้ใช้ดาวน์โหลดก่อนเวลา
โดยจะต้องเพิ่ม Gmail ของผู้ใช้เข้าไปใน Google Play Console แบบเดียวกับ Closed Testing Track เพื่อให้ผู้ใช้ยืนยันการเข้าร่วมใช้งานก่อน
3rd-Party Android App Store
นอกเหนือจาก Google Play แล้ว ในปัจจุบันก็ได้มี Android App Store ทางเลือกอีกมากมายที่ผู้ใช้สามารถเลือกใช้งานแทนหรือควบคู่ไปกับ Google Play ได้ เช่น Galaxy Store (ของ Samsung), App Gallery (ของ Huawei), Amazon Appstore (ของ Amazon) เป็นต้น

สำหรับนักพัฒนาแล้วการทำให้แอปของตัวเองอยู่ในช่องทางที่ผู้ใช้สามารถเข้าถึงได้มากที่สุดก็เป็นเรื่องที่ควรทำ
โดย Android App Store แต่ละเจ้าก็จะมีหน้า Console เป็นของตัวเองเหมือนกับ Google Play Console แต่ Distribution Tools ที่มีให้ใช้งานนั้นก็อาจจะแตกต่างกันไปบ้างพอสมควร บางเจ้าก็มีให้เหมือนกับของ Google Play หรือบางเจ้าก็ไม่มีให้ใช้งาน
Firebase App Distribution
สำหรับกรณีที่นักพัฒนาต้องการช่องทางอื่นสำหรับ App Distribution ที่ไม่ใช่ Android App Store ด้วยเหตุผลอื่น ๆ เช่น ต้องการทดสอบในระหว่างการพัฒนาแอปเท่านั้น เพราะการจะทำขึ้น Android App Store ก็มักจะเป็นเวอร์ชันที่พร้อมใช้งานแล้ว

ด้วยเหตุนี้จึงทำให้ Firebase ได้มีบริการที่ชื่อว่า Firebase App Distribution เพื่อให้นักพัฒนาสามารถส่งแอปขึ้นไปได้ และสำหรับผู้ที่จะดาวน์โหลดแอปได้นั้นก็จะต้องได้รับ Invitation Link ผ่านการเพิ่ม Gmail เข้าไปใน Firebase Console เสียก่อน
และจะต้องดาวน์โหลดแอปที่ชื่อว่า App Tester มาติดตั้งไว้ในเครื่องด้วย เพื่อดาวน์โหลดแอปในแต่ละเวอร์ชันที่อยู่บน Firebase App Distribution มาติดตั้งลงในเครื่อง

APK Sideload
การติดตั้งแอปจากไฟล์ APK โดยตรงด้วย APK Installer ภายในเครื่องหรือ ADB เป็นวิธีที่ติดมากับระบบแอนดรอยด์ตั้งแต่แรกเริ่มก็ว่าได้ เหมาะกับบางสถานการณ์ที่ไม่สามารถดาวน์โหลดแอปจาก Google Play หรือ Firebase App Distribution มาติดตั้งลงในเครื่องได้

โดยการทำ APK Sideload นั้นทำได้ทั้งย้ายไฟล์ APK ไปไว้ในอุปกรณ์แอนดรอยด์แล้วกดติดตั้งจากในเครื่องโดยตรง หรือถ้าไฟล์ APK อยู่บนเครื่องคอมพิวเตอร์และไม่อยากเสียเวลาย้ายไฟล์ลงอุปกรณ์แอนดรอยด์ ก็สามารถใช้คำสั่ง ADB จากเครื่องคอมพิวเตอร์เพื่อสั่งให้ติดตั้งแอปได้เลยเช่นกัน
adb install <apk_path>
สรุป
เมื่อพูดถึงเรื่อง App Distribution บนแอนดรอยด์ นักพัฒนาส่วนใหญ่ก็จะนึกถึงการส่งแอปขึ้น Android App Store อย่าง Google Play แต่ในบางครั้งก็อาจจะต้องการส่งแอปให้กับผู้ใช้ด้วยเงื่อนไขที่แตกต่างออกไป ดังนั้นการรู้วิธีต่าง ๆ ที่สามารถทำได้ก็จะช่วยให้นักพัฒนาสามารถตัดสินใจและเลือกใช้แต่ละวิธีให้ตรงกับจุดประสงค์ได้อย่างเหมาะสมนั่นเอง