Cum să Scrieți Informații OSS

Cum să Scrieți Informații OSS

Bună. Sunt zm soft, care s-a înregistrat ca dezvoltator anul trecut (la sfârșitul lui 2023) și a început să lanseze aplicații. Plănuim să lansăm și o aplicație de recrutare de testeri pentru dezvoltatori pentru a trece testul închis pe Play Store, așa că verificați dacă vă interesează.

Despre Informațiile OSS Adesea Trecute cu Vederea

Includeți informații OSS când creați aplicații? La dezvoltarea aplicațiilor, mulți dezvoltatori acordă atenție scrierii politicii de confidențialitate, dar adesea trec cu vederea informațiile despre software-ul open source (OSS). Totuși, în funcție de OSS utilizat, afișarea informațiilor de licență poate fi cerută legal.

În special, deoarece politica de confidențialitate este adesea semnalată în revizuirile Google Play, majoritatea dezvoltatorilor acordă atenție acestui aspect. Pe de altă parte, informațiile de licență OSS sunt rareori semnalate în revizuiri similare, astfel încât mulți dezvoltatori nu le respectă. De fapt, chiar și atunci când folosesc aplicații ca tester, găsesc adesea aplicații fără informații OSS.

Dificultatea Implementării Afișării OSS

Când am implementat suportul OSS în propriile mele aplicații, am creat o vizualizare pentru afișarea textului în interiorul aplicației și am afișat acolo informațiile OSS împreună cu politica de confidențialitate. Am adoptat o metodă care plasa fișiere text pentru fiecare OSS într-un folder specific, permițând afișarea automată a acestor informații în vizualizare. Implementarea efectivă arăta astfel: plasați textele în folderul _assets/oss_, citiți-le, apoi afișați-le în orice View potrivit pentru a finaliza implementarea.

        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
        }

Cu toate acestea, pe măsură ce dezvoltarea avansa, menținerea acestei metode devenea din ce în ce mai dificilă. Adăugarea OSS tindea să fie amânată, iar la dezvoltarea mai multor aplicații, era posibil să uiți să actualizezi informațiile OSS.

Salvatorul Suportului OSS

Vreau să deleg sarcinile obositoare altcuiva. Prin urmare, am decis să folosesc o bibliotecă pentru afișare. Până acum pare că nu există probleme și lucrurile s-au simplificat mult. Sincer, mi-aș fi dorit să o fi folosit mai devreme. Biblioteca pe care am încercat-o este AboutLibraries.

Utilizarea este foarte simplă. Partea de implementare se rezumă practic la următorul cod:

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

Deoarece se finalizează într-un Fragment, este suficient să găsiți un loc potrivit și să îl afișați pentru ca suportul OSS să fie aproape gata.

Un Design Atractiv în Ciuda Ușurinței de Implementare

Iată cum arată ecranul când este afișat efectiv.

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

Pentru ceva creat rapid, arată foarte profesional. Conținutul nu a avut nici probleme. Este excelent.

Mai Multe Detalii despre Utilizarea Efectivă

Desigur, în practică mai sunt câteva lucruri de făcut, deci le voi descrie. Dar nu este mai mult decât importarea bibliotecii. Modificați build.gradle adăugând specificațiile aboutlibraries în plugins și dependencies. Specificați versiunea după cum este necesar.

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

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

Alte Biblioteci

Nu le-am folosit personal, dar se pare că există multe alte biblioteci pentru afișarea licențelor OSS. Iată câteva dintre cele mai cunoscute:

  1. OSS Licenses Plugin - Plugin Gradle furnizat de Google care colectează automat informațiile de licență ale bibliotecilor open source utilizate în timpul procesului de build al aplicației și generează o activitate pentru afișarea acestora.
  2. LicenseAdapter - Un Adapter simplu pentru afișarea în listă a informațiilor de licență ale bibliotecilor open source.
  3. LicensesDialog - O bibliotecă care permite crearea facilă a unui dialog pentru afișarea informațiilor de licență ale bibliotecilor open source în interiorul aplicației.

Toate par să aibă o bună reputație și sunt ușor de utilizat. Folosiți-o pe cea potrivită nevoilor voastre și continuați cu încredere în dezvoltarea aplicației.