Kể anh em nghe chuyện submit app lên store và sự khác biệt giữa Apple với Google

Duy Luân
30/4/2016 4:17Phản hồi: 246
Kể anh em nghe chuyện submit app lên store và sự khác biệt giữa Apple với Google
App là thứ mà anh em xài mỗi ngày, dù cho máy anh em đang cầm có là iPhone, iPad hay Android đi nữa thì ứng dụng là thứ không thể nào thiếu để mang tới một trải nghiệm đầy đủ nhất. Tuy nhiên, thứ làm mình thắc mắc từ đó đến giờ là quy trình "nộp" app lên cho Apple và Google ra sao, các bạn lập trình viên phải làm gì, chờ bao nhiêu ngày. Mình cũng nghe nói là Apple duyệt khó hơn Google, nhưng khó là khó ra sao thì không có ai trả lời đầy đủ được cho mình cả. Hên cái là mấy tháng vừa qua mình có dịp làm app và submit app, vậy nên cũng biết được kha khá điều hay để trả lời cho những câu hỏi, sẵn tiện kể luôn cho anh em Tinh tế biết. Yên tâm, mình chẳng nói code hay gì phức tạp đâu, chỉ nói về quy trình tạo ra file cài rồi xét duyệt của Apple với Google thôi.

Dài quá lười đọc thì mời xem tóm tắt:
  • File IPA và APK có thể được tạo rất đơn giản
  • Icon cho app phải có nhiều kích cỡ khác nhau để cho các máy, màn hình và độ phân giải khác nhau
  • App trước khi lên store phải được lập trình viên "kí" xác thực bằng một chiếc chìa khóa riêng, cả Android lẫn iOS
  • Bên Android, nếu lập trình viên làm mất chìa khóa này thì xem như mất app, không thể up các bản cập nhật lên store
  • Tên định danh của các app thường là tên miền lật ngược, ví dụ vn.tinhte.app hoặc com.facebook.app
  • Apple xét duyệt ứng dụng kĩ hơn Google rất nhiều, thời gian cũng lâu hơn nhiều
  • App dùng trong doanh nghiệp được phân phối theo kiểu riêng, không lên Store mà sẽ cài thẳng
Bài dài, chi tiết hơn:

Đầu tiên hãy nói về quy trình tạo ra file *.ipa (iOS) và *.apk (Android). IPA là định dạng file cài ứng dụng của iOS, trong khi APK là của Android. Để tạo được file đó, sau khi đã viết app hoàn chỉnh và kiểm tra kĩ càng, các bạn lập trình viên sẽ bấm 1 nút để xuất thành file, vậy là xong. Trước đây mình cứ tưởng là phải gõ dòng lệnh này nọ kinh khủng lắm, nhưng thật ra Apple và Google hỗ trợ việc tạo file này vô cùng dễ dàng. Bên Android bạn cũng có thể gõ dòng lệnh, cũng dễ thôi, chỉ vài chữ là ổn.

Một yêu cầu nữa của cả Apple và Google là bạn phải cung cấp đủ icon cho app với nhiều kích cỡ khác nhau, mục đích là để iOS / Android hiển thị icon cho từng máy tùy theo kích thước và độ phân giải màn hình. Yêu cầu này cực kì khắt khe và bạn phải làm đúng như vậy, không được sai, sai thì chia tay, khỏi lên store. Bên Windows Microsoft cũng yêu cầu tương tự.

App_icon_da_dang.png

Nhưng anh em có biết làm thế nào mà Apple và Google có thể đảm bảo rằng file IPA hay APK mà anh em cài vào máy không bị chỉnh sửa? Hai hãng dùng một quy trình gọi là sign, trong đó bạn lập trình viên sẽ sử dụng một "chứng chỉ", hay còn gọi là một "khóa", để nhúng vào trong file. Khóa này sẽ khác nhau với từng nhà phát triển, từng công ty, không ai giống ai, vậy nên mới đảm bảo được tính an toàn. Để sở hữu được cái khóa đó, ở bên Apple bạn sẽ phải trả phí ít nhất là 99$ mỗi năm, còn bên Google phí đăng kí là 25$. Riêng với Google, bạn mà làm mất đi cái khóa này là coi như tiêu, app của bạn sẽ không bao giờ có thể update tiếp, bạn buộc phải tạo thành một app mới hoàn toàn dù cho nội dung chả thay đổi gì, thông tin trên Store về số lượng download hay đánh giá cũng mất hết.

