Instagram và Facebook phát nội dung tức thì và tăng mức độ tương tác của người dùng nhờ Media3 PreloadManager
4 phút đọc
Trong thế giới mạng xã hội không ngừng biến đổi, sự chú ý của người dùng có thể đến và đi rất nhanh. Các ứng dụng của Meta (Facebook và Instagram) nằm trong số những nền tảng mạng xã hội lớn nhất thế giới và phục vụ hàng tỷ người dùng trên toàn cầu. Đối với Meta, việc phân phối video một cách liền mạch không chỉ là một tính năng mà còn là cốt lõi trong trải nghiệm người dùng. Video ngắn, đặc biệt là trên Bảng tin Facebook và Instagram Reels, đã trở thành động lực chính thúc đẩy mức độ tương tác. Các nền tảng này giúp người dùng thể hiện khả năng sáng tạo và nhanh chóng thưởng thức nội dung, đồng thời kết nối và giải trí cho mọi người trên khắp thế giới.
Bài đăng trên blog này sẽ đưa bạn tìm hiểu hành trình Meta chuyển đổi trải nghiệm phát video cho hàng tỷ người dùng bằng cách cung cấp tính năng phát tức thì thực sự.
Khoảng cách về độ trễ trong video ngắn
Video ngắn mang đến trải nghiệm tương tác nhanh chóng khi người dùng lướt nhanh qua trang tin của họ. Việc mang đến trải nghiệm chuyển đổi liền mạch giữa các video trong một trang video luôn thay đổi sẽ đặt ra những rào cản riêng cho việc phát tức thì. Do đó, chúng ta cần những giải pháp vượt trội hơn so với bộ nhớ đệm của ổ đĩa truyền thống và chiến lược phát lại phản ứng tiêu chuẩn.
Hướng đi tiếp theo với Media3 PreloadManager
Để giải quyết những thay đổi trong thói quen xem nội dung do sự gia tăng của nội dung dạng ngắn và những hạn chế của cấu trúc phát nội dung dạng dài truyền thống, Jetpack Media3 đã ra mắt PreloadManager. Thành phần này cho phép nhà phát triển vượt ra ngoài bộ nhớ đệm của ổ đĩa, cung cấp khả năng kiểm soát và tuỳ chỉnh chi tiết để giữ cho nội dung nghe nhìn luôn sẵn sàng trong bộ nhớ trước khi người dùng nhấn nút phát. Đọc loạt bài đăng này trên blog để tìm hiểu thông tin kỹ thuật về việc phát nội dung nghe nhìn bằng PreloadManager.
Cách Meta đạt được khả năng phát lại tức thì thực sự
Sự phức tạp hiện có
Trước đây, Meta đã kết hợp khởi động (để người chơi sẵn sàng) và tìm nạp trước (để lưu nội dung vào bộ nhớ đệm trên ổ đĩa) để phân phối video. Mặc dù những phương pháp này giúp cải thiện hiệu quả của mạng, nhưng chúng cũng gây ra nhiều thách thức đáng kể. Quá trình khởi động yêu cầu tạo nhiều thực thể trình phát theo tuần tự, điều này tiêu tốn nhiều bộ nhớ và hạn chế việc tải trước chỉ một vài video. Nhu cầu cao về tài nguyên này đồng nghĩa với việc cần áp dụng một giải pháp mạnh mẽ và có khả năng mở rộng hơn để mang lại trải nghiệm phát tức thì như mong đợi trên các nguồn cấp dữ liệu trên mạng xã hội hiện đại, có tốc độ cuộn nhanh.
Tích hợp Media3 PreloadManager
Để đạt được khả năng phát lại tức thì, nhóm Media Foundation Client của Meta đã tích hợp Jetpack Media3 PreloadManager vào Facebook và Instagram. Họ đã chọn DefaultPreloadManager để hợp nhất hệ thống tải trước và hệ thống phát. Quá trình tích hợp này đòi hỏi phải tái cấu trúc cấu trúc hiện tại của Meta để cho phép chia sẻ tài nguyên hiệu quả giữa các thực thể PreloadManager và ExoPlayer. Sự thay đổi chiến lược này mang lại một lợi thế quan trọng về cấu trúc: khả năng thực hiện song song các tác vụ tải trước và quản lý nhiều video bằng một thực thể trình phát duy nhất. Điều này giúp tăng đáng kể dung lượng tải trước, đồng thời loại bỏ những vấn đề phức tạp về bộ nhớ cao của phương pháp trước đó.
Tối ưu hoá và điều chỉnh hiệu suất
Sau đó, nhóm đã tiến hành thử nghiệm và lặp lại nhiều lần để tối ưu hoá hiệu suất trên hệ sinh thái thiết bị đa dạng của Meta trên toàn cầu. Việc tải trước quá mức ban đầu đôi khi gây ra vấn đề, bao gồm cả việc tăng mức sử dụng bộ nhớ và làm chậm hiệu suất cuộn. Để giải quyết vấn đề này, họ đã tinh chỉnh quá trình triển khai bằng cách đo lường bộ nhớ một cách cẩn thận, xem xét tình trạng phân mảnh thiết bị và điều chỉnh hệ thống cho phù hợp với các mẫu giao diện người dùng cụ thể.
Tinh chỉnh cách triển khai cho các mẫu giao diện người dùng cụ thể
Meta đã áp dụng nhiều chiến lược tải trước và điều chỉnh hành vi cho phù hợp với các mẫu giao diện người dùng cụ thể của từng ứng dụng:
- Bảng tin Facebook: Giao diện người dùng ưu tiên video hiện đang xuất hiện. Trình quản lý chỉ tải trước video hiện tại để đảm bảo video bắt đầu ngay khi người dùng tạm dừng thao tác cuộn. Việc chỉ tập trung vào "mục hiện tại" này giúp giảm thiểu mức sử dụng dữ liệu và mức sử dụng bộ nhớ trong môi trường mà người dùng có thể thấy nhiều bài đăng tĩnh giữa các video. Mặc dù hệ thống hiện được thiết kế để chỉ tải trước video đang xem, nhưng bạn có thể điều chỉnh để tải trước cả các video sắp tới (trong tương lai).
- Instagram Reels: Đây là môi trường chỉ có video, nơi người dùng vuốt theo chiều dọc. Đối với giao diện người dùng này, nhóm đã triển khai chiến lược "tải trước liền kề". PreloadManager lưu giữ các video ngay sau Reel hiện tại trong bộ nhớ. Phương pháp hai chiều này đảm bảo rằng dù người dùng vuốt lên hay vuốt xuống, quá trình chuyển đổi vẫn diễn ra tức thì và mượt mà. Kết quả là Chất lượng trải nghiệm (QoE) được cải thiện đáng kể, bao gồm cả việc cải thiện thời gian Bắt đầu phát và Thời gian đến khung hình đầu tiên cho người dùng.
Mở rộng quy mô cho hệ sinh thái thiết bị đa dạng trên toàn cầu
Để mở rộng quy mô một ngăn xếp video hiệu suất cao trên hàng tỷ thiết bị, bạn không chỉ cần tải trước một cách linh hoạt mà còn cần có trí tuệ. Ban đầu, Meta gặp phải một số thách thức liên quan đến áp lực bộ nhớ và độ trễ khi cuộn, đặc biệt là trên phần cứng tầm trung đến tầm thấp. Để giải quyết vấn đề này, họ đã xây dựng một hệ thống Phát hiện áp lực thiết bị xoay quanh việc triển khai Media3. Giờ đây, các ứng dụng sẽ giám sát tín hiệu I/O và CPU theo thời gian thực. Nếu thiết bị đang chịu tải nặng, quá trình tải trước sẽ tạm dừng để ưu tiên khả năng phản hồi của giao diện người dùng.
Tính năng tối ưu hoá dựa trên thiết bị này đảm bảo rằng lợi ích của việc phát tức thì không ảnh hưởng đến độ ổn định của hệ thống, giúp ngay cả người dùng trên phần cứng cũ cũng có thể trải nghiệm một trang tin mượt mà và không bị gián đoạn.
Lợi ích về cấu trúc và tình trạng mã
Ngoài các chỉ số dành cho người dùng, việc di chuyển sang Media3 PreloadManager còn mang lại lợi ích lâu dài về cấu trúc. Mặc dù quá trình tích hợp và điều chỉnh cần nhiều lần lặp lại để cân bằng hiệu suất, nhưng cơ sở mã thu được dễ bảo trì hơn. Nhóm nhận thấy API PreloadManager tích hợp mượt mà với hệ sinh thái Media3 hiện có, giúp chia sẻ tài nguyên hiệu quả hơn. Đối với Meta, việc áp dụng Media3 PreloadManager là một khoản đầu tư chiến lược vào tương lai của việc xem video.
Bằng cách áp dụng tính năng tải trước và thêm các cổng thông minh cho thiết bị, họ đã tăng thành công tổng thời gian xem trên ứng dụng và cải thiện mức độ tương tác tổng thể của cộng đồng toàn cầu.
Tác động đến Instagram và Facebook
Kiến trúc chủ động đã mang lại những cải tiến tức thì và có thể đo lường được trên cả hai nền tảng.
- Facebook nhận thấy tốc độ bắt đầu phát nhanh hơn, tỷ lệ tạm dừng phát giảm và số phiên phát kém chất lượng giảm (chẳng hạn như tải lại, thời gian bắt đầu bị trễ, chất lượng thấp hơn, v.v.), từ đó giúp tăng thời gian xem tổng thể.
- Instagram nhận thấy tốc độ bắt đầu phát nhanh hơn và tổng thời gian xem tăng lên. Việc loại bỏ độ trễ khi tham gia (khoảng thời gian từ hành động của người dùng đến khi khung hình đầu tiên xuất hiện) đã trực tiếp làm tăng các chỉ số tương tác. Việc giảm thiểu tình trạng gián đoạn do giảm thời gian tải vào bộ nhớ đệm giúp người dùng xem được nhiều nội dung hơn, thể hiện qua các chỉ số tương tác.
Những bài học quan trọng về kỹ thuật trên quy mô lớn
Khi thói quen sử dụng nội dung nghe nhìn thay đổi, nhu cầu về trải nghiệm tức thì sẽ tiếp tục tăng lên. Việc triển khai quản lý bộ nhớ chủ động và tối ưu hoá cho quy mô cũng như sự đa dạng của thiết bị giúp đảm bảo ứng dụng của bạn có thể đáp ứng những kỳ vọng này một cách hiệu quả.
- Ưu tiên tải trước thông minh
Tập trung vào việc mang lại trải nghiệm đáng tin cậy bằng cách giảm thiểu tình trạng giật và thời gian tải thông qua tính năng tải trước. Thay vì chỉ lưu vào bộ nhớ đệm của ổ đĩa, việc tận dụng tính năng tải trước ở cấp bộ nhớ sẽ đảm bảo nội dung luôn sẵn sàng ngay khi người dùng tương tác.
- Điều chỉnh cách triển khai cho phù hợp với mẫu giao diện người dùng
Tuỳ chỉnh hành vi tải trước theo giao diện người dùng của ứng dụng. Ví dụ: sử dụng tiêu điểm "chỉ hiện tại" cho các nguồn cấp dữ liệu hỗn hợp như Facebook để tiết kiệm bộ nhớ và chiến lược "tải trước liền kề" cho các môi trường dọc như Instagram Reels.
- Tận dụng Media3 để đảm bảo tình trạng mã lâu dài
Việc tích hợp với API Media3 thay vì giải pháp lưu vào bộ nhớ đệm tuỳ chỉnh giúp chia sẻ tài nguyên tốt hơn giữa trình phát và PreloadManager, cho phép bạn quản lý nhiều video bằng một thực thể trình phát duy nhất. Điều này giúp tạo ra một toàn bộ mã nguồn bền vững, giúp các nhóm kỹ sư không chỉ dễ dàng duy trì và tối ưu hoá theo thời gian mà còn hưởng lợi từ các bản cập nhật tính năng mới nhất.
- Triển khai các tính năng tối ưu hoá nhận biết thiết bị
Mở rộng phạm vi tiếp cận thị trường bằng cách thử nghiệm trên nhiều thiết bị, bao gồm cả các mẫu thiết bị từ trung cấp đến thấp cấp. Sử dụng các tín hiệu theo thời gian thực như CPU, bộ nhớ và I/O để điều chỉnh linh hoạt các tính năng và mức sử dụng tài nguyên.
Tìm hiểu thêm
Để bắt đầu và tìm hiểu thêm, hãy truy cập vào
- Khám phá tài liệu về PreloadManager của Media3.
- Đọc loạt bài viết trên blog để biết thông tin chi tiết về kỹ thuật và cách triển khai nâng cao.
- Hãy xem ứng dụng mẫu để biết cách hoạt động của tính năng tải trước.
Giờ bạn đã biết bí quyết để phát tức thì. Hãy thử ngay!
-
Nghiên cứu điển hìnhGrab là siêu ứng dụng hàng đầu Đông Nam Á, cung cấp dịch vụ giao hàng, di chuyển và dịch vụ tài chính cho hàng triệu người dùng tại 8 quốc gia thông qua một ứng dụng duy nhất.
Ajesh Pai, Nguyen Van Minh, Tracy Agyemang • Thời gian đọc: 5 phút -
Nghiên cứu điển hìnhWhatsApp là nền tảng nhắn tin lớn nhất thế giới, phục vụ hàng tỷ người dùng trên toàn cầu. Đây là công cụ giao tiếp mặc định cho mọi người ở nhiều khu vực, giúp kết nối người dùng thông qua dịch vụ nhắn tin riêng tư, đáng tin cậy và bảo mật.
Niharika Arora, Tracy Agyemang, Mayank Jain • Đọc trong 8 phút -
Nghiên cứu điển hìnhTinder có sứ mệnh thúc đẩy và truyền cảm hứng cho những mối quan hệ thực sự bằng cách giúp những người độc thân thuộc mọi thế hệ mới gặp gỡ nhau một cách dễ dàng và vui vẻ.
Ajesh Pai, Ulises Uriel Verduzco Díaz , Tracy Agyemang • Mất 4 phút để đọc
Nhận thông tin chi tiết mới nhất về hoạt động phát triển Android trong hộp thư đến của bạn hằng tuần.