Deliver (Fastlane) — nó là gì, tải lên App Store và cấu hình trong phát triển iOS và Android

Tác giả: IT Sectr Đã đăng: 2026-04-15 Thời gian đọc: 10 phút

Deliver (Fastlane) là công cụ tải ứng dụng lên App Store Connect: tệp nhị phân, siêu dữ liệu, ảnh chụp màn hình và giá cả. Không giống như xuất bản thủ công qua giao diện web App Store Connect, Deliver tự động hóa tất cả các giai đoạn phát hành chỉ bằng một lệnh duy nhất. Theo tài liệu chính thức của Fastlane (2026), Deliver giảm thời gian xuất bản bản phát hành từ 40 phút xuống còn vài giây.

Những điểm chính

  • Deliver là tiện ích Fastlane để tự động tải ứng dụng, siêu dữ liệu và ảnh chụp màn hình lên App Store Connect.
  • Công cụ hỗ trợ tải lên tệp IPA nhị phân, quản lý mô tả, từ khóa và nhóm giá thông qua API App Store Connect.
  • Ảnh chụp màn hình được tải lên tự động cho tất cả thiết bị và ngôn ngữ — Deliver tự khớp kích thước ảnh chụp với yêu cầu của Apple cho từng loại màn hình.
  • Cấu hình được thực hiện qua tệp Deliverfile, nơi chỉ định siêu dữ liệu ứng dụng, nhóm giá và đường dẫn đến ảnh chụp màn hình.
  • Xem trước thay đổi qua lệnh deliver --force với cờ --preview cho phép kiểm tra siêu dữ liệu trước khi tải lên App Store thực tế.

Deliver (Fastlane) là gì?

Deliver (Fastlane) là thành phần của hệ sinh thái Fastlane tự động hóa quy trình xuất bản ứng dụng di động lên App Store. Nó quản lý việc tải lên tệp nhị phân, cập nhật siêu dữ liệu (tên, mô tả, từ khóa), tải lên ảnh chụp màn hình và cấu hình giá cho tất cả ngôn ngữ bản địa hóa.

Không có Deliver, mỗi bản phát hành yêu cầu cập nhật thủ công thông tin qua giao diện web App Store Connect: điền mô tả bằng nhiều ngôn ngữ, tải lên ảnh chụp màn hình cho từng kích thước màn hình, cập nhật từ khóa và cấu hình giá. Xuất bản lên App Store là giai đoạn cuối của vòng đời ứng dụng iOS, bao gồm xác minh tệp nhị phân, kiểm duyệt nội dung và đưa ứng dụng vào sản xuất.

Theo Tài liệu App Store Connect (2025), các ứng dụng có bản cập nhật thường xuyên nhận được lượng cài đặt lại nhiều hơn 30% và xếp hạng tốt hơn trong kết quả tìm kiếm. Deliver cho phép nhóm phát hành bản cập nhật hàng tuần bằng cách tự động hóa các bước xuất bản thông thường và giảm rủi ro lỗi của con người khi điền siêu dữ liệu bằng hàng chục ngôn ngữ.

Sử dụng Deliver cho bất kỳ ứng dụng nào được xuất bản trên App Store — đặc biệt có giá trị cho các dự án có bản địa hóa đa ngôn ngữ, nơi việc cập nhật thủ công 32 ngôn ngữ mất vài giờ.

Deliver hoạt động với App Store Connect như thế nào

Cơ chế hoạt động của Deliver được xây dựng dựa trên quy trình hai giai đoạn. Ở giai đoạn đầu tiên, công cụ chuẩn bị siêu dữ liệu — xác thực cấu trúc Deliverfile, tải ảnh chụp màn hình và tạo bảng kê thay đổi. Ở giai đoạn thứ hai, Deliver gửi dữ liệu đến API App Store Connect, tải lên tệp nhị phân và bắt đầu quy trình xác minh bản dựng phía Apple.