Sau khi đã có được file IPA và APK trong tay, các bạn developer sẽ bắt đầu quá trình nộp (submit) app lên App StorePlay Store để phân phối đến người dùng. Mỗi app khi submit sẽ phải chọn một cái tên duy nhất, gọi là identifier. Tên này bắt buộc phải là độc nhất trên toàn bộ cửa hàng, ngay cả công ty bạn làm nhiều app thì cũng không được xài tên giống nhau. Identifier thường được đặt với dạng lật ngược lại của tên miền website.

Ví dụ ứng dụng cho Tinh tế sẽ là vn.tinhte.app, ứng dụng Facebook sẽ làm com.facebook.<tên app>. Lý do làm như vậy là để đảm bảo tên của bạn không bị trùng với người khác (lỡ chọn trùng thì Apple / Google sẽ báo và bạn không được phép xài tên đó). Lưu ý, identifer không giống với tên hiển thị mà bạn thấy trên Store. Tên hiển thị có thể trùng nhau, ví dụ có thể có 100 app tên là "xếp hình", nhưng chắc chắn 100 app đó có identifier khác nhau cả.

Ten_app.png

Sau khi đã upload file IPA / APK lên rồi thì bạn lập trình viên sẽ bắt đầu viết mô tả, chụp ảnh screenshot cho app, đăng video.... Nói chung là mấy công việc hành chính đơn giản. Nhưng việc này nếu không cẩn thận cũng sẽ mất rất nhiều thời gian. Ví dụ, ảnh screenshot sẽ được yêu cầu đúng độ phân giải bao nhiêu đó, ảnh minh họa banner cũng phải đúng nếu không sẽ không được duyệt và bạn không thể tiếp tục. Riêng Apple bắt buộc bạn phải đăng đủ screenshot cho cả iPhone 3,5", 4", 4,7" và 5,5", tương tự cho iPad.

Bạn cũng phải chọn đánh giá nội dung, chẳng hạn như app của bạn có chứa nội dung khiêu dâm, bạo lực hay ngôn từ tục tĩu gì hay không. Những bài đánh giá này đều sử dụng câu hỏi do IARC đưa ra, đây là tổ chức chuyên đánh giá về nội dung số. Microsoft cũng dùng chung bảng câu hỏi của IARC.

Giờ tới giai đoạn căng thẳng nhất: xét duyệt app. Việc xét duyệt này tất nhiên do đội ngũ của Apple và Google thực hiện, bạn chẳng thể can thiệp được gì. Apple họ review rất rất kĩ, có thể mất đến 10 ngày ứng dụng của bạn mới được chấp thuận, nhưng cũng có thể là bị từ chối (sẽ nói thêm bên dưới). Google thì nhanh hơn, app lâu nhất mà mình từng thấy là 2 ngày, còn có app của mình chỉ 1 ngày là lên Play Store rồi.

Quảng cáo


Trong quá trình submit 3 ứng dụng của mình lên Store, mình có thể thấy rõ sự khác biệt về xét duyệt giữa Apple và Play Store. Đầu tiên là nội dung, Apple xem kĩ từng nội dung một trong app của bạn, bạn cũng phải cung cấp tài khoản đăng nhập nếu app của bạn cần một số tài khoản đặc biệt để unlock những món đồ hay tính năng nào đó. 1 trong các app của mình viết là app nội bộ công ty xài, đưa lên Apple họ từ chối ngay, lý do là app nội bộ thì phải xài một dạng phân phối khác, không cho lên Store. Trong khi đó, với cùng app này thì bên Play Store cho lên ngay trong vòng 1 nốt nhạc.

