มอบแอปพลิเคชันที่รวดเร็วและใช้ทรัพยากรน้อยพร้อมประหยัดอินเทอร์เน็ต

คำขอคำแนะนำไคลเอ็นต์ของ Save-Data ส่วนหัว ที่มีในเบราว์เซอร์ Chrome, Opera และ Yandex ช่วยให้นักพัฒนาซอฟต์แวร์ แอปพลิเคชันที่รวดเร็วยิ่งขึ้นให้แก่ผู้ใช้ที่เลือกใช้โหมดประหยัดอินเทอร์เน็ตในเบราว์เซอร์ของตน

ความจำเป็นในการใช้หน้าเว็บขนาดเล็ก

สถิติ Weblight

ทุกคนเห็นด้วยว่าหน้าเว็บที่เร็วขึ้นและใช้ทรัพยากรน้อยลงทำให้ผู้ใช้พอใจมากกว่า มอบประสบการณ์ที่ดีขึ้น เข้าใจและคงความสนใจของเนื้อหาไว้ได้ดีขึ้น Conversion และรายได้ที่เพิ่มขึ้น Google การวิจัยแสดงให้เห็นว่า "...หน้าเว็บที่ได้รับการเพิ่มประสิทธิภาพจะโหลดได้เร็วกว่าหน้าเว็บแบบเดิม 4 เท่าและใช้ 80% ไบต์น้อยลง เนื่องจากหน้าเว็บเหล่านี้โหลดเร็วกว่ามาก เราจึงพบว่าอัตราการเติบโตเพิ่มขึ้นถึง 50% การเข้าชมหน้าเว็บเหล่านี้"

และแม้ว่าจำนวนการเชื่อมต่อ 2G จะอยู่ใน การปฏิเสธ 2G ยังคงเป็นเครือข่ายหลัก เทคโนโลยี ในปี 2015 ความแพร่หลายและความพร้อมใช้งานของเครือข่าย 3G และ 4G กำลังเติบโต อย่างรวดเร็ว แต่ต้นทุนการเป็นเจ้าของที่เกี่ยวข้องและข้อจำกัดของเครือข่ายยังคง ปัจจัยสำคัญสำหรับผู้ใช้หลายร้อยล้านคน

สิ่งเหล่านี้เป็นเหตุผลที่ดีสำหรับการเพิ่มประสิทธิภาพหน้าเว็บ

มีวิธีอื่นในการปรับปรุงความเร็วเว็บไซต์โดยไม่ต้องอาศัยนักพัฒนาแอปโดยตรง เช่น เบราว์เซอร์พร็อกซีและบริการแปลง แม้ว่า บริการค่อนข้างเป็นที่นิยม แต่ก็มีข้อด้อยสำคัญ คือ การบีบอัดรูปภาพและข้อความ (และบางครั้งก็ยอมรับไม่ได้) ไม่สามารถประมวลผลได้ (HTTPS) ที่ปลอดภัย เพิ่มประสิทธิภาพเฉพาะหน้าเว็บที่เข้าชมผ่านผลการค้นหา และ และอีกมากมาย ความนิยมของบริการเหล่านี้เป็นอย่างมากเองก็เป็นตัวบ่งชี้ว่าเว็บ นักพัฒนาซอฟต์แวร์ไม่สามารถตอบสนองความต้องการของผู้ใช้ ที่เร็วและประหยัดได้ แอปพลิเคชันและหน้าเว็บได้ แต่การบรรลุเป้าหมายนั้นก็ซับซ้อนและบางครั้ง เส้นทางที่ยาก

ส่วนหัวของคำขอ Save-Data

เทคนิคที่ค่อนข้างตรงไปตรงมาคือการให้เบราว์เซอร์ช่วยเหลือ โดยใช้ ส่วนหัวของคำขอ Save-Data เมื่อระบุส่วนหัวนี้ หน้าเว็บจะสามารถปรับแต่ง และมอบประสบการณ์ของผู้ใช้ที่ได้รับการเพิ่มประสิทธิภาพ โดยมีข้อจำกัดด้านต้นทุนและประสิทธิภาพ ผู้ใช้