Deliver sử dụng API App Store Connect cho tất cả các thao tác, đảm bảo tương thích với các yêu cầu mới nhất của Apple và loại bỏ việc sử dụng giao diện riêng. API App Store Connect là API REST chính thức của Apple để tự động hóa các thao tác với ứng dụng, bao gồm tải lên bản dựng, quản lý siêu dữ liệu và theo dõi trạng thái đánh giá.

Tải lên tệp nhị phân

Deliver tích hợp trực tiếp với Gym qua Fastlane: sau khi xây dựng IPA, Deliver tải nó lên App Store Connect và bắt đầu xử lý. Tham số --ipa chỉ định đường dẫn đến tệp nhị phân. Nếu không được chỉ định, Deliver tự động tìm IPA mới nhất trong thư mục xây dựng được chỉ định trong Gymfile hoặc được truyền qua các bước Fastlane trước đó.

Sau khi tải lên, Deliver chờ Apple hoàn tất xử lý tệp nhị phân — tương tự Pilot, trạng thái được theo dõi qua thanh tiến trình. Các trạng thái có sẵn: Processing, Waiting For Review, In Review, Ready For Sale hoặc Rejected. Deliver thông báo cho nhóm về mỗi thay đổi trạng thái qua callback trong Fastfile.

Quản lý siêu dữ liệu ứng dụng

Deliver quản lý toàn bộ siêu dữ liệu của ứng dụng: tên, mô tả (ngắn và đầy đủ), từ khóa, URL hỗ trợ và tiếp thị, danh mục và xếp hạng độ tuổi. Siêu dữ liệu ứng dụng là thông tin văn bản về ứng dụng được hiển thị trên trang App Store và được sử dụng để lập chỉ mục tìm kiếm và tối ưu hóa ASO.

Tham số --submit_for_review gửi ứng dụng đi kiểm duyệt ngay sau khi tải lên siêu dữ liệu. Đây là tham số quan trọng cho các bản phát hành hoàn toàn tự động. Nếu không có nó, Deliver chỉ tải lên dữ liệu nhưng không gửi ứng dụng đi đánh giá — hữu ích để kiểm tra trước tất cả các trường trước khi gửi thực tế.

Làm việc với ảnh chụp màn hình

Deliver tự động tải lên ảnh chụp màn hình cho tất cả các tổ hợp thiết bị và ngôn ngữ từ thư mục được chỉ định. Tên tệp phải tuân theo mẫu: iPhone_6.5_01.png cho iPhone 6.5 inch ở khe đầu tiên. Deliver xác định kích thước ảnh chụp và khớp nó với yêu cầu của Apple cho từng loại thiết bị.

Ảnh chụp màn hình được tải lên theo đúng thứ tự và riêng biệt cho từng ngôn ngữ bản địa hóa. Nếu không tìm thấy ảnh chụp cho một ngôn ngữ, Deliver sử dụng phiên bản tiếng Anh làm phương án dự phòng. Bản địa hóa ảnh chụp màn hình là yêu cầu bắt buộc đối với các ứng dụng muốn xếp hạng tốt trên App Store ở các quốc gia khác nhau, vì Apple xem xét nội dung địa phương trong kết quả tìm kiếm.

bash
# Lệnh tải lên cơ bản lên App Store
fastlane deliver

# Tải lên với siêu dữ liệu và ảnh chụp được chỉ định
fastlane deliver --ipa "build/MyApp.ipa" \
      --force --submit_for_review

# Xem trước không tải lên
fastlane deliver --preview

Cấu hình Deliver qua Deliverfile

Deliverfile là tệp cấu hình Fastlane để lưu trữ siêu dữ liệu ứng dụng ở định dạng Ruby có cấu trúc. Không giống như điền biểu mẫu thủ công trong App Store Connect, Deliverfile cho phép quản lý phiên bản siêu dữ liệu trong Git và xác minh thay đổi qua đánh giá mã trước khi xuất bản.

