Cách Viết Thông Tin OSS

Cách Viết Thông Tin OSS

Xin chào. Tôi là zm soft, đã đăng ký làm nhà phát triển vào năm ngoái (cuối năm 2023) và bắt đầu phát hành ứng dụng. Chúng tôi cũng có kế hoạch phát hành ứng dụng tuyển dụng tester dành cho nhà phát triển để vượt qua bài kiểm tra đóng trên Play Store, vì vậy hãy xem thử nếu bạn quan tâm.

Về Thông Tin OSS Thường Bị Bỏ Qua

Các bạn có viết thông tin OSS khi tạo ứng dụng không? Khi phát triển ứng dụng, nhiều nhà phát triển chú ý đến việc viết chính sách quyền riêng tư nhưng thường bỏ qua thông tin về phần mềm mã nguồn mở (OSS). Tuy nhiên, tùy thuộc vào OSS được sử dụng, việc hiển thị thông tin giấy phép có thể được yêu cầu theo luật pháp.

Đặc biệt, vì chính sách quyền riêng tư thường được chỉ ra trong các đánh giá của Google Play, hầu hết các nhà phát triển đều chú ý đến khía cạnh này. Mặt khác, thông tin giấy phép OSS hiếm khi được chỉ ra trong các đánh giá tương tự, vì vậy không ít nhà phát triển không tuân thủ. Thực tế, ngay cả khi tôi sử dụng ứng dụng với tư cách là tester, tôi thấy nhiều ứng dụng không có thông tin OSS.

Khó Khăn Trong Việc Triển Khai Hiển Thị OSS

Khi triển khai hỗ trợ OSS trong ứng dụng của mình, tôi đã tạo một view để hiển thị văn bản trong ứng dụng và hiển thị thông tin OSS cùng với chính sách quyền riêng tư ở đó. Tôi áp dụng phương pháp đặt các tệp văn bản cho từng OSS vào một thư mục cụ thể, cho phép thông tin đó được hiển thị tự động trong view. Việc triển khai thực tế như sau: đặt các văn bản vào thư mục _assets/oss_, đọc chúng, rồi hiển thị trong bất kỳ View phù hợp nào để hoàn thành triển khai.

        fun readLicenseTexts(): Map<String,String>{
            var map : MutableMap <String,String> = mutableMapOf()
            val fileList = assetManager.list("oss")
            if (fileList != null) {
                for (file in fileList) {
                    map.put(file.replace(".txt",""), readTextAssets("oss/$file"))
                }
            }
            return map
        }

Tuy nhiên, khi quá trình phát triển tiến triển, việc bảo trì phương pháp này ngày càng trở nên khó khăn hơn. Việc thêm OSS có xu hướng bị trì hoãn, và khi phát triển nhiều ứng dụng, có thể quên cập nhật thông tin OSS.

Vị Cứu Tinh Của Hỗ Trợ OSS

Tôi muốn giao những công việc phiền phức cho người khác. Vì vậy, tôi quyết định sử dụng một thư viện để hiển thị. Cho đến nay có vẻ không có vấn đề gì và mọi thứ đã trở nên dễ dàng hơn nhiều. Thành thật mà nói, giá như tôi đã dùng nó sớm hơn. Thư viện tôi đã thử là AboutLibraries.

Cách sử dụng rất đơn giản. Phần triển khai hầu như chỉ gồm đoạn code sau:

        val fragment = LibsBuilder()
            .supportFragment()
        val transaction = activity.supportFragmentManager.beginTransaction()
        transaction.add(R.id.libsFragment, fragment)
        transaction.commit()

Vì nó hoàn chỉnh trong một Fragment, chỉ cần tìm một chỗ thích hợp và hiển thị là việc hỗ trợ OSS gần như hoàn thành.

Thiết Kế Đẹp Mắt Dù Dễ Triển Khai

Đây là hình ảnh màn hình khi được hiển thị thực tế.

アプリ内に表示された OSS ライブラリ情報画面

Dù được tạo nhanh nhưng trông rất chuyên nghiệp. Nội dung cũng không có vấn đề gì. Rất tuyệt.

Chi Tiết Hơn Về Cách Sử Dụng Thực Tế

Tất nhiên, trong thực tế còn một vài điều nữa cần làm, vì vậy tôi sẽ ghi chú lại. Nhưng không hơn gì việc nhập thư viện. Sửa đổi build.gradle bằng cách thêm các thông số kỹ thuật aboutlibraries vào plugins và dependencies. Chỉ định phiên bản cho phù hợp.

plugins {
    id ("com.mikepenz.aboutlibraries.plugin")
}

dependencies {
    implementation ("com.mikepenz:aboutlibraries:10.10.0")
}

Các Thư Viện Khác

Tôi chưa sử dụng chúng, nhưng có vẻ như còn có nhiều thư viện khác để hiển thị giấy phép OSS. Đây là một số thư viện nổi tiếng:

  1. OSS Licenses Plugin - Plugin Gradle do Google cung cấp, tự động thu thập thông tin giấy phép của các thư viện mã nguồn mở được sử dụng trong quá trình build ứng dụng và tạo ra một activity để hiển thị chúng.
  2. LicenseAdapter - Một Adapter đơn giản để hiển thị thông tin giấy phép của các thư viện mã nguồn mở dưới dạng danh sách.
  3. LicensesDialog - Thư viện cho phép dễ dàng tạo dialog để hiển thị thông tin giấy phép của các thư viện mã nguồn mở trong ứng dụng.

Tất cả đều có vẻ có danh tiếng tốt và dễ sử dụng. Hãy sử dụng thư viện phù hợp với nhu cầu của bạn và tự tin tiến hành phát triển ứng dụng.