เบราว์เซอร์ที่รองรับ (ด้านล่าง) ช่วยให้ผู้ใช้เปิดใช้ *โหมดประหยัดอินเทอร์เน็ต ให้สิทธิ์เบราว์เซอร์ในการใช้ชุดการเพิ่มประสิทธิภาพเพื่อลด ปริมาณข้อมูลที่ต้องใช้ในการแสดงผลหน้าเว็บ เมื่อฟีเจอร์นี้เปิดเผย หรือ เบราว์เซอร์อาจขอภาพความละเอียดต่ำ และเลื่อนการโหลดออกไป ทรัพยากรบางรายการ หรือกำหนดเส้นทางคำขอผ่านบริการที่มีผลอื่นๆ การเพิ่มประสิทธิภาพเฉพาะเนื้อหา เช่น การบีบอัดทรัพยากรรูปภาพและข้อความ

การสนับสนุนเบราว์เซอร์

กำลังตรวจหาการตั้งค่า Save-Data

เพื่อกำหนดว่าควรส่ง "แสงสว่าง" เมื่อใด ประสบการณ์ของผู้ใช้ สามารถตรวจสอบส่วนหัวของคำขอคำแนะนำไคลเอ็นต์ Save-Data ได้ ช่วงเวลานี้ ส่วนหัวของคำขอจะระบุความต้องการของลูกค้าสำหรับปริมาณการใช้อินเทอร์เน็ตที่ลดลงเนื่องจาก ค่าใช้จ่ายในการโอนมาก การเชื่อมต่อช้า หรือสาเหตุอื่นๆ

เมื่อผู้ใช้เปิดใช้โหมดประหยัดอินเทอร์เน็ตในเบราว์เซอร์ เบราว์เซอร์จะเพิ่ม ส่วนหัวของคำขอ Save-Data สำหรับคำขอขาออกทั้งหมด (ทั้ง HTTP และ HTTPS) ขณะที่เขียนนี้ เบราว์เซอร์จะโฆษณาโทเค็น *on เพียง 1 รายการในส่วนหัว (Save-Data: on) แต่อาจขยายเวลาในอนาคตเพื่อระบุถึงผู้ใช้รายอื่น การตั้งค่าส่วนตัว

นอกจากนี้ ก็ยังตรวจจับได้ว่ามีการเปิด Save-Data ใน JavaScript หรือไม่

if ('connection' in navigator) {
  if (navigator.connection.saveData === true) {
    // Implement data saving operations here.
  }
}

กำลังตรวจสอบว่ามีออบเจ็กต์ connection ภายใน navigator หรือไม่ มีความสำคัญ เนื่องจากแสดงถึง Network Information API ซึ่งเป็นเพียง มีการใช้งานใน Chrome, Chrome สำหรับ Android และอินเทอร์เน็ตเบราว์เซอร์ของ Samsung จาก คุณก็เพียงแต่ต้องตรวจสอบว่า navigator.connection.saveData เท่ากับ true จากนั้นคุณจะใช้การดำเนินการบันทึกข้อมูลใดก็ได้ในเงื่อนไขดังกล่าว

วันที่ 
ส่วนหัว "Save-Data" ที่แสดงในเครื่องมือสำหรับนักพัฒนาซอฟต์แวร์ของ Chrome โดยแสดงร่วมกับ
ส่วนขยายโปรแกรมประหยัดอินเทอร์เน็ต
การเปิดใช้ส่วนขยายโปรแกรมประหยัดอินเทอร์เน็ตใน Chrome สำหรับเดสก์ท็อป

หากแอปพลิเคชันของคุณใช้บริการ เราสามารถ ตรวจสอบส่วนหัวของคำขอและใช้ตรรกะที่เกี่ยวข้องเพื่อเพิ่มประสิทธิภาพประสบการณ์การใช้งาน หรือเซิร์ฟเวอร์อาจมองหาค่ากำหนดโฆษณาใน ส่วนหัวของคำขอ Save-Data และแสดงผลการตอบกลับสำรอง ซึ่งต่างออกไป มาร์กอัป รูปภาพและวิดีโอที่เล็กลง และอื่นๆ