ruby
# Deliverfile — siêu dữ liệu ứng dụng
app_identifier("com.company.app")
title("MyApp")
description("Mô tả ứng dụng cho cửa hàng")
keywords("di động, ứng dụng, ios, swift")
support_url("https://company.com/support")
marketing_url("https://company.com")
privacy_url("https://company.com/privacy")

# Ngôn ngữ bản địa hóa siêu dữ liệu
languages(["en-US", "ru", "de"])

Tham số languages xác định ngôn ngữ nào sẽ có siêu dữ liệu được tải lên. Một thư mục riêng phải được tạo cho mỗi ngôn ngữ trong thư mục fastlane/metadata với các tệp mô tả, từ khóa và văn bản tiếp thị tương ứng. Deliver hỗ trợ đồng thời tối đa 32 ngôn ngữ App Store.

Để tải lên ảnh chụp màn hình, sử dụng thư mục screenshots bên trong thư mục Fastlane. Cấu trúc thư mục: screenshots/[Language]/[DeviceType]_[ScreenSize]_[Number].png. Deliver tự động tải lên ảnh chụp cho các ngôn ngữ và thiết bị được chỉ định, khớp kích thước với yêu cầu của Apple. Nên sử dụng Snapshot để tạo ảnh chụp màn hình — định dạng đầu ra của chúng tương thích với Deliver.

Nhóm giá được cấu hình qua tham số price_tier, chấp nhận số cấp giá từ 0 đến 87. Các cấp giá của Apple tự động được chuyển đổi sang tiền tệ của tất cả các quốc gia hiện diện. Deliver cho phép thay đổi giá trong khuôn khổ bản phát hành, hữu ích cho các chương trình khuyến mãi tạm thời hoặc thay đổi mô hình kinh doanh của ứng dụng.

Lệnh Deliver để xuất bản ứng dụng

Giao diện Deliver bao gồm các lệnh để tải lên siêu dữ liệu, tệp nhị phân, ảnh chụp màn hình và bản phát hành đầy đủ. Lệnh chính fastlane deliver không có tham số sử dụng dữ liệu từ Deliverfile và thư mục siêu dữ liệu cho chu trình xuất bản hoàn chỉnh.

Lệnh fastlane deliver --preview chạy xác minh siêu dữ liệu sơ bộ mà không thực sự tải lên App Store Connect. --force cần thiết để tải lên — nếu không có nó, Deliver hoạt động ở chế độ xem trước. Tham số --skip_binary chỉ tải lên siêu dữ liệu và ảnh chụp màn hình, bỏ qua tải lên tệp nhị phân — tiện lợi để cập nhật nhanh các trường ASO mà không cần bản phát hành mới.

bash
# Phát hành đầy đủ với tải lên tệp nhị phân
fastlane deliver --force --ipa "build/App.ipa"

# Chỉ tải lên siêu dữ liệu không có tệp nhị phân
fastlane deliver --force --skip_binary

# Chỉ cập nhật ảnh chụp màn hình
fastlane deliver --force --skip_metadata

Tham số --skip_metadata chỉ tải lên ảnh chụp màn hình và tệp nhị phân, giữ nguyên siêu dữ liệu hiện có. Điều này hữu ích cho các bản phát hành hotfix khi cần nhanh chóng xuất bản bản sửa lỗi mà không thay đổi mô tả và trường ASO. Sự kết hợp các cờ cho phép quản lý linh hoạt từng giai đoạn xuất bản riêng biệt.

Lệnh DeliverMục đíchCờ
deliverXuất bản đầy đủ với siêu dữ liệu và tệp nhị phân--force, --ipa
deliver --skip_binaryChỉ cập nhật siêu dữ liệu và ảnh chụp màn hình--force
deliver --skip_metadataTải lên tệp nhị phân và ảnh chụp mà không thay đổi ASO--force, --ipa
deliver --previewXác minh siêu dữ liệu sơ bộkhông --force
deliver --submit_for_reviewTự động gửi đi kiểm duyệt--force, --ipa

