[Huawei] Huawei Mobile Services คืออะไร เมื่อไม่มี Google Mobile Services แล้วจะอยู่ยังไง?
เมื่อ Huawei Mate 30 และ Mate 30 Pro ไม่มี Google Mobile Services(GMS) แล้ว นักพัฒนาส่วนใหญ่อาจจะสงสัยกันว่า เมื่อ Android device ไม่มี GMS แล้ว ยังคงสามารถพัฒนา Application ได้เหมือนเดิมหรือไม่
Google Mobile Services ก็คือเหล่า Application จาก Google ที่มีอยู่ใน Android device และคือช่องทางที่ Application Android ของเราจะใช้งาน API จาก Google นั่นเอง ไม่ว่าจะเป็น Google Search(App), Youtube, Google Chrome(App) หรือ API ต่างๆเช่น Google Analytics, Firebase และ API อื่นๆที่เป็นของ Google อ่ะแหละ
แต่เมื่อ Huawei device ตั้งแต่ Mate 30 และ Mate 30 Pro เป็นต้นมา ไม่มี GMS มาพร้อมกับตัวเครื่องแล้ว (เรื่องราวข้างหลังมันเย๊อะเยอะะ ลองไปหาข่าวดูกันได้นะะ) เจ้า Huawei device จะใช้บริการ Services เหล่านี้ยังไงหล่ะ เนื่องจากแอปสมัยนี้ ต่างก็ต้องใช้เช่นกัน เรียกว่าแทบจะเป็นส่วนหนึ่งของแอปเลยก็ว่าได้
คำตอบก็คือได้!!***พร้อมดอกจันนิดหน่อย*** มาดูกันว่ายังไง
เนื่องจากวันนี้มีโอกาสได้ไปงาน Huawei Developer Day ที่จัดโดย Huawei Thailand นั่นเอง จึงนำเนื้อหาต่างๆมาสรุปคร่าวๆให้ฟังกัน
Huawei Mobile Services
Huawei Mobile Services หรือ HMS ก็คือหนึ่งใน SDK ที่จะมาช่วยให้นักพัฒนาเชื่อมต่อ Android Application เข้ากับ Services ทั้งหลายของ Huawei นั่นเอง โดยจะแบ่งออกเป็น 3 ส่วนคือ
- Development
- Profit
- Growth
Development
ในส่วนของ Development ก็คือฝั่งสำหรับนักพัฒนาโดยตรง ว่าเราจะนำ Huawei Services มาใช้ยังไงกับแอป Android ของเรานั่นเอง ได้แก่
- Account Kit
- Location Kit
- Map Kit
- Drive Kit
- Game Service
- Analytics Kit
Account Kit
Account Kit หรือ HUAWEI ID Service คือหนึ่งใน Service ที่จะช่วยให้เรา Login เข้าแอปได้เพียงแค่คลิกเดียว (1 ใน Authentication type แบบ FB, Google, Apple อะแหละ) โดยข้อดีของการใช้ Account Kit มีหลักๆ 3 อย่างคือ
Convenient
เนื่องจาก Account Kit รองรับมากถึง 190 ประเทศทั่วโลก และรองรับมากกว่า 70 ภาษา โดย ณ ปัจจุบัน Huawei มี Active users มากกว่า 500 ล้านคน 😱 ทำให้การใช้ Account Kit ก็เป็นการเข้าถึงกลุ่มผู้ใช้เหล่านั้นไปในตัวด้วย
Fast
เพราะ Account Kit นั้นรองรับ device หลากหลายชนิด ไม่ว่าจะเป็น Mobile, Tablet ไซส์ต่างๆ หรือแม้กระทั่ง Large screen devices (น่าจะเป็น TV ที่เป็น Harmony OS) และทำให้การ Authentication เป็นไปได้อย่างง่ายและรวดเร็ว ⚡️
Secure
และ Huawei เองก็ไม่ได้นิ่งนอนใจเรื่อง Security แต่อย่างใด โดย Account Kit นั้นเป็นไปตาม Standard protocol ทั้งหมด ไม่ว่าจะเป็นการใช้งานผ่าน ID Token และ Authorization Code (มี 2 แบบนั่นเอง) และในส่วนของ User privacy นั้นก็มีทั้ง 2FA และ สอดคล้องไปตาม GDPR (หรือ Standard อื่นๆตามกฎหมายของประเทศ/ภูมิภาคน้ันๆ)
โดยหลักๆแล้วการใช้งาน Account Kit เพื่อทำการ Authentication แล้วนำ HUAWEI ID มาใช้ สามารถมี Scenario หลักๆได้ 3 แบบก็คือ
- ID Token โดยจะเป็นการเรียกใช้งาน HUAWEI ID Login ผ่านเครื่องเรา แล้วทำการติดต่อกับ Huawei Cloud แล้วถ้าหากกว่า ผู้ใช้งานทำการ Authenticated เรียบร้อยแล้ว ก็จะได้ HUAWEI ID Token (เป็น Identity Information ที่ encoded เป็น base64 String) มาเพื่อนำไปใช้นั่นเอง จะไป Verify กับระบบหลังบ้านอีกทีก็ได้ (รองรับ OpenID Connect protocol)
- Authorization Code จะเป็นการเรียกใช้ HUAWEI ID Login โดยที่ Huawei Cloud จะส่ง Authorization Code กลับมาเพื่อให้เราส่งไปยัง Backend ของเรา จากนั้นให้ Backend ของเราใช้ Authorization Code เพื่อนำไปยิงขอ ID Token, Access Token (มีอายุ 60 นาทีในรอบแรก และ 6 เดือนในรอบต่อๆไป) และ Refresh Token จาก Huawei ID Server อีกทีนึง ซึ่งเป็นไปตาม Standard OAuth 2.0 นั่นเอง
เมื่อทำการเรียกใช้ HUAWEI ID login ก็จะมีหน้าต่างประมาณนี้ เหมือนการ login ของ 3rd party เจ้าอื่นๆ
ถ้าหากสนใจ สามารถเข้าไปอ่าน Docs และลองทำ Codelabs ได้ (ใช่ครับ Huawei มี Codelabs, ใช้ claat ทำ Format เดียวกับ Google เลย)
Location Kit
Location Kit คือหนึ่งใน Service ที่จะใช้เพื่อหา User locations ที่แม่นยำและรวดเร็ว โดย Huawei เคลมว่า โอกาสที่จะหา Location ได้ คือ 99% นั่นเอง และ CEP หรือ Circular error probable ในระดับ 68% สามารถระบุละเอียดได้ถึง 24 เมตร (เป็นมาตรฐานของระบบ positioning ทางการทหารอะแหละ นิยมใช้วัดระบบ GPS โดยเป็นไปตามกฎ 68–95–99.7 ด้วย)
โดยที่ Location Kit นั้นสามารถใช้งานได้ผ่าน SDK โดยไม่ต้องลงทะเบียน Huawei Services ด้วย (ไม่ต้องเปิดใน Developer console ของ Huawei) และที่สำคัญ ฟรี!! และยังเป็น Service ที่แยกออกมาจาก Map ด้วย ทำให้ Flexible ขึ้นไปอีก
โดยการหา GPS ของ Location Kit จะใช้การ Aggregate ข้อมูลหลายๆอย่างทั้ง Cell site (เสาโทรศัพท์), GPS และ Wi-Fi เพื่อให้แม่นยำนั่นเอง
โดยการใช้งานคร่าวๆก็คือ เพิ่ม HMS SDK เข้าไปในแอปของเรา ขอ Permission Location ตามปกติของแอป Android และเรียกใช้งานเพื่อดึง Location ของเรา
แต่ยังไม่พอแค่นั้น!! โดยทาง Huawei ได้บอกว่าจะมี API เพิ่มเติมเช่น Reverse Geocoding และ Activity Recognition ให้ใช้งานภายใน Q4 2019 ด้วย (แอบเห็น Geofencing ใน Docs ด้วยนะ)
ถ้าหากสนใจ สามารถเข้าไปอ่าน Docs และลองทำ Codelabs ได้
Map Kit
ใช่ครับ เนื่องจากไม่มี GMS ก็จะไม่มี Google Maps แต่ก็ไม่ได้เป็นปัญหาแต่อย่างใน เนื่องจาก Huawei ทำ Map SDK ขึ้นมาให้นักพัฒนาได้ใช้เช่นกัน โดยเจ้าแผนที่ที่ Huawei มีให้นั้นจะเป็น WGS84 Coordinate system (ใช่ครับเป็นแบบ Global! ไม่ใช่ GCJ-02 แบบที่ต้องคอยคำนวนย้อนกลับ หากใครเคยรองรับแอปในประเทศจีน มักจะเจอปัญหา Coordinate คลาดเคลื่อนเพราะคนละระบบกันเนี่ยแหละ)
โดย Map Kit นั้นรองรับมากกว่า 150 ประเทศทั่วโลก และรองรับมากกว่า 40 ภาษา (แต่ยังไม่รองรับ Mainland China นะ…)
และ Map Kit นั้นยังเป็น Map ที่มี personalized มาให้กับผู้ใช้งานแล้วด้วย โดยมีทั้ง POIs มากกว่า 100 ล้านจุด (Point-of-interests ต่างๆ) โดยสามารถใช้งานได้ใกล้เคียงกับ Google Map Services เลย (ทั้ง Feature และ วิธีโค้ด เหมือนมากกกก)
โดยตอนนี้ Map Kit จะรองรับแค่ Android เท่านั้น แต่มีแพลนที่จะรองรับ Huawei Fast App(เหมือน Instant App รวมกับ Mini program) และ Web ด้วยภายในปีนี้!
และถ้าหากใครกังวลเรื่องตัวแผนที่เองนั้น อย่าได้เป็นกังวลใจไป เนื่องจากเบื้องหลังของ Map Kit นั้นเป็น TomTom นั้นเอง (Provider Map ชื่อดังในวงการ Map)
และหน้าตาแผนที่ที่ได้ ก็จะประมาณนี้นั่นเอง
โดยถ้าหากใครสนใจ ก็สามารถเข้าไปดูได้ใน Docs และ Codelabs เช่นกัน
Drive Kit
อีกหนึ่ง Service ในการจัดการไฟล์ระหว่างแอปกับ HUAWEI Cloud drive นั่นเอง โดยจะไม่ขอพูดถึงในส่วนนี้ละกัน เนื่องจากไม่มีการพูดถึงในงาน และตอนนี้รองรับแค่ใน Europe และ Russia เท่านั้น ลองอ่านรายละเอียดคร่าวๆได้จาก Docs ครับ (มี Codelabs เช่นกัน)
Game Service
โดยเจ้าตัวนี้ก็ไม่ได้ถูกพูดถึงในงานเช่นกัน แต่สรุปคร่าวๆจากที่เข้าใจก็คือ Service ที่เข้ามาช่วยจัดการระบบการเล่นเกมส์ของแอปเรา (ในกรณีที่ทำเกมส์มือถือ) ไม่ว่าจะเป็นการ login ด้วย HUAWEI ID หรือการเก็บ Achievement ต่างๆนั่นเอง คล้ายๆกับ Play Games Services นั่นเอง โดยถ้าสนใจ สามารถเข้าไปดูใน Docs ได้เช่นกัน
Analytics Kit
เจ้าตัวนี้ก็ไม่ได้ถูกพูดถึงในงานอีกเช่นกันน แต่เป็นอีกหนึ่งตัวที่น่าสนใจเช่นกัน ซึ่งพูดง่ายๆก็คือ Google Analytics นั่นเอง โดยมีเงื่อนไขนิดนึงคือ ถ้าเป็น Android Device ที่ไม่ใช่ Huawei นั้นจำเป็นที่จะต้องมี HMS APK ลงไว้เช่นกัน (บางยี่ห้ออาจจะปิด process Huawei เองอัตโนมัติ ทำให้อาจจะมีข้อมูลผิดพลาดได้เช่นกัน) และไม่รองรับ iOS นะจ๊ะ 🤣
โดยหลักๆก็คือเราสามารถใช้ HMS Analytics Kit ในการเก็บ User event แล้วอัพขึ้นไปที่ Analytics cloud เพื่อทำการวิเคราะห์การใช้งานของ User ในแอปของเรา และสามารถทำ analysis เพิ่มเติมได้ไม่ว่าจะเป็น funnel plot, retention หรือ conversion analysis นั่นเอง (เหมือนกับ Analytic platform ทั่วๆไป)
โดย Feature หลักๆจะเป็นการทำ analysis ที่บอกไปด้านบน การทำ Event analysis, Audience analysis, Real-time analysis หรือแม้แต่ Online debugging (เหมือน Google Analytics for Firebase เลยนะ) แถมยังทำ Custom dashboard ได้อีกด้วย
โดยถ้าหากสนใจก็สามารถเข้าไปอ่านเพิ่มเติมใน Docs ได้เช่นกัน และลองทำ Codelabs ได้ (มี Codelabs เยอะอยู่วว)
Growth
ในส่วนของ Growth ก็คือการที่เราจะใช้ Huawei Services มาทำให้แอปของเราเติบโต มีผู้ใช้มากขึ้นได้ยังไง ได้แก่
- Push Kit
Push Kit
ต้องบอกว่า นักพัฒนาส่วนใหญ่น่าจะรู้จัก Push Notification Service กันอยู่แล้ว ซึ่งปกติเราก็จะใช้ FCM (GCM) กัน หรือไม่ก็ใช้ 3rd party อย่าง OneSignal กัน ซึ่งทาง Huawei นั้นเองก็มี Service ของตัวเองเช่นกัน ชื่อว่า Huawei Push Service โดยจะใช้งานร่วมกับ Push Kit ใน HMS นั่นเอง
โดย Huawei เคลมว่า Arrival rate นั้นสูงถึง 99% เลยทีเดียว และสามารถรองรับข้อความได้ถึง 10m message/second
ซึ่งสามารถใช้งานได้ทั้งผ่าน AGC Console (AppGallery Connect) และผ่านการยิง Push Service จาก Server ของเราเอง
ซึ่งการยิง Push notification จะคล้ายๆกับการใช้งานใน FCM เลย คือสามารถยิงไปที่ระดับ User, Group, Topic และ Tag(segmented user เช่น กลุ่มผู้ใช้ที่สนใจในด้านอาหาร อะไรงี้) ได้ และยังสามารถตั้งเวลาส่งแบบ Scheduled ได้เช่นกัน
โดยชนิดของ Notification จะมีสองแบบตอนนี้ คือ
- Regular notification ที่มีแค่ Text และ Icon App
2. Customized notification ที่เป็น Big picture notification (Rich message) โดยสามารถทำ Voice broadcast เพื่อให้อ่านรายละเอียดของ notification ได้ด้วย
ซึ่งการใช้งานต่างๆ จะไม่แตกต่างจาก Push Notification Service ทั่วไปมากนัก ถ้าหากสนใจก็สามารถเข้าไปอ่าน Docs และลองเล่น Codelabs ได้เช่นกัน
Profit
ในส่วนของ Profit ก็คือการที่นักพัฒนาจะได้ผลประโยชน์จากการใช้ Huawei Services ได้ยังไง (ก็คือหาเงินยังไงนั่นแหละ) ได้แก่
- Ads Kit ที่เหมือนกับ AdMob
- In-App Purchases สำหรับการซื้อของในแอปผ่าน Payment ของ Huawei เอง
- HUAWEI Pay (coming soon)
- Wallet Kit (coming soon)
ในส่วนนี้นั้นไม่ได้มีการพูดถึงรายละเอียดในงานแต่อย่างใด แต่หลักๆก็จะเป็นการทำ Monetization เพื่อใส่ Ads จาก Huawei เอง และการทำ In-App Purchase ผ่าน Huawei AppGallery นั่นเอง
โดยสามารถเข้าไปอ่านรายละเอียดเพิ่มเติมได้ที่หน้าเว็บนะจ๊ะ
มี Codelabs อีกแล้ว!
และตัว Ads Kit ก็มี Codelabs เช่นกัน..
สรุป!
ตัว Huawei Mobile Services หรือ HMS นั้นก็เหมือนหนึ่งในเครื่องมือสำหรับนักพัฒนาที่จะทำแอปให้รองรับใน Ecosystem ที่ไม่มี Google นั่นแหละ ซึ่งอย่าลืมว่า ที่ผ่านมาเนิ่นนาน มี Device มากมายในประเทศที่ไม่รองรับ Google เช่นกัน อย่างเช่นประเทศจีน ซึ่งในจีนนั้นก็มี Services เหล่านี้มาก่อนแล้ว ดังนั้น การที่เราจะทำแอปให้รองรับตลาดในจีนนั้นมีทางเลือกมากมาย หนึ่งในนั้นก็คือการใช้งาน Services ผ่าน Huawei นั่นเอง (แถมได้ทั่วโลกด้วย)
แต่เนื่องด้วยตอนนี้ HMS นั้นอาจจะยังดูไม่สมบูรณ์มากนัก ก็ต้องใช้เวลากันต่อไป ซึ่งหลายๆ Feature ก็จะเพิ่มมาเรื่อยๆ สามารถติดตามได้ผ่านทางหน้าเว็บ Developer เช่นกัน
ก็ต้องคอยดูกันต่อไปเนอะ ว่าแนวโน้มทิศทางจะเป็นอย่างไร ซึ่งถ้าหากใครที่ทำแอปอยู่แล้วมีแพลนที่จะขยายไปในตลาดประเทศจีน ก็อยากให้ลองไปตัดสินใจกันดู ว่าเจ้า HMS นั้นจะคุ้มค่าที่จะใช้งานมั้ย
แต่ที่สำคัญคือ HMS ไม่ได้ใช้ได้แค่ในประเทศจีนเท่านั้น แต่สามารถใช้ Global ได้ด้วย!
จริงๆในงานยังมีเกี่ยวกับ HiAI และ AppGallery ด้วย ไว้เดี๋ยวจะแยกเป็นอีกบทความมาเล่าให้ฟัง!!!
สำหรับบทความนี้ก็จะมีเพียงเท่านี้ครับ ถ้าหากมีเนื้อหาหรือข่าวอะไรเพิ่ม จะพยายามกลับมาอัพเดตไว้ให้ (ถ้าไม่ลืม!) โดยเนื้อหาอาจจะมีขาดตกบกพร่องไปบ้าง ต้องขออภัยมา ณ ที่นี้ด้วยครับผม สำหรับวันนี้ สวัสดีครับ 🙏