เคล็ดลับการใช้งานและแนวทางปฏิบัติที่ดีที่สุด

  1. เมื่อใช้ Save-Data ให้ระบุอุปกรณ์ UI ที่รองรับและอนุญาตให้ผู้ใช้ เพื่อสลับระหว่างประสบการณ์การใช้งานได้โดยง่าย ดังตัวอย่างต่อไปนี้
    • แจ้งให้ผู้ใช้ทราบว่า Save-Data มีการสนับสนุนและสนับสนุนให้ใช้
    • อนุญาตให้ผู้ใช้ระบุและเลือกโหมดที่มีข้อความแจ้งที่เหมาะสม ปุ่มเปิด/ปิดหรือช่องทำเครื่องหมายที่ใช้งานง่าย
    • เมื่อเลือกโหมดประหยัดอินเทอร์เน็ต ให้ประกาศและให้ วิธีปิดใช้งานและเปลี่ยนกลับไปใช้ประสบการณ์เต็มรูปแบบ ถ้าต้องการ
  2. อย่าลืมว่าแอปพลิเคชันขนาดเล็กก็ไม่ใช่แอปพลิเคชันรองลงมา โดยจะไม่นำไปใช้ ละฟังก์ชันหรือข้อมูลสำคัญไป เพื่อให้เข้าใจ ที่เกี่ยวข้องและประสบการณ์ของผู้ใช้ด้วย ดังตัวอย่างต่อไปนี้
    • แอปพลิเคชันแกลเลอรีรูปภาพอาจแสดงตัวอย่างความละเอียดต่ำหรือ กลไกภาพหมุนที่ใช้โค้ดจำนวนมาก
    • แอปพลิเคชันการค้นหาอาจแสดงผลการค้นหาพร้อมกันน้อยกว่า จึงจำกัดจำนวนของ ผลลัพธ์ที่ใช้สื่อจำนวนมาก หรือลดจำนวนทรัพยากร Dependency ที่จำเป็นในการแสดงผล หน้าเว็บ
    • เว็บไซต์ข่าวอาจแสดงเรื่องราวน้อยลง ยกเว้นหมวดหมู่ที่ไม่ค่อยได้รับความนิยม หรือแสดงตัวอย่างสื่อที่เล็กลง
  3. ระบุตรรกะเซิร์ฟเวอร์เพื่อตรวจสอบส่วนหัวของคำขอ Save-Data และพิจารณา แสดงการตอบสนองของหน้าเว็บในรูปแบบที่ง่ายขึ้นเมื่อเปิดใช้งาน เช่น ลดจำนวนทรัพยากรและทรัพยากร Dependency ที่จำเป็น บังคับใช้อย่างเข้มงวดมากขึ้น การบีบอัดทรัพยากร ฯลฯ
    • หากคุณแสดงคำตอบสำรองตามส่วนหัว Save-Data อย่าลืมเพิ่มลงในรายการ "เปลี่ยนแปลง" — Vary: Save-Data — แคชอัปสตรีมที่ควรแคชและแสดงเวอร์ชันนี้ต่อเมื่อ มีส่วนหัวของคำขอ Save-Data รายการ ดูรายละเอียดเพิ่มเติมได้จากแนวทางปฏิบัติแนะนำ สำหรับ การโต้ตอบกับแคช
  4. หากคุณใช้โปรแกรมทำงานของบริการ แอปพลิเคชันของคุณจะตรวจพบได้เมื่อมีการบันทึกข้อมูล เปิดใช้ตัวเลือกนี้โดยการตรวจหาการมีอยู่ของคำขอ Save-Data ไหม หรือโดยการตรวจสอบค่าของ navigator.connection.saveData หากเปิดใช้ ให้พิจารณาว่าคุณจะเขียนคำขอใหม่เพื่อดึงข้อมูลได้หรือไม่ ไบต์น้อยลง หรือใช้การตอบกลับที่ดึงข้อมูลแล้ว
  5. ลองเพิ่ม Save-Data ด้วยสัญญาณอื่นๆ เช่น ข้อมูลเกี่ยวกับ ประเภทการเชื่อมต่อและเทคโนโลยีของผู้ใช้ (โปรดดู NetInfo API) ตัวอย่างเช่น คุณอาจ ต้องการมอบประสบการณ์การใช้งานที่ไม่ซับซ้อนแก่ผู้ใช้ทุกคนผ่านการเชื่อมต่อ 2G แม้ว่า ไม่ได้เปิดใช้ Save-Data ในทางกลับกัน เพียงเพราะผู้ใช้ "เร็ว" 4G ไม่ได้หมายความว่าผู้ใช้ไม่สนใจที่จะบันทึกข้อมูล เช่น เมื่อโรมมิ่ง นอกจากนี้ คุณยังสามารถเพิ่มการปรากฏของ Save-Data พร้อมคําแนะนําสำหรับลูกค้า Device-Memory เพื่อปรับให้เข้ากับผู้ใช้เพิ่มเติม อุปกรณ์ที่มีหน่วยความจำจำกัด จะมีการโฆษณาหน่วยความจำอุปกรณ์ของผู้ใช้ใน คำแนะนำไคลเอ็นต์ navigator.deviceMemory รายการ