Tích hợp Deliver vào quy trình phát hành

Quy trình phát hành với Deliver là quy trình CI/CD hoàn chỉnh cho iOS tự động hóa tất cả các giai đoạn từ commit đến xuất bản lên App Store. Một quy trình điển hình bao gồm: Match cho chứng chỉ, Gym cho bản dựng IPA, Snapshot cho ảnh chụp màn hình và Deliver để tải tất cả dữ liệu lên App Store Connect và gửi đi kiểm duyệt.

Một tính năng quan trọng của Deliver trong quy trình là hỗ trợ metadata.json, lưu trữ siêu dữ liệu ở định dạng JSON có cấu trúc. Điều này cho phép tạo siêu dữ liệu theo chương trình từ hệ thống CMS bên ngoài hoặc tự động tạo mô tả bằng nhiều ngôn ngữ qua API dịch thuật.

bash
# Quy trình phát hành trong Fastfile
lane :release do
    match(type: :appstore)
    capture_screenshots
    gym(scheme: "MyApp", export_method: "app-store")
    deliver(ipa: "build/MyApp.ipa", force: true, submit_for_review: true)
end

Trước khi gọi Deliver trong quy trình, hãy đảm bảo tất cả siêu dữ liệu đã được cập nhật: mô tả phù hợp với phiên bản mới, ảnh chụp màn hình được cập nhật cho các tính năng mới và nhóm giá không cần thay đổi. Submit for review gửi ứng dụng đi kiểm duyệt Apple, mất 24 đến 48 giờ cho ứng dụng mới và 2 đến 12 giờ cho bản cập nhật.

Deliver hỗ trợ cơ chế app_version, cho phép chỉ định phiên bản mục tiêu cho các bản cập nhật siêu dữ liệu. Nếu không chỉ định phiên bản, Deliver cập nhật phiên bản đang hoạt động hiện tại của ứng dụng trong App Store Connect. Để phát hành phiên bản mới, trước tiên cần tạo phiên bản tương ứng qua giao diện App Store Connect hoặc API.

Lỗi thường gặp khi làm việc với Deliver

Khi sử dụng Deliver, các nhà phát triển thường gặp lỗi xác thực siêu dữ liệu, cấu trúc tệp ảnh chụp màn hình không chính xác và vấn đề xác thực. Chẩn đoán lỗi trong Deliver bắt đầu bằng phân tích nhật ký lệnh — Deliver xuất thông tin chi tiết về từng giai đoạn tải lên và lý do từ chối.

Lỗi “Invalid screenshot path” xảy ra khi cấu trúc thư mục ảnh chụp màn hình không khớp với định dạng mong đợi. Giải pháp: kiểm tra tên tệp ảnh chụp màn hình tuân theo mẫu DeviceType_ScreenSize_Number.png (ví dụ AppleiPhone15ProMax_6.7_01.png). Deliver phân biệt chữ hoa chữ thường và nhạy cảm với dấu phân cách trong tên tệp.

Lỗi “Metadata validation failed” cho biết siêu dữ liệu không đáp ứng yêu cầu của App Store. Giải pháp: kiểm tra độ dài mô tả (tối đa 4000 ký tự), từ khóa (tối đa 100 ký tự) và tên (tối đa 30 ký tự). Hướng dẫn đánh giá App Store chứa các yêu cầu đầy đủ cho từng trường siêu dữ liệu — nên kiểm tra chúng trước mỗi bản phát hành.

Với lỗi “Apple ID not found”, ứng dụng không tồn tại trong App Store Connect với apple_identifier được chỉ định. Giải pháp: tạo mục nhập ứng dụng trong App Store Connect qua giao diện web trước lần gọi Deliver đầu tiên, chỉ định Bundle Identifier và tên. Deliver không tạo ứng dụng mới — nó chỉ cập nhật các mục nhập hiện có trong cửa hàng.

