Skip to content
ეს გვერდი შეიქმნა და ითარგმნა ხელოვნური ინტელექტის დახმარებით. თუ შეამჩნევთ უზუსტობას, გთხოვთ, დაგვეხმარეთ გაუმჯობესებაში. GitHub-ზე რედაქტირება

Desktop განაწილება ​

Fenfa desktop აპლიკაციებს (macOS, Windows, Linux) პირდაპირი ფაილის ჩამოტვირთვების მეშვეობით ანაწილებს. Desktop მომხმარებლები პროდუქტის გვერდს ეწვევიან, ჩამოტვირთვის ღილაკს დააჭერენ და პლატფორმისთვის installer ფაილს იღებენ.

მხარდაჭერილი ფორმატები ​

პლატფორმაგავრცელებული ფორმატებიშენიშვნა
macOS.dmg, .pkg, .zipDMG disk image-ებისთვის, PKG installer-ებისთვის, ZIP app bundle-ებისთვის
Windows.exe, .msi, .zipEXE installer-ებისთვის, MSI Windows Installer-ისთვის, ZIP portable-ისთვის
Linux.deb, .rpm, .appimage, .tar.gzDEB Debian/Ubuntu-სთვის, RPM Fedora/RHEL-ისთვის, AppImage universal-ისთვის

Desktop Variant-ების კონფიგურაცია ​

შექმენით variant-ები მხარდაჭერილი ყოველი პლატფორმა-არქიტექტურის კომბინაციისთვის:

macOS ​

bash
# Apple Silicon
curl -X POST http://localhost:8000/admin/api/products/prd_abc123/variants \
  -H "X-Auth-Token: YOUR_ADMIN_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "platform": "macos",
    "display_name": "macOS (Apple Silicon)",
    "identifier": "com.example.myapp",
    "arch": "arm64",
    "installer_type": "dmg",
    "min_os": "12.0"
  }'

# Intel
curl -X POST http://localhost:8000/admin/api/products/prd_abc123/variants \
  -H "X-Auth-Token: YOUR_ADMIN_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "platform": "macos",
    "display_name": "macOS (Intel)",
    "identifier": "com.example.myapp",
    "arch": "x86_64",
    "installer_type": "dmg",
    "min_os": "12.0"
  }'

Universal ბინარული

Universal macOS ბინარულის build-ის შემთხვევაში შექმენით ერთი variant arch: "universal"-ით ცალ-ცალკე arm64 და x86_64 variant-ების ნაცვლად.

Windows ​

bash
curl -X POST http://localhost:8000/admin/api/products/prd_abc123/variants \
  -H "X-Auth-Token: YOUR_ADMIN_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "platform": "windows",
    "display_name": "Windows",
    "identifier": "com.example.myapp",
    "arch": "x64",
    "installer_type": "exe",
    "min_os": "10"
  }'

Linux ​

bash
# DEB for Debian/Ubuntu
curl -X POST http://localhost:8000/admin/api/products/prd_abc123/variants \
  -H "X-Auth-Token: YOUR_ADMIN_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "platform": "linux",
    "display_name": "Linux (DEB)",
    "identifier": "com.example.myapp",
    "arch": "x86_64",
    "installer_type": "deb"
  }'

# AppImage (universal)
curl -X POST http://localhost:8000/admin/api/products/prd_abc123/variants \
  -H "X-Auth-Token: YOUR_ADMIN_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "platform": "linux",
    "display_name": "Linux (AppImage)",
    "identifier": "com.example.myapp",
    "arch": "x86_64",
    "installer_type": "appimage"
  }'

პლატფორმის გამოვლენა ​

Fenfa-ს პროდუქტის გვერდი ვიზიტორის OS-ს User-Agent-ის მეშვეობით გამოავლენს და ემთხვევა ჩამოტვირთვის ღილაკს პირველ ადგილზე გამოიყვანს. Desktop მომხმარებლები პლატფორმის variant-ს ზევით ხედავს, სხვა პლატფორმები ქვევით ხელმისაწვდომია.

Desktop Build-ების ატვირთვა ​

ატვირთვა მობილური პლატფორმებისნაირად მუშაობს:

bash
curl -X POST http://localhost:8000/upload \
  -H "X-Auth-Token: YOUR_UPLOAD_TOKEN" \
  -F "variant_id=var_macos_arm64" \
  -F "[email protected]" \
  -F "version=2.0.0" \
  -F "build=200" \
  -F "changelog=Native Apple Silicon support"

Desktop-ისთვის ავტო-გამოვლენა არ არის

iOS IPA და Android APK ფაილებისგან განსხვავებით, desktop ბინარული ფაილები (DMG, EXE, DEB და სხვ.) სტანდარტიზებულ metadata-ს არ შეიცავს, Fenfa-ს ავტო-ამოიღება არ შეუძლია. Desktop build-ების ატვირთვისას ყოველთვის მიუთითეთ version და build explicitly.

CI/CD ინტეგრაციის მაგალითი ​

GitHub Actions workflow, რომელიც ყველა desktop პლატფორმისთვის build-ებს ატვირთავს:

yaml
jobs:
  upload:
    strategy:
      matrix:
        include:
          - platform: macos
            variant_id: var_macos_arm64
            file: dist/MyApp-arm64.dmg
          - platform: windows
            variant_id: var_windows_x64
            file: dist/MyApp-Setup.exe
          - platform: linux
            variant_id: var_linux_x64
            file: dist/MyApp.AppImage
    steps:
      - name: Upload to Fenfa
        run: |
          curl -X POST ${{ secrets.FENFA_URL }}/upload \
            -H "X-Auth-Token: ${{ secrets.FENFA_UPLOAD_TOKEN }}" \
            -F "variant_id=${{ matrix.variant_id }}" \
            -F "app_file=@${{ matrix.file }}" \
            -F "version=${{ github.ref_name }}" \
            -F "build=${{ github.run_number }}"

შემდეგი ნაბიჯები ​

Released under the Apache-2.0 License.