สูตรอาหาร

สิ่งที่ทำได้ผ่าน Save-Data จะจำกัดอยู่แค่สิ่งที่คุณคิดได้ ด้วย เพื่อให้คุณทราบว่าอะไรเป็นไปได้ มาลองใช้กันสักหน่อย กรณี คุณอาจนึกถึงกรณีการใช้งานอื่นๆ ของตนเองเมื่ออ่านข้อความนี้ ทดลองทำสิ่งใหม่ๆ และดูว่าอะไรทำได้

กำลังตรวจสอบ Save-Data ในโค้ดฝั่งเซิร์ฟเวอร์

ขณะที่สถานะ Save-Data คือสิ่งที่คุณสามารถตรวจพบใน JavaScript ผ่านทาง navigator.connection.saveData ที่ตรวจหาที่ฝั่งเซิร์ฟเวอร์คือ บางครั้งก็แนะนำได้ JavaScript อาจล้มเหลวในบางกรณี นอกจากนี้ การตรวจหาฝั่งเซิร์ฟเวอร์เป็นวิธีเดียวในการแก้ไขมาร์กอัปก่อนจะส่งไปยัง ซึ่งมีส่วนเกี่ยวข้องกับ Use Case ที่เป็นประโยชน์มากที่สุดของ Save-Data

ไวยากรณ์เฉพาะสำหรับการตรวจหาส่วนหัว Save-Data ในโค้ดฝั่งเซิร์ฟเวอร์ ขึ้นอยู่กับภาษาที่ใช้ แต่แนวคิดพื้นฐานควรจะเหมือนกันสำหรับ แบ็กเอนด์ของแอปพลิเคชัน ตัวอย่างเช่น ใน PHP ส่วนหัวของคำขอจะจัดเก็บไว้ที่ $_SERVER ระดับสูงทั่วโลก อาร์เรย์ที่ดัชนี ขึ้นต้นด้วย HTTP_ ซึ่งหมายความว่าคุณสามารถตรวจหาส่วนหัว Save-Data ได้โดย ตรวจสอบการมีอยู่และค่าของตัวแปร $_SERVER["HTTP_SAVE_DATA"] ดังนี้

// false by default.
$saveData = false;

// Check if the `Save-Data` header exists and is set to a value of "on".
if (isset($_SERVER["HTTP_SAVE_DATA"]) && strtolower($_SERVER["HTTP_SAVE_DATA"]) === "on") {
  // `Save-Data` detected!
  $saveData = true;
}

หากคุณวางการตรวจสอบนี้ก่อนที่จะส่งมาร์กอัปไปยังไคลเอ็นต์ $saveData จะมีสถานะ Save-Data และจะพร้อมใช้งานทุกที่สำหรับ ใช้บนหน้านั้นๆ เมื่อเห็นภาพกลไกนี้แล้ว เราจะมาดูตัวอย่างของ วิธีที่เราใช้จำกัดปริมาณข้อมูลที่เราส่งไปให้ผู้ใช้

แสดงรูปภาพความละเอียดต่ำสำหรับหน้าจอความละเอียดสูง

กรณีการใช้งานที่พบบ่อยสำหรับรูปภาพในเว็บคือการแสดงรูปภาพเป็นชุดๆ ละ 2 รูป ดังนี้ รูปภาพ 1 รูปสำหรับ "มาตรฐาน" 1 หน้าจอ (1 เท่า) และรูปภาพอีกรูปขนาดใหญ่กว่า 2 เท่า (2 เท่า) สําหรับหน้าจอความละเอียดสูง (เช่น Retina Display) ระดับสูงนี้ หน้าจอความละเอียดไม่จำเป็นต้องจำกัดอยู่เฉพาะสำหรับอุปกรณ์ระดับไฮเอนด์ และ มากขึ้นเรื่อยๆ ในกรณีที่แอปพลิเคชันที่ใช้ทรัพยากรน้อย การส่งรูปภาพที่มีความละเอียดต่ำ (1x) ไปยังรูปภาพเหล่านี้ควรระมัดระวัง มากกว่าตัวแปรที่มีขนาดใหญ่กว่า (2 เท่า) เพื่อให้บรรลุเป้าหมายนี้เมื่อSave-Data ที่มีอยู่ เราเพียงแค่แก้ไขมาร์กอัปที่เราส่งไปให้ลูกค้า ดังนี้

