ต้องยอมรับว่าการทำงานของแอปบางส่วนก็ต้องพึ่ง 3rd Party SDK อย่างเลี่ยงไม่ได้ เพื่อลดระยะเวลาในพัฒนาและลดภาระในการดูแลในส่วนที่ไม่จำเป็นให้น้อยลง

ทำให้ในปัจจุบันมี Commercial SDK มากมายที่มาพร้อมกับ Solution ที่ครบจบในตัว เพื่อให้นักพัฒนาสามารถใช้บริการ Solution เหล่านี้ได้ โดยจะต้องติดตั้ง SDK ไว้ในแอปตามที่กำหนดด้วย เช่น Firebase Crashlytics, Google Maps SDK, หรือ Facebook SDK เป็นต้น

ในขณะเดียวกัน การทำงานของ SDK บางตัวก็มีผลต่อ User Privary ด้วยเช่นกัน บวกกับล่าสุดที่ Google Play บังคับให้นักพัฒนาต้องกรอกข้อมูลเกี่ยวกับ Data Safety สำหรับแอปตัวเองด้วย

ถึงแม้แอปคุณจะไม่มีการทำงานที่เกี่ยวข้องกับ Data Safety เลย แต่อย่าลืมว่าในแอปของคุณอาจจะมีการเรียกใช้ SDK ที่เกี่ยวข้องกับ Data Safety อยู่ก็ได้นะ

และนั่นจึงทำให้ทาง Google เปิดตัวเครื่องมือที่เรียกว่า Google Play SDK Index

ต่อไปนี้จะขอเรียก 3rd Party SDK เหล่านี้ว่า Commercial SDK

Google Play SDK Index คือ?

เว็ปที่จะรวบรวมข้อมูลจาก Google Play ว่ามี Commercial SDK ตัวไหนบ้างที่เกี่ยวข้องกับการทำงานใน Category เหล่านี้

  • Advertising and monetization
  • Analytics
  • Data management
  • Location
  • Marketing and engagement
  • Payments
  • Social
  • User authentication
  • User support

โดย Google Play SDK Index จะแสดงข้อมูลของ Commercial SDK เหล่านี้เพื่อสร้างความโปร่งใสและความน่าเชื่อถือสำหรับนักพัฒนาที่จะนำไปใช้งาน

เพราะเราไม่รู้หรอกว่า SDK ที่เราใส่ไว้ในแอปจะทำอะไรนอกเหนือจากที่เราต้องการ และถ้ามันเกี่ยวข้องกับเรื่อง User Privacy เมื่อไร คนที่ได้รับผลกระทบโดยตรงก็คือแอปของเรานั่นเอง

มีข้อมูลอะไรให้ดูบ้าง

ถ้าลองกดดูแต่ละ Category จะเห็นว่าเบื้องต้นมีรายชื่อของแอปที่เกี่ยวข้องทั้งหมด พร้อมกับรายละเอียดว่า Provider เป็นใคร, ชื่อ Maven ID คืออะไร, และลงทะเบียนกับทาง Google Play แล้วหรือยัง

ถ้าเป็น SDK ของ Google หรือ Firebase จะขึ้นบอกเลยว่า "Owned by Google"

และเมื่อลองกดเข้าไปดู SDK ซักตัวก็จะเห็นข้อมูลเชิงลึกที่มีประโยชน์สำหรับนักพัฒนา

ไม่ว่าจะเป็น

  • SDK Detail - รายละเอียดเกี่ยวกับ Maven ของ SDK ตัวนั้น รวมไปถึงรายละเอียดสำหรับ Data Safety Section บน Google Play Console
  • Android Integration - รายละเอียดสำหรับตอนเอาไปใช้งานในโปรเจคแอนดรอยด์ (มีบอกด้วยว่า SDK ใส่ Proguard Rule ไว้ให้แล้วหรือไม่)
  • SDK Adoption - จำนวนแอปบน Google Play ที่ใช้ SDK ตัวนี้
  • Android Permission - SDK มีการขอ Permission อะไรบ้าง (อันนี้ดี)
  • SDK Retention - ระยะเวลาที่แอปบน Google Play นำ SDK ไปใช้งาน (อาจจะลบออกหลังจากที่ลองใช้งานไปซักพัก)
  • SDK Version - เวอร์ชันของ SDK ที่มีให้ใช้งานจนถึงเวอร์ชันล่าสุด