Thứ hai, Apple họ cũng xem xét rất kĩ những thứ mà app bạn sẽ hiện lên trong tương lai chứ không chỉ là hiện tại. Mình có làm 1 app nghe và tải nhạc, Apple gửi email hỏi ngay là mình có giấy tờ gì chứng minh bản nhạc mình đưa lên app là có bản quyền hay không. Mình phải gửi giấy tờ đầy đủ thì Apple mới chịu cho qua và lên Store. Trong khi đó, bên Google Play thì cũng lên ngay mà không thấy hỏi gì thêm.

Hinh_nen_screenshot_App_Store.png

Một khi app đã được Apple và Google duyệt xong, app sẽ được đưa lên store ngay hoặc hẹn giờ lên tùy ý muốn của bạn lập trình viên. Một số tình huống mà bạn muốn hẹn giờ để publish app có thể là bạn muốn làm một thông báo nào đó thật to lớn về ứng dụng của mình mà không cho ai biết trước để tạo bất ngờ, hoặc để sử dụng cho mục đích quảng bá và chạy chiến dịch quảng cáo nào đó.

Sẵn đây kể luôn cho anh em biết là app nội bộ chỉ cho công ty xài thì sẽ phân phối như thế nào? Play Store thì cho lên thẳng, thoải mái, chẳng check gì. Trong khi đó, Apple có mọi chương trình gọi là Apple Enterprise Developer, giá lên tới 299$ / năm, trong khi tài khoản Apple Developer thường chỉ là 99$ / năm. Tài khoản Enterprise có tất cả chức năng như tài khoản thường, cộng thêm khả năng phân phối ứng dụng mà không cần thông qua App Store. Lúc đó, bạn chỉ cần dẫn người dùng tới link cài đặt có nhúng file IPA là xong. Tất nhiên, người dùng sẽ phải cho phép chứng chỉ bảo mật của tài khoản Enterprise thì app mới có thể hoạt động. Hiện tại một số kho app bẻ khóa cũng đang dùng kiểu này để cài app lậu.

Kết lại, mình muốn nói là Google cần phải làm tốt hơn khâu kiểm duyệt của mình để đảm bảo chất lượng app lên Play Store cũng cao như là App Store. Đội ngũ review của Google cũng phải kĩ tính hơn để những nội dung xấu, các app malware hoặc những phần mềm phát tán nội dung không bản quyền không có cửa lên được cửa hàng. Có như vậy thì chất lượng app Android trên Play Store mới được nâng lên cao. Mình rất ủng hộ cách làm khắt khe của Apple, tuy nó làm cho lập trình viên cực nhọc hơn nhưng trải nghiệm cuối cùng của người dùng sẽ tốt và ngon, từ những chi tiết nhỏ cho đến tổng thể app.
246 bình luận
Chia sẻ

Xu hướng

giờ mình mới biết điều này
Read Only
TÍCH CỰC
8 năm
Apple review cũng linh tinh lắm, hôm nào hứng thì chưa mất 1 ngày là xong, buồn buồn thì om cả tuần rồi bị reject là chuyện thường 😁
lee_rae_ri
ĐẠI BÀNG
8 năm
@Read Only bạn giỏi nhỉ cho mình hỏi app nào của bạn chưa mất 1 ngày xong vậy
A6_YoonA
TÍCH CỰC
8 năm
@lee_rae_ri hỏi mấy thằng upload app thi Bluebird đó 1 ngày lên gần hết luôn
@lee_rae_ri chương trình "Hello World" ấy mà 😁
@lee_rae_ri Cái này là bình thường bạn ơi. Mình vừa đăng cái nó đã inreview rồi mà =))) Có lần vừa tự reject để up build khác ấn nút submit xong 1 phút sau review. =))
Android up cập nhật lên store trong 1 tiếng đồng hồ.

iOS up cập nhật đợi gần 1 tuần. Thằng review nó mà phát hiện lỗi gì nó reject 1 phát, phải up build mới là khả năng lại đợi thêm 1 tuần nữa =))