if ($saveData === true) {
  // Send a low-resolution version of the image for clients specifying `Save-Data`.
  ?><img src="butterfly-1x.jpg" alt="A butterfly perched on a flower."><?php
}
else {
  // Send the usual assets for everyone else.
  ?><img src="butterfly-1x.jpg" srcset="butterfly-2x.jpg 2x, butterfly-1x.jpg 1x" alt="A butterfly perched on a flower."><?php
}

กรณีการใช้งานนี้เป็นตัวอย่างที่ดีมากของความพยายามเพียงเล็กน้อยในการรองรับ บุคคลที่ขอให้คุณส่งข้อมูลให้น้อยลง หากคุณไม่ชอบ การแก้ไขมาร์กอัปที่ระบบแบ็กเอนด์ก็เช่นกัน คุณอาจได้ผลลัพธ์เดียวกันโดย โดยใช้โมดูลการเขียน URL ใหม่ เช่น Apache mod_rewrite มี เป็นตัวอย่างของวิธีบรรลุ นี้ ด้วย การกำหนดค่าที่ค่อนข้างน้อย

นอกจากนี้ คุณยังขยายแนวคิดนี้ไปยังพร็อพเพอร์ตี้ CSS background-image ได้โดย เพียงเพิ่มคลาสในเอลิเมนต์ <html>:

<html class="<?php if ($saveData === true): ?>save-data<?php endif; ?>">

จากที่นี่ คุณสามารถกำหนดเป้าหมายคลาส save-data ในองค์ประกอบ <html> ใน CSS เพื่อเปลี่ยนวิธีการแสดงรูปภาพ คุณส่งพื้นหลังความละเอียดต่ำได้ ลงในหน้าจอความละเอียดสูงดังที่แสดงในตัวอย่าง HTML ด้านบน หรือไม่ ทรัพยากรบางอย่างด้วย

ละเว้นภาพที่ไม่จําเป็น

เนื้อหารูปภาพบางอย่างบนเว็บเป็นสิ่งที่ไม่จำเป็น แม้ว่าภาพดังกล่าวสามารถ สร้างคอนเทนต์ที่นอกเหนือจากเนื้อหาดี ๆ ก็อาจไม่เหมาะกับคนที่พยายามจะ ใช้ประโยชน์จากแผนข้อมูลที่มีปริมาณจำกัด เครื่องมือที่อาจใช้งานง่ายที่สุด ของ Save-Data เราสามารถใช้โค้ดการตรวจจับ PHP จากก่อนหน้านี้และยกเว้น มาร์กอัปรูปภาพที่ไม่จำเป็นทั้งหมด

<p>This paragraph is essential content. The image below may be humorous, but it's not critical to the content.</p>
<?php
if ($saveData === false) {
  // Only send this image if `Save-Data` hasn't been detected.
  ?><img src="meme.jpg" alt="One does not simply consume data."><?php
}

เทคนิคนี้จะให้ผลที่เกิดขึ้นอย่างชัดเจนตามที่เห็นใน รูปด้านล่าง

วันที่ การเปรียบเทียบรูปภาพที่ไม่สำคัญ
มีการโหลดเมื่อไม่มี &quot;บันทึกข้อมูล&quot; เทียบกับภาพที่ถูกละไว้
เมื่อมี &quot;Save-Data&quot;
การเปรียบเทียบภาพที่ไม่สำคัญที่โหลดเมื่อ "บันทึกข้อมูล" ไม่มี และภาพเดียวกันนั้นถูกตัดออกเมื่อ "บันทึกข้อมูล" ในปัจจุบัน

แน่นอนว่าการข้ามรูปภาพไม่ได้มีสาเหตุเดียว นอกจากนี้คุณยังสามารถ Save-Data เลือกที่จะไม่ส่งทรัพยากรอื่นๆ ที่ไม่สำคัญ เช่น แบบตัวพิมพ์

ละเว้นแบบอักษรเว็บที่ไม่จำเป็น

