Bài viết này với mục đich ghi chú lại 1 số lưu ý cần xem và chuẩn bị trước khi muốn release ứng dụng lên ** Apple store** hay Googe play
Chuẩn bị:
1. Có tài khoản developer của cả 2 store là điều tất nhiên.
Google play thì 25$ trọn đời, nếu nhớ ko nhầm, iOS thì có 2 giá 99$/1 năm cho tài khoản developer cá nhân, 200$/1 năm cho doanh nghiệp. Lưu ý:
- Ở iOS, thì có 2 loại tài khoản là tài khoản developer cá nhân và tài khoản doanh nghiệp. Chỉ tài khoản doanh nghiệp mới cho phép mời developer khác để họ có thể dùng tài khoản của chính họ để build và upload ứng dụng lên Appstore (Testflight) thông qua Xcode chẳng hạn.
Còn nếu ko, chỉ có tài khoản iOS developer cá nhân, thì phải cung cấp tài khoản developer này cho dev để dev có thể sử dụng upload ứng dụng lên store đc.
- À còn 1 vấn đề nữa ở iOS nữa, là nếu ứng dụng bạn chỉ dùng cho chính nội bộ doanh nghiệp mình, thì không thể up lên tài khoản developer cá nhân được.
Còn về Google play mình nhớ là có 1 loại tài khoản thôi, dùng thoải mái mà rẻ hơn. Có điều gì cũng có giá của nó, bên Apple thì hỗ trợ dev tốt hơn nhiều, họ sẽ có người làm việc trực tiếp với mình để hỗ trợ nếu có vấn đề. Còn google đa số là bot tự động review ứng dụng, khó liên hệ được với support bên đó.
2. Thông tin về ứng dụng
Như tiêu đề, subtitle, ảnh preview, screenshots, mô tả, keyword,... khá là nhiều. Đại loại mình có tập hợp ở đây (ko biết có cập nhật gì ko ), mọi người có thể tham khảo: https://docs.google.com/document/d/12eYkJqA2_aMcY7KkLRVuLpl4CUfmNB0Chtr1Vsnb0ms/edit?usp=sharing
3. Landing page:
Đại loại nếu bạn đã có 1 website tương ứng cho ứng dụng rồi thì phần này chính là nó. Còn nếu chưa có, bạn cần tạo 1 trang web Landing page đơn giản, để khai báo thông tin ứng dụng, cũng có thể làm các trang tĩnh như privacy/terms trên đó.
4. Terms page và Privacy page:
Chính xác là 2 trang Terms and conditions và Privacy policy 2 trang này rất là quang trọng, nó có thể liên quan đến pháp lý và kiện tụng khi ứng dụng của bạn có vấn đề hoặc bị kiện tụng. và cũng như 1 quy định cần chấp hành về bảo mật cho người dùng,....
2 nội dung này thì các bạn tìm hiểu thêm trên mạng, nếu ứng dụng đơn giản ko có vấn đề gì quá lớn ảnh hưởng người dùng thì có thể tạo nội dung qua các trang tạo tự động (generator) trên các trang cho phép tạo free, chỉ việc khai báo 1 số thông tin và download file html về. Các bạn có thể tìm với từ khóa Terms generator hoặc privacy generator.
À 1 lưu ý khá là quan trọng như hơi nhọ là tên 2 website này nên chứa từ terms và privacy. ví dụ domain.com/terms-conditions.html chẳng hạn.
Lúc trước mình gặp 1 trường hợp là thằng google nó từ chối vì nhập đường dẫn privacy không có chữ privacy ở Url, thế là nó từ chối.
1 số lưu ý chung:
ở trên là các chuẩn bị và các lưu ý tương ứng.
Còn ở đây là 1 số lưu ý chung tùy theo loại ứng dụng:
- Đối với ứng dụng Thương mại điện từ (TMDT): đại loại như mấy trang shopee, lazada đồ ấy. Có các chức năng card, mua sắm... thì khi vào ứng dụng, chức năng đăng nhập là không nên bắt buộc, có nghĩa là phải cho phép người dùng xem các mặt hàng trong ứng dụng mà không cần đăng nhập. Cái này là thằng Apple nó quy định. nên đại loại làm chung cho cả 2 bên apple và google luôn cho thống nhất. Khi ng dùng mua hàng hoặc dùng 1 số chức năng cần đăng nhập thì bạn mới hiển thị form yêu cầu người dùng đăng nhập.
- Đối với form sign up: 2 link privacy và terms phải để bên dưới form này, và ng dùng phải chấp nhận nó để có thê đăng ký tài khoản. nếu ko có 2 link này bên dưới thì Apple sẽ từ chối release.
- Nếu ứng dụng có chức năng Đăng nhập, Đăng ký. Thì bắt buộc phải có chức năng logout và xóa tài khoản trong ứng dụng. Về xóa tài khaorn, có thể là gửi form yêu cầu xóa cũng đc, và Admin sẽ thực hiện xóa sau (hên xui, nhưng đây là 1 cách triển khai nhanh, vì đôi lúc 1 số hệ thống, để triển khai chức năng xóa tài khoản rất phức tạp, vì có liên quan đến vấn đề dữ liệu như tính toàn vẹn dữ liệu nữa). Và thêm nữa, bên Google cũng yêu cầu nhập link website đến chức năng Xóa tài khoản này, thì đa số là mình sẽ link đến trang terms của mình, đến dòng hướng dẫn xóa tài khoản trong ứng dụng (nếu bạn không có chức năng xóa tài khoản ở web, thì đây là 1 cách)
- Ứng dụng có chức năng đăng nhập với Mạng xã hội như facebook/google, thì ở iOS bắt buộc phải bổ xung chức năng đăng nhập với Apple, ko thể không có, mặc dù mình ko thích lắm những cũng chịu, kaka. (chú ý nút đăng nhập Apple cũng phải theo mẫu họ yêu cầu, ko giống là bị từ chối đó )
- Khi ứng dụng có sử dụng google map tuyệt đối không được tạo tài khoản thanh toán VietNam vì Google nó chặn rồi. nên ko thể sử dụng được. có thể tạo với Quốc gia Singapore cũng được.
- Nếu có sử dụng In-App purchase trong ứng dụng (đối với sản phẩm kỹ thuật số), thì bắt buộc phải có chức năng restore.
1 số lời khuyên:
Còn đây là 1 số lời khuyên khi triển khai ứng dụng mà mình thấy cần thiết nên áp dụng vào ứng dụng của bạn:
- Ứng dụng iOS và Android, cố gắng release 2 bên có cùng version để dễ quản lý ví dụ 1.0.0 (20) cả 2 bên, nhất là khi triển khai với Hybrid code như Flutter hay ReactNative. Việc này mục đích dễ quản lý version chung cho cả 2 bên. Cũng như tiện cho cho mục số 2 đề cập bên dưới
- Nên có chức năng bắt buộc cập nhật ứng dụng lên phiên bảng min (phiên bản thấp nhất mà mình yêu cầu), vì khi triển khai ứng dụng rất dễ xảy ra 1 số lỗi không mong muốn, có thể từ phía server hoặc từ phía app. nên sẽ có 1 số lỗi hoặc lỗ hổng. Nên mình cần người dùng cập nhật lên phiên bảng mới hơn để có thể sử dụng được. Cái này mình rất hay gặp trong các ứng dụng.
Ví dụ: có các phiên bảng 1.0.0 (1), 1.0.1 (10), 1.1.0 (20)... ở bản 1.0.0(1) có lỗi hoặc ko sử dụng đc do cập nhật code server, mình muốn KH phải update lên bản 10 (là 1.0.1(10)) để có thể sử dụng được. chẳng hạn vậy. Mà nên từ triển khai với firebase remote là tốt nhất. ko nên dùng chức năng tự động cập nhật của apple hay google cung cấp. Mình thấy nó khá hạn chế và đôi lúc nó không hoạt động như mình mong muốn.
Okay bài viết khá dài rồi, tạm thời như vậy thôi.
Hi vọng hữu ích với các bạn nào quan tâm! Mọi người có góp ý hoặc lưu ý nào quan trọng có thể gửi cho mình để mình update nhé.