Google ได้ให้รายละเอียดบางอย่างเกี่ยวกับข้อเสนอการออกแบบรันไทม์ SDK SDK Runtime เป็นส่วนหนึ่งของ Android Privacy Sandbox
เมื่อเร็วๆ นี้ เราได้เห็นทั้ง Apple และ Google มุ่งมั่นที่จะสร้างระบบนิเวศที่คำนึงถึงความเป็นส่วนตัวมากขึ้นเมื่อพูดถึงโฆษณา สำหรับ Apple มันคือการเปิดตัวปุ่มเพื่อป้องกันไม่ให้แอปติดตามคุณ และสำหรับ Google ก็ได้เป็นเช่นนั้น โครงการริเริ่ม Android Privacy Sandbox. แม้ว่าข้อมูลจะขาดแคลนในระหว่างการประกาศ แต่ก็มีรายละเอียดเพิ่มเติมเกี่ยวกับ "SDK Runtime" ที่ครอบคลุมส่วนหนึ่งของโซลูชันของ Google ด้านการโฆษณาและความเป็นส่วนตัว
Android Privacy Sandbox ประกอบด้วยองค์ประกอบหลักสองส่วน ได้แก่ SDK Runtime และ API ที่รักษาความเป็นส่วนตัว ซึ่งจะแจกจ่ายเป็นส่วนประกอบของระบบโมดูลาร์ ซึ่งคุณอาจจำได้ว่าเป็น เมนไลน์โครงการ. ตั้งแต่นั้นมา Google ได้เผยแพร่เอกสารสำหรับนักพัฒนาซอฟต์แวร์เกี่ยวกับรันไทม์ SDK และวิธีที่จะเพิ่มความเป็นส่วนตัวของผู้ใช้ บริษัทกล่าวว่า SDK Runtime จะอนุญาตให้ SDK บุคคลที่สามทำงานในสภาพแวดล้อมรันไทม์เฉพาะได้ แอนดรอยด์ 13ห่างจากโค้ดของแอป
ใน Android แต่ละแอปจะทำงานในแซนด์บ็อกซ์ที่มีสิทธิ์การใช้งานของตัวเองและการเข้าถึงระบบที่แตกต่างกันขึ้นอยู่กับการเข้าถึงที่ได้รับ
อย่างที่ Google กล่าวไว้, "หากแอป A พยายามทำสิ่งที่เป็นอันตราย เช่น อ่านข้อมูลของแอปพลิเคชัน B หรือกดโทรศัพท์โดยไม่ได้รับอนุญาต จะถูกป้องกันไม่ให้ทำเช่นนั้นเนื่องจากไม่มี สิทธิ์เริ่มต้นของผู้ใช้ที่เหมาะสม" รันไทม์ของ SDK จะขยายแซนด์บ็อกซ์นั้นเพิ่มเติมเพื่อดำเนินการ SDK ของบริษัทอื่นในสภาพแวดล้อมรันไทม์เฉพาะ ห่างจากที่ใดที่หนึ่งโดยเฉพาะ แอป.เหตุใดจึงมี SDK Runtime
Google ต้องการป้องกันไม่ให้ SDK ของผู้ลงโฆษณารวบรวมข้อมูลที่ไม่ควรเข้าถึงโดยเจตนา (หรือแม้แต่โดยไม่ได้ตั้งใจ) อันเป็นผลมาจากการแชร์แซนด์บ็อกซ์ของแอปโฮสต์ เมื่อมีการดำเนินการ SDK โฆษณาภายในแอป SDK จะสามารถเข้าถึงทุกสิ่งที่แอปทำได้เช่นกัน และนักพัฒนาแอปอาจไม่ทราบแน่ชัดว่าจริงๆ แล้วมีการเข้าถึงจำนวนเท่าใด เมื่อนำโค้ดผู้ลงโฆษณาออกและดำเนินการในรันไทม์ของตัวเอง จะสามารถเข้าถึงเฉพาะข้อมูลที่นักพัฒนาซอฟต์แวร์แชร์ด้วยอย่างชัดเจนเท่านั้น
ด้วยเหตุนี้ Google จึงกล่าวว่า SDK Runtime มีการป้องกันและการรับประกันที่แข็งแกร่งยิ่งขึ้นเกี่ยวกับการเก็บรวบรวมและแชร์ข้อมูลผู้ใช้ดังต่อไปนี้:
- สภาพแวดล้อมการดำเนินการที่ถูกแก้ไข
- สิทธิ์ที่กำหนดไว้อย่างดีและสิทธิ์การเข้าถึงข้อมูลสำหรับ SDK
SDK Runtime เวอร์ชันแรกมุ่งเน้นไปที่ SDK ที่เกี่ยวข้องกับการโฆษณาเพียงอย่างเดียว ซึ่งรวมถึง SDK ที่เปิดใช้การแสดงโฆษณา การวัดผลโฆษณา การฉ้อโกงโฆษณา และการตรวจจับการละเมิด
SDK Runtime ทำงานอย่างไร
ในปัจจุบัน หากไม่มีรันไทม์ SDK กระบวนการของแอปจะเรียกใช้ SDK และ SDK นั้นจะดำเนินการภายในแซนด์บ็อกซ์เดียวกันกับโค้ดที่เหลือของแอป Google ต้องการให้นักพัฒนามีอินเทอร์เฟซสำหรับ SDK ที่ทำงานในกระบวนการเบื้องหน้าของแอปแทน และอินเทอร์เฟซนั้นสามารถเชื่อมต่อและแชร์ข้อมูลเฉพาะกลับไปกลับมาด้วย SDK ที่เป็นอยู่ ใช้แล้ว
ก่อน
หลังจาก
แผนภาพ "ก่อน" (แรก) แสดงให้เห็นว่าโค้ดการเรียก SDK พร้อมด้วย SDK ที่ได้รับการเรียกจากโค้ดนี้ ทั้งหมดอยู่ในกระบวนการของแอป ซึ่งหมายความว่า SDK สามารถเข้าถึงข้อมูลทั้งหมดที่แอปสามารถทำได้ แผนภาพ "หลัง" (วินาที) แสดงให้เห็นว่าในกระบวนการเบื้องหน้าของแอป รหัสการโทร SDK จะสื่อสารกับอินเทอร์เฟซ SDK อินเทอร์เฟซเหล่านี้จะข้ามขอบเขตกระบวนการเข้าสู่กระบวนการรันไทม์ SDK เพื่อเรียกเข้าสู่ SDK เอง ซึ่งหมายความว่า SDK ที่ใช้งานอยู่ไม่สามารถเข้าถึงทุกสิ่งที่ต้องการได้ แต่สามารถจัดเตรียมข้อมูลจากแอปที่รันควบคู่ไปกับเท่านั้น
โมเดลการเผยแพร่ที่เชื่อถือได้ใหม่สำหรับ SDK
ในปัจจุบัน เมื่อคุณดาวน์โหลดแอปพลิเคชันที่มี SDK ของบุคคลที่สาม นักพัฒนาจะรวมสิ่งเหล่านั้นไว้ในแอปที่อัปโหลดและเผยแพร่บน Google Play Store Google ต้องการให้เป็นกรณีที่เมื่อคุณติดตั้งแอปบนโทรศัพท์ที่ใช้ SDK เหล่านั้น แอปเหล่านั้นจะถูกดาวน์โหลด แยกกัน จากแอปเอง นั่นหมายความว่านักพัฒนา SDK สามารถทำการเปลี่ยนแปลงได้อย่างต่อเนื่อง (นั่นคือ ไม่มีการเปลี่ยนแปลงกับ API หรือ ความหมาย) ไปยัง SDK และแจกจ่ายไปยังอุปกรณ์โดยไม่ต้องมีส่วนร่วมจากแอป นักพัฒนา
ในทางกลับกัน การเปลี่ยนแปลง SDK ที่ไม่เสียหายสามารถนำไปใช้หรือย้อนกลับได้โดยไม่จำเป็นต้องรอ เพื่อให้นักพัฒนาแอปสามารถสร้างแอปของตนขึ้นมาใหม่ด้วย SDK ใหม่ หรือรอให้ผู้ใช้อัปเดตแอปของตน แอพ การเปลี่ยนแปลงที่เปลี่ยนแปลงซึ่งเปลี่ยน API และความหมายยังคงต้องได้รับการอัปเดตโดยนักพัฒนาแอป แต่นักพัฒนา SDK สามารถรับการอัปเดตที่ไม่ทำลายล่าสุดได้ เปลี่ยนแปลงและแก้ไขได้รวดเร็วและสม่ำเสมอยิ่งขึ้นสำหรับผู้คนจำนวนมากในคราวเดียว โดยไม่ต้องอาศัยนักพัฒนาแอปเพื่ออัปเดตแอปและแพ็คเกจในเวอร์ชันใหม่ SDK.
ก่อน
หลังจาก
แผนภาพ "ก่อน" แสดงให้เห็นอย่างชัดเจนถึงวิธีการเผยแพร่แอปด้วย SDK ในปัจจุบัน พวกมันบรรจุอยู่ในแอปและแอปคือสิ่งที่ส่งไปยัง Google Play Store ในแผนภาพ "หลัง" นักพัฒนา SDK จะไม่ใส่ SDK ของตนลงในแอปโดยตรงอีกต่อไป นักพัฒนา SDK จะอัปโหลด SDK และเผยแพร่ไปยัง Google Play Store แทน จากนั้น Google Play Store จะจัดการการเผยแพร่แอป รวมถึงการอ้างอิง SDK ไปยังอุปกรณ์ของผู้ใช้ปลายทาง นอกจากนี้ Google ยังตั้งใจใช้คำว่า "app store" ในไดอะแกรม เนื่องจากเป็นโซลูชันแบบเปิดทั่วไปที่สามารถใช้ได้กับร้านค้าอื่นๆ
การเปลี่ยนแปลงวิธีสร้าง เรียกใช้ และเผยแพร่ SDK และแอป
ข้อเสนอเบื้องต้นสำหรับ SDK Runtime เสนอชุดการเปลี่ยนแปลงในประเด็นสำคัญ 5 ประการ:
- เข้าถึง
- การดำเนินการ
- การสื่อสาร
- การพัฒนา
- การกระจาย
Google ต้องการกำหนดชุดสิทธิ์ต่อไปนี้สำหรับรันไทม์ SDK:
-
INTERNET
: การเข้าถึงอินเทอร์เน็ตเพื่อให้สามารถสื่อสารกับบริการทางเว็บได้ -
ACCESS_NETWORK_STATE
: เข้าถึงข้อมูลเกี่ยวกับเครือข่าย - สิทธิ์ในการเข้าถึง API ที่รักษาความเป็นส่วนตัวซึ่งมอบความสามารถในการโฆษณาหลักโดยไม่จำเป็นต้องเข้าถึงตัวระบุข้ามแอป ชื่อสิทธิ์ยังไม่ได้รับการสรุป แต่ API เหล่านี้จะถูกควบคุมโดยแอปที่เข้าถึงสิทธิ์เหล่านี้
-
AD_ID
: ความสามารถในการขอรหัสโฆษณา สิ่งนี้จะถูกควบคุมโดยแอปที่เข้าถึงการอนุญาตนี้ -
BIND_GET_INSTALL_REFERRER_SERVICE
: ความสามารถในการใช้ API ผู้อ้างอิงการติดตั้ง Google Play เพื่อระบุแหล่งที่มาของการติดตั้งแอป
บริษัทยังต้องการจำกัดการเข้าถึงที่ SDK มีในหน่วยความจำของแอปที่ทำงานอยู่ แต่ยังต้องการป้องกันไม่ให้แอปเข้าถึงข้อมูลของ SDK ของตัวเองด้วย แอปจะไม่สามารถเข้าถึงที่เก็บข้อมูล SDK ได้โดยตรง และในทางกลับกัน จะไม่สามารถเข้าถึงที่จัดเก็บข้อมูลภายนอกได้ เปิดสำหรับ SDK และจะมีทั้งพื้นที่เก็บข้อมูลที่สามารถเข้าถึงได้สำหรับ SDK ทั้งหมด และพื้นที่เก็บข้อมูลที่เป็นส่วนตัวของที่กำหนด SDK.
สำหรับวิธีการทำงานของ SDK นั้น SDK จะทำงานโดยมีลำดับความสำคัญต่ำกว่าตัวแอปเล็กน้อย กล่าวคือมีความเป็นไปได้สูงที่แอปจะถูกยกเลิกในไม่ช้าหลังจากรันไทม์ SDK ถูกยกเลิก หากสถานการณ์เกิดขึ้นจนจำเป็นต้องปิดโดยระบบ ในกรณีที่ไม่ยุติพร้อมกันหรือในกรณีที่มีเหตุผลอื่นข้อเสนอ เสนอวิธีการโทรกลับวงจรการใช้งานที่เกี่ยวข้องให้กับนักพัฒนาแอปเพื่อให้พวกเขาจัดการกับข้อยกเว้นนี้และเริ่มต้น SDK อีกครั้ง รันไทม์ Runtime SDK จะไม่สามารถใช้ API การแจ้งเตือนเพื่อส่งการแจ้งเตือนผู้ใช้ได้ตลอดเวลา
สุดท้ายนี้ Google ตั้งข้อสังเกตว่านี่เป็นข้อเสนอทั่วไปที่ไม่ซ้ำกับ App Store ใดโดยเฉพาะ แม้ว่าจะมีการสร้างขึ้นใน Google Play Store แต่ก็ไม่มีเหตุผลใดที่ App Store อื่น ๆ จะไม่สามารถรวมโครงสร้างที่คล้ายกันได้ Google กล่าวว่าประโยชน์ต่อไปนี้ชัดเจน:
- ตรวจสอบคุณภาพและความสม่ำเสมอของ SDK
- ปรับปรุงการเผยแพร่สำหรับนักพัฒนา SDK
- เร่งการเปิดตัวการอัปเดต SDK เวอร์ชันรองไปยังแอปที่ติดตั้ง
Android Privacy Sandbox ดูมีแนวโน้มดี
ลำดับเวลาของ Google ในการเปิดตัวคือไตรมาสที่ 1 ปี 2022 เกี่ยวข้องกับข้อเสนอการออกแบบเบื้องต้น รวมถึงความคิดเห็นและการทำซ้ำการออกแบบ ตัวอย่างสำหรับนักพัฒนาจะมาในช่วงปลายปีนี้ และจะมีเบต้าในช่วงปลายปี ในที่สุดปี 2023 จะเริ่มการทดสอบตามขนาด การแสดงตัวอย่างและเบต้าเหล่านี้จะไม่ขึ้นอยู่กับจังหวะการเปิดตัว Android 13 นอกจากนี้ จะมีการควบคุมแบบเผชิญหน้ากับผู้ใช้ในแอปการตั้งค่าเมื่อเปิดตัวแล้ว
ในความคิดของฉัน Android Privacy Sandbox ดู มีแนวโน้มดี แต่เราจะต้องรอดูว่าบริษัทจะดำเนินการอย่างไร เป็นไปได้โดยสิ้นเชิงที่นักพัฒนาจะไม่ชอบมัน หรือว่ามันจะสร้างปัญหามากกว่าที่จะแก้ไขได้จริงๆ นักพัฒนาควรอ่านเอกสารที่ Google โพสต์ไว้เพื่อให้เข้าใจถึงสิ่งที่จะเกิดขึ้นในอนาคตของความเป็นส่วนตัวของ Android
ขณะนี้เป็นเพียงข้อเสนอและไม่ใช่มุมมองที่แน่ชัดเกี่ยวกับสิ่งใด อย่างแน่นอน จะเกิดขึ้นในเวอร์ชัน Android ในอนาคต แต่มีแนวโน้มว่าจะจบลงได้ใกล้เคียงกัน เราจะคอยติดตามการพัฒนาเพิ่มเติม!
แหล่งที่มา: เอกสารสำหรับนักพัฒนา Android