ขณะที่แบบอักษรเว็บมักจะไม่ค่อยคิดเป็นจำนวนทั้งหมดของหน้านั้น เพย์โหลด ในขณะที่รูปภาพมักจะเป็นที่นิยม พวกเขาไม่บริโภค ไม่มากนัก ข้อมูลด้วยเช่นกัน นอกจากนี้ วิธีที่เบราว์เซอร์ดึงข้อมูลและแสดงผลแบบอักษรมีความซับซ้อนมากกว่า ที่คุณอาจคิด ด้วยแนวคิดอย่าง FOIT FOUT และเบราว์เซอร์ การเรียนรู้ที่ทำให้เป็นการดำเนินการที่เข้าใจยาก

คุณอาจให้เหตุผลว่าคุณควรยกเว้นเว็บที่ไม่จำเป็นออกไป สำหรับผู้ใช้ที่ต้องการประสบการณ์ของผู้ใช้ที่น้อยลง Save-Data กำหนดให้เป็น ที่ควรทำอย่างสมเหตุสมผล

ตัวอย่างเช่น สมมติว่าคุณใส่ Fira Sans จาก Google แบบอักษรในเว็บไซต์ Fira Sans ร่างกายของคุณยอดเยี่ยม คัดลอกแบบอักษร แต่อาจไม่สำคัญมากนักสำหรับผู้ใช้ที่พยายามบันทึกข้อมูล โดยการเพิ่ม คลาสของ save-data ไปยังองค์ประกอบ <html> เมื่อส่วนหัว Save-Data เป็น เราสามารถเขียนรูปแบบ ที่เรียกแบบตัวพิมพ์ที่ไม่จำเป็นในตอนแรก แต่จะเลือกไม่ใช้เมื่อมีส่วนหัว Save-Data:

/* Opt into web fonts by default. */
p,
li {
  font-family: 'Fira Sans', 'Arial', sans-serif;
}

/* Opt out of web fonts if the `save-Data` class is present. */
.save-data p,
.save-data li {
  font-family: 'Arial', sans-serif;
}

หากใช้วิธีนี้ คุณสามารถปล่อยข้อมูลโค้ด <link> จาก Google Fonts ไว้ เนื่องจากเบราว์เซอร์จะโหลดแหล่งข้อมูล CSS แบบคาดเดา (รวมถึง ) โดยใช้รูปแบบกับ DOM ก่อน จากนั้นตรวจสอบว่ามี HTML จะเรียกใช้ทรัพยากรใดๆ ในสไตล์ชีต หากมีใครบางคนเกิดขึ้นภายใน เมื่อเปิด Save-Data Fira Sans จะไม่โหลดเนื่องจาก DOM ที่มีการจัดรูปแบบไม่เคย เรียกใช้ Arial จะเข้ามาเริ่มทำงานแทน ถึงจะไม่ดีเท่ากับ Fira Sans แต่ ผู้ใช้ที่พยายามขยายแพ็กเกจอินเทอร์เน็ตอาจสะดวกมากกว่า

สรุป

ส่วนหัว Save-Data ไม่ได้มีความต่างกันมากนัก ไม่ว่าจะเปิดหรือปิดอยู่ และ แอปพลิเคชันมีภาระในการมอบประสบการณ์ที่เหมาะสมตาม การตั้งค่า โดยไม่คำนึงถึงเหตุผล

เช่น ผู้ใช้บางรายอาจไม่อนุญาตให้ใช้โหมดประหยัดอินเทอร์เน็ตหากสงสัยว่ามี เนื้อหาหรือฟังก์ชันของแอปจะหายไป แม้ในการเชื่อมต่อที่ไม่เสถียร ในทางกลับกัน ผู้ใช้บางรายอาจเปิดใช้เครื่องมือนี้ หน้าเว็บที่มีขนาดเล็กและเรียบง่ายที่สุดเท่าที่จะเป็นไปได้ แม้ในสถานการณ์การเชื่อมต่อที่ดี แอปของคุณควรจะถือว่าผู้ใช้ต้องการพื้นที่เก็บข้อมูลแบบเต็มและไม่จำกัด จนกว่าคุณจะมีการแจ้งอย่างชัดเจนเป็นอย่างอื่นผ่านผู้ใช้ที่อาจไม่เหมาะสม การดำเนินการ

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

สำหรับรายละเอียดเพิ่มเติมเกี่ยวกับ Save-Data และตัวอย่างที่ยอดเยี่ยมซึ่งนำไปใช้ได้จริง โปรดดู ผู้ใช้ Save Data