Câu hỏi thường gặp

Deliver có thể tải lên ứng dụng cho iPad và macOS không?

Có, Deliver hỗ trợ tải lên ứng dụng cho iOS, iPadOS, macOS, tvOS và watchOS. Mỗi loại ứng dụng yêu cầu chỉ định tệp IPA chính xác được xây dựng cho nền tảng tương ứng. Deliver tự động xác định nền tảng từ bản ghi ứng dụng trong App Store Connect.

Deliver xử lý bản địa hóa cho 32 ngôn ngữ như thế nào?

Deliver đọc siêu dữ liệu cho mỗi ngôn ngữ từ thư mục fastlane/metadata/[lang]. Nếu không tìm thấy tệp cho một ngôn ngữ, Deliver sử dụng giá trị tiếng Anh làm phương án dự phòng. Ảnh chụp màn hình được tải lên riêng cho từng ngôn ngữ từ thư mục screenshots/[lang].

Tôi có cần tắt xác thực hai yếu tố cho Deliver không?

Không, bạn không cần tắt xác thực hai yếu tố. Deliver sử dụng Khóa API App Store Connect để xác thực, hoạt động độc lập với 2FA. Khóa API được tạo trong App Store Connect và cho phép thực hiện tất cả các thao tác mà không cần xác nhận tương tác.

Làm cách nào để hủy bản cập nhật đã gửi đi đánh giá qua Deliver?

Sử dụng lệnh fastlane deliver --reject, lệnh này rút lại ứng dụng đã gửi đi kiểm duyệt. Điều này chỉ khả thi nếu quá trình đánh giá chưa bắt đầu — sau khi đánh giá bắt đầu, bản cập nhật chỉ có thể bị hủy qua giao diện web App Store Connect.

Sự khác biệt giữa Deliver và Pilot trong hệ sinh thái Fastlane là gì?

Pilot quản lý bản dựng beta trong TestFlight: tải lên tệp nhị phân, phân phối cho nhóm người thử nghiệm. Deliver xử lý xuất bản sản xuất: tải lên siêu dữ liệu, ảnh chụp màn hình và tệp nhị phân lên App Store cho người dùng cuối. Pilot dành cho thử nghiệm beta, Deliver dành cho phát hành.

Tổng kết

  • Deliver là tiện ích Fastlane để tự động xuất bản ứng dụng lên App Store với hỗ trợ tệp nhị phân, siêu dữ liệu và ảnh chụp màn hình.
  • Deliverfile lưu trữ siêu dữ liệu ở định dạng Ruby có thể quản lý phiên bản: mô tả, từ khóa, URL, nhóm giá và ngôn ngữ bản địa hóa để tối ưu hóa ASO.
  • Ảnh chụp màn hình được tải lên tự động cho tất cả tổ hợp thiết bị và ngôn ngữ từ thư mục có cấu trúc theo mẫu DeviceType_Size_Number.png.
  • Lệnh chính: deliver cho bản phát hành đầy đủ, --skip_binary cho cập nhật siêu dữ liệu và --preview cho xác minh sơ bộ không tải lên.
  • Tích hợp CI/CD qua Fastfile kết hợp Match, Snapshot, Gym và Deliver thành một quy trình phát hành duy nhất từ commit đến App Store.
  • Các lỗi Deliver thường gặp liên quan đến cấu trúc ảnh chụp không chính xác, vượt quá giới hạn siêu dữ liệu và thiếu bản ghi ứng dụng trong App Store Connect.

Chúng tôi sẽ phát triển ứng dụng di động chìa khóa trao tay

IT Sectr tạo các ứng dụng iOS và Android cho các công ty khởi nghiệp và doanh nghiệp từ năm 2017. Chúng tôi sẽ tư vấn và đề xuất giải pháp tốt nhất cho bạn.

Thảo luận dự án

Đọc thêm