Cơ mà thỉnh thoảng cũng nhanh phết, 6h chiều hôm trước submit build mới, 11h đêm hôm sau thấy báo In Review 😁
@nhoc_maruko9x Trường hợp của mình thì không phải up build mới, chẳng qua là sửa chút thông tin lúc submit thôi chứ còn app package thì giữ nguyên.
@spamspam À, sửa meta data thì Apple nó cũng nói rõ là sẽ review lại ngay 😁
@Duy Luân Bạn cho mình hỏi cái hông liên quan tới bài này. Minh trước có cài Scaner pro giờ nó tính phí cùng tài khoản của mình cũng là con iphone đã cài ngày xưa sao không cài lịa được vậy 😔 nó cứ đòi tiền thì nàm sao giờ
@Nguyễn Đức Hùng ck bị khác account Apple ID rồi, hoặc do app đổi phiên bản hay gì đó
App thì apple store vẫn vô địch
Khó quả nhể
Hay
Read Only
TÍCH CỰC
8 năm
Mấy năm trc Apple duyệt kỹ hơn giờ nhiều, app bị reject vài lần mất cả tháng mới lên đc chợ, giờ nhiều khi lỗi crash khá rõ mà vẫn lọt. Chắc do nhiều app, nhiều OS véion với thiết bị quá nên test ko xuể 😁
Đen bị crash bug thì chờ nó review đúng là cực hình, user ios khó tính hay rate tiêu cực kinh :-ss
RiverBlue
TÍCH CỰC
8 năm
@Read Only Bán lấy tiền nên đương nhiên nó phải review kỹ để đảm bảo chất lượng rồi. Trước nay bọn apple vẫn kỹ tính hơn android khoản đấy.
Với thằng user nó phải bỏ tiền ra mua đương nhiên nó cũng đòi hỏi cao hơn. Cái đó là chuyện bt.
HPSS
TÍCH CỰC
8 năm
Dùng cả 2 Store và thấy ưng Play Store hơn. App Store mỗi lần muốn xoá hẳn app đã tải trong list lại phải vào itunes.
HPSS
TÍCH CỰC
8 năm
@Duy Luân Vì k muốn thấy nó nữa 😁
@HPSS Bạn mới dùng iOS à? Nhấn giữ sẽ hiện nút X để xoá trực tiếp trên máy luôn nhá.
HPSS
TÍCH CỰC
8 năm
@cuongbk12 Có bạn k hiểu gì. Đang nói đến app đã mua trong App Store.
@HPSS Bác nói không rõ ràng đố ai mà hiểu.
Armata
ĐẠI BÀNG
8 năm
co phai khau kiem duyet cua Apple kho khan vay len dung muot hon Android khi ma ram van it hon?
@Armata Khoing phải, lí do chỉ có 1 ... Lập trình viên nó viết app cho duy nhất iphone vì họ nắm rõ thông số iphone , android thì thập cảm chục hãng và quá nhiều kiểu máy nên họ làm kiểu đại khái chạy dc hơn
dafug
ĐẠI BÀNG
8 năm
@Armata không liên quan
Playstore duyệt qua loa. Muốn tìm cái ứng dụng mình cần mà ra 1 đống ăn theo
Thang_legend
ĐẠI BÀNG
8 năm
@dong_tuyet93 mình thì tìm zing mp3 trên appstore nó ra cả đống cái -_-
Hoang Mirs
ĐẠI BÀNG
8 năm
Anh Luân viết app đó native từng nền tảng hay dùng công cụ đa nền tảng nào vậy 😁
Nói thật thì em rất ghét Apple về dụ này, thời gian để chờ nó duyệt thì em có thể làm cái app mới:mad:. Còn với google thì rất nhanh, có khi chờ chưa tới ngày thì được đưa lên được rồi! 😃
nampx153
ĐẠI BÀNG
8 năm
@system3212 Vậy lúc đợi nó duyệt bạn bạn không làm app mới đi? 😁 Anti cũng phải có tí kiến thức sắp xếp công việc chứ.
chongao2k5
TÍCH CỰC
8 năm
Khi đọc tới đây mình lập tức nghĩ tới tên Identifier của TINHTE.VN sẽ là VN.TeTinh!
dafug
ĐẠI BÀNG
8 năm
@chongao2k5 nói như bac vậy phải là nv.tetinh chứ hay nv.ethnit
versace.007
ĐẠI BÀNG
8 năm
Mình up lên Appstore chưa bao giờ bị reject cả. Chắc tại thằng chủ dự án nó kỹ tính quá lỗi chỗ nào nó bắt fix sạch
Chả biết hỏi đâu nên tiện đây mình ngoài lề tí, anh em ai biết chia sẻ kinh nghiệm giùm. Mỗi cái tội đổi vùng qua Canada để tải Google maps mà giờ không chuyển về VN được. Các app đi liền với acc hình như nó cũng gắn theo vùng. Acc của mình toàn apps có phí căn lúc miễn phí rồi tải về, giờ chuyển vùng tìm lại cũng k thấy. Chả lẽ làm cái Visa chỉ để chuyển vùng Apple ID. Mà bác bào cho hỏi xài Master Apple Store nó có chiụ không?
@thanh_nhan Theo em là bác lập 2 cái tk riêng. 1 cái Việt Nam 1 cái us. Đổi qua lại 2 ID là xong. Đổi vùng chi mệt
@thanh_nhan Thì mượn thẻ ai chuyển về đi...hôm sau làm thêm cái account us appstore riêng, cần tải gì là đăng nhập tải về thôi khỏi phải chuyển...
@thanh_nhan ko phải đâu bác. mà là do ID bác chọn vùng nào thì chỉ có app vang đó.
ví dụ ID đăng ký vùng Châu Á là Việt Nam thì có app Zalo.
nhưng nếu ID đăng ký vùng bên Mỹ thì seach hoài sẽ ko có app Zalo đâu 😃
nên ID bác đã đổi vùng thì chỉ có app của vùng đó thôi
huynhquang07
ĐẠI BÀNG
8 năm
@thanh_nhan Mua cái gilf card iTunes 10 úsd nộp vào rồi ưng chuyển đi đâu chuyển
hanmactu87
ĐẠI BÀNG
8 năm
@thanh_nhan Bạn nên lập thêm 1 acc ở Việt Nam nữa nhé. Bạn muốn tải app bên Canada thì bạn login vào và tải về. Sau đó lại chuyển acc Việt Nam và dùng bình thường. Mình có 2 acc bên Nhật và VN.
cuongkoy91
ĐẠI BÀNG
8 năm
vậy anh cho em hỏi một câu với.. Trướcgiờ em vẫn nghe nói Apple kiểm duyệt kỹ lưỡng... vậy có trường hợp nào một lập trình viên tải một app bên appstore trung quốc về việt hoá và up lên store lại liệu có thưer lên được không.. ví dụ như game cờ tướng...
@finalmagic mod cả game còn đc nưa là
@cuongkoy91 Không thể bạn ơi, vì bản chất id và keystore của nó vẫn thế, việc việt hóa chỉ là chỉnh sửa file resource thôi. Nói tóm lại việc ko nắm giữ mã code bạn ko thể tự build ra 1 app, đồng thời không thể đưa app đó lên store với danh nghĩa của mình
@htevn Thưa bạn giờ phần mềm Việt Hoá game đầy đường đấy một nhánh của Reverse Engineering đấy mà đơn giản hơn nhiều
@finalmagic hưa bạn giờ phần mềm Việt Hoá game đầy đường đấy một nhánh của Reverse Engineering đấy mà đơn giản hơn nhiều
google cần siết dev hơn. viết app láo nháo bố láo ăn cắp
mấy app xem video của ios chán quá các bác ạ
Quả là cực, nhưng thích cách làm của Apple hơn GG. Và mình nghĩ GG cần số luợng hơn là chất lượng so với Apple?
baodng
TÍCH CỰC
8 năm
Chưa chính xác lắm,
  • Tên định danh của các app là tên miền lật ngược, ví dụ vn.tinhte.app hoặc com.facebook.app
Cái này ko bắt buộc.
@baodng Đã bổ sung

Xu hướng

Bài mới









  • Chịu trách nhiệm nội dung: Trần Mạnh Hiệp
  • © 2024 Công ty Cổ phần MXH Tinh Tế
  • Địa chỉ: Số 70 Bà Huyện Thanh Quan, P. Võ Thị Sáu, Quận 3, TPHCM
  • Số điện thoại: 02822460095
  • MST: 0313255119
  • Giấy phép thiết lập MXH số 11/GP-BTTTT, Ký ngày: 08/01/2019