Skip to content
تم إنشاء هذه الصفحة وترجمتها بمساعدة الذكاء الاصطناعي. إذا لاحظت أي أخطاء، لا تتردد في المساهمة في تحسينها. تعديل على GitHub

الإصدارات

الإصدار يمثل بناءً محدداً مرفوعاً لمتغير. في كل مرة ترفع فيها IPA أو APK أو مثبّت سطح مكتب، يُنشئ Fenfa سجل إصدار.

حقول الإصدار

الحقلالوصف
idمعرف الإصدار (rel_ + سلسلة عشوائية)
variant_idالمتغير الذي ينتمي إليه هذا الإصدار
versionسلسلة الإصدار (مثلاً "1.2.0")
buildرقم البناء (عدد صحيح)
changelogملاحظات الإصدار
min_osالحد الأدنى لإصدار نظام التشغيل
channelقناة التوزيع (مثلاً "internal", "beta")
size_bytesحجم الملف بالبايتات
sha256مجموع SHA-256 للملف
download_countإجمالي عدد التنزيلات
file_nameاسم الملف الأصلي
file_extامتداد الملف
created_atطابع زمني للرفع

رفع إصدار

الرفع العادي

bash
curl -X POST http://localhost:8000/upload \
  -H "X-Auth-Token: YOUR_UPLOAD_TOKEN" \
  -F "variant_id=var_def456" \
  -F "app_file=@build/MyApp.ipa" \
  -F "version=1.2.0" \
  -F "build=120" \
  -F "channel=beta" \
  -F "min_os=15.0" \
  -F "changelog=إصلاح الأخطاء وتحسينات الأداء"

الرفع الذكي

يستخرج الرفع الذكي البيانات الوصفية تلقائياً من ملفات IPA وAPK:

bash
curl -X POST http://localhost:8000/admin/api/smart-upload \
  -H "X-Auth-Token: YOUR_ADMIN_TOKEN" \
  -F "variant_id=var_def456" \
  -F "app_file=@build/MyApp.ipa"

البيانات المستخرجة تشمل:

  • IPA: معرف الحزمة، الإصدار (CFBundleShortVersionString)، رقم البناء (CFBundleVersion)، الأيقونة، الحد الأدنى لإصدار iOS
  • APK: اسم الحزمة، اسم الإصدار، رمز الإصدار، الأيقونة، الحد الأدنى لإصدار SDK

أولوية الحقول المصرّح بها

الحقول المصرّح بها صراحةً تتجاوز القيم المستخرجة تلقائياً. هذا يسمح لك بتجاوز البيانات الوصفية للحزمة عند الحاجة.

حقول الرفع

الحقلمطلوبالنوعالوصف
variant_idنعمstringمعرف المتغير الهدف
app_fileنعمملفالملف الثنائي (IPA، APK، DMG، EXE، إلخ.)
versionلاstringسلسلة الإصدار
buildلاintegerرقم البناء
channelلاstringقناة التوزيع
min_osلاstringالحد الأدنى لإصدار نظام التشغيل
changelogلاstringنص ملاحظات الإصدار

بنية مسار تخزين الملفات

uploads/
  {product_id}/
    {variant_id}/
      {release_id}/
        filename.ipa

روابط التنزيل

URLالوصف
/d/:releaseIDرابط التنزيل المباشر للملف
/ios/:releaseID/manifest.plistملف manifest XML لـ iOS OTA
/products/:slugصفحة تنزيل المنتج العامة

حذف إصدار

bash
curl -X DELETE http://localhost:8000/admin/api/releases/rel_b1cqa \
  -H "X-Auth-Token: YOUR_ADMIN_TOKEN"

يحذف الإصدار وملفه الثنائي المرفوع.

تصدير CSV

bash
curl -o releases.csv http://localhost:8000/admin/exports/releases.csv \
  -H "X-Auth-Token: YOUR_ADMIN_TOKEN"

مثال تكامل CI/CD

خطوة GitHub Actions لرفع iOS بعد البناء الناجح:

yaml
- name: Upload to Fenfa
  run: |
    RESPONSE=$(curl -s -X POST ${{ secrets.FENFA_URL }}/upload \
      -H "X-Auth-Token: ${{ secrets.FENFA_UPLOAD_TOKEN }}" \
      -F "variant_id=${{ secrets.FENFA_IOS_VARIANT }}" \
      -F "app_file=@build/MyApp.ipa" \
      -F "version=${{ github.ref_name }}" \
      -F "build=${{ github.run_number }}" \
      -F "changelog=${{ github.event.head_commit.message }}")
    echo "Download URL: $(echo $RESPONSE | jq -r '.data.urls.page')"

الخطوات التالية

Released under the Apache-2.0 License.