Data Safety Section Guidance

อย่างที่บอกไปก่อนหน้านี้ว่า Google Play บังคับให้นักพัฒนากรอกข้อมูลสำหรับ Data Safety แต่บ่อยครั้งนักพัฒนาก็โดน Reject เพราะไม่รู้ว่า SDK ที่ตัวเองใช้อยู่มีการทำงานที่เกี่ยวข้องกับ Data Safety อยู่ด้วย

จึงเป็นที่มาของ "Data Safety Section Guidance" ที่อยู่ใน "SDK Detail" สำหรับใส่ URL เพื่อใช้อธิบายให้นักพัฒนารู้ว่าการใช้งาน SDK ตัวนั้นจะต้องกรอกข้อมูลใน Data Safety บน Google Play Console อย่างไร ยกตัวอย่างเช่น SDK ของ CleverTap เป็นต้น

บอกเลยว่ามีประโยชน์สำหรับนักพัฒนาสุด ๆ

ProGuard Rules

หลังจากที่ Android Studio ได้ย้ายมาใช้ R8 อย่างถาวร ข้อดีอย่างหนึ่งคือ SDK หรือ Library สามารถใส่ ProGuard Rules ไว้ให้ตั้งแต่แรกเลยได้ ทำให้นักพัฒนาที่เอาไปใช้งานไม่ต้องมานั่งใส่ Proguard Rules สำหรับ SDK / Library เหล่านี้อีกต่อไป

โดยใน Google Play SDK Index ก็มีบอกรายละเอียดตรงนี้ไว้ใน "Android Integration" ให้ด้วย

SDK ที่ลงทะเบียนกับ Google Play SDK Console มีผลต่อนักพัฒนาอย่างเรายังไง

การที่ Commercial SDK เหล่านี้ลงทะเบียนกับทาง Google Play SDK Console เป็นการยืนยันข้อตกลงของ Google Play และจะไม่ละเมิดเงื่อนไขของ Google Play จึงทำให้นักพัฒนาสามารถนำ SDK เหล่านี้ไปใช้งานได้อย่างสบายใจมากขึ้น

เพราะการโดน Reject จาก App Review อาจจะไม่ได้มาจากโค้ดที่เราเขียนในแอป แต่อาจจะมาจาก SDK ที่เราใช้งานก็เป็นได้

แจ้งเตือนนักพัฒนาเมื่อ SDK เกิดปัญหาร้ายแรง

ในกรณีที่ SDK มีเวอร์ชันใดที่ทำงานผิดพลาดและเกิดปัญหาร้ายแรง (ถ้ายังจำเหตุการณ์ตอน Facebook SDK พังแบบถ้วนหน้าบน iOS กันได้) ทาง Google Play ก็จะแจ้งเตือนให้กับนักพัฒนาที่มีการใช้งาน SDK ตัวนั้นด้วย

โดยจะแจ้งให้นักพัฒนาทราบทั้งบน Google Play Console และ Android Studio

SDK ของคุณก็ควรจะอยู่บน Google Play SDK Index เหมือนกัน?

สำหรับนักพัฒนาแอนดรอยด์สาย SDK ที่เห็นว่า SDK ของตัวเองนั้นอยู่ใน Category ใด Category หนึ่งบน Google Play SDK Index ก็สามารถส่ง Request Form เพื่อให้ทาง Google Play เพิ่ม SDK ของคุณเข้าไปในรายชื่อได้เช่นกันนะ

สรุป

Google Play SDK Index ช่วยให้นักพัฒนาสามารถตรวจสอบข้อมูลเกี่ยวกับ Commercial SDK ที่เกี่ยวข้องกับ User Privacy หรือ Data Safety ได้ง่ายขึ้น อีกทั้งยังมีข้อมูลต่าง ๆ ที่มีประโยชน์สำหรับการพัฒนาแอปด้วย

ทั้งนี้ก็เพื่อให้แอปที่อยู่บน Google Play เป็นแอปที่ปลอดภัยมากขึ้น ไม่ใช่แค่ปลอดภัยสำหรับผู้ใช้ แต่รวมไปถึงนักพัฒนาที่ใช้งาน Commercial SDK ด้วยเช่นกัน

แหล่งข้อมูลอ้างอิง