Giao diện phiên bản thứ 2
Bản hiện tại thì hoàn toàn khác so với ban đầu luôn =))
7. Quá trình code và những vấn đề gặp phải
Bài viết này mình sẽ không nói quá chi tiết về code vì mình là newbie nên code rất rất là gớm, mình sẽ chỉ nói về những tính năng của App mình làm được và những trở ngại gặp phải.1. Social login
Mình muốn học viên login nhanh bằng Google nên đây là tính năng đầu tiên mình làm, chỉ cần làm theo Document của Google cho phần này + video hướng dẫn trên Youtube là xong.
Trở ngại: khi mình up lên App Store để duyệt thì Apple reject và mail lại là “nếu như App có tính năng social login thì phải có Apple login” =)), thế là phải thêm Sign in with Apple vào dù ban đầu không định làm, cũng làm theo Document của Apple thôi, không khó lắm.
2. Thẻ bài học, phát âm mẫu và nút thu âm
Quy trình học mình design cho app đó là:
- Học viên sẽ chọn bài muốn học, mỗi bài học sẽ có khoảng 4 thẻ
- Mở bài học lên thì sẽ phát câu hỏi của thẻ, bấm sample thì sẽ hiện ra câu trả lời mẫu kèm audio
- Có thể bấm nút thu âm để nghe lại phần luyện tập và so với giọng mẫu
- Học xong thì bấm nút qua thẻ tiếp theo và tiếp tục cho đến khi học hết thẻ
Phần này mình chỉ đổ dữ liệu từ website vào app qua API, phần khó nhất là làm logic cho 2 nút “I forgot” và “I remembered”.
- Nếu người học bấm nút I forgot thì thẻ sẽ được lưu và lặp lại
- Nếu người học bấm nút I remember thì thẻ sẽ được xóa khỏi bài
- Sau khi học xong sẽ có nút Learn again, nếu người học chọn Learn again thì bài học phải được reset lại từ đầu
3. Tính năng random câu hỏi và lưu lại bài để ôn tập
Phần Random cho phép người học chọn ngẫu nhiên một bài học trong các danh mục (reading vocabulary, speaking task 1…), là vô App bấm cái là học liền, khỏi cần lựa bài luôn. Khi ôn tập thì phần này khá lợi hại vì câu hỏi sẽ ra ngẫu nhiên nên sẽ tạo sự bất ngờ giống như đi thi vậy. Phần này mình search “random element in swift array" là làm được, khá nhanh.
Phần To Review là phần lưu lại bài học sau khi học xong, logic ở đây là mình phải thiết lập khi người dùng bấm nút “Quay lại trang chủ” khi học xong một bài thì trang chủ sẽ thêm bài đó vào phần To Review này, nghe qua thì đơn giản nhưng mình mất tận 2 ngày để tính năng này chạy được =))
8. Quá trình đăng ký Apple Developer và upload App lên App Store
Sau khi làm xong App, để người dùng có thể tải App qua App Store thì mình phải mua một tài khoản Apple Developer, 99 đôVấn đề ở đây là không phải đăng ký xong là được liền, mà phải chờ cho đơn đăng ký được approve. Sau khi đăng ký xong thì bạn học viên có nói mình là bạn ấy có mua một tài khoản rồi mà chờ cả tháng nay chưa được approve! Nghe tới đây mình thấy hơi quải quải, làm App cực khổ, mất tiền xong mà giờ phải chờ để App được lên Store nữa, haizz. Lên mấy group coi thử thì thấy cũng nhiều người mua mới tài khoản phải chờ, cũng có bạn chia sẻ tip là gửi mail cho Apple để nhắc nếu chờ lâu quá.
Mình gửi mail liền trong hôm đó, và hôm sau thì nhận được Approve luôn, hên ghê :D
Nào thì ta đăng App lên thôi
Sau khi tải App lên và bấm Submit for review thì App sẽ được Apple kiểm tra để duyệt, thời gian duyệt tầm 1-2 ngày có khi lâu hơn. Đây là quá trình App mình được duyệt:
Lần 1: bị reject vì có social login nên cần phải thêm Apple login → thêm và gửi duyệt lại
Lần 2: bị reject vì App mình có xin phép người dùng để mở tính năng thu âm nhưng không nói rõ lý do thu âm cho người dùng biết.
Lúc này mình xem lại thì thấy phần xin phép người dùng của mình chỉ là “for record audio” → mình sửa lại thành “Record and compare your practice to the sample audio for better pronunciation” → gửi lại và được lên store :D
9. Kết
Thời gian từ lúc bắt đầu học đến lúc App lên Store khoảng 2.5 tháng và quãng thời gian này cho mình những trải nghiệm thật sự rất thú vị:1. Hiểu hơn về cuộc sống của anh em lập trình, phải vất vả suy nghĩ, thức đêm để làm ra sản phẩm, sau đó lại phải tiếp tục suy nghĩ và thức đêm để… fix bug (sửa lỗi). Song hành với làm việc là anh em lập trình phải liên tục tự học và cập nhật những công nghệ mới, cứ học rồi làm, học rồi làm liên tục.
2. Trước giờ mình chỉ là người dùng, giờ tự tay làm một sản phẩm cho khách hàng (học viên) của mình mới thấy được từng tính năng, từng cái nút bấm là cả một sự đầu tư công sức thời gian không hề đơn giản. Có những bug (lỗi) học viên feedback lại mình phải dành 1, 2 ngày mới sửa xong.
3. Qua quá trình kiểm duyệt App với Apple, mình mới thực sự cảm nhận được họ hướng đến người dùng nhiều như thế nào, sự cẩn trọng và chặt chẽ trong khâu kiểm duyệt góp phần rất lớn làm nên sự thành công của App Store.
4. Sản phẩm chính tay mình làm ra mang lại sự hữu ích cho người dùng (App giúp học viên mình luyện tập và ôn bài tốt hơn) thì thật sự là niềm vui khôn tả, cảm giác rất là phê luôn!
5. Lập trình không khó, nếu mọi người thích và vượt qua được giai đoạn đầu thì mọi thứ sẽ dần dễ dàng hơn, kĩ năng tự học là cực kì quan trọng nếu muốn theo lập trình nhé.
Đây là link của App ạ: English Journey by Vuive on the App Store (apple.com)
Rất mong nhận được đóng góp của mọi người để App ngày càng hoàn thiện hơn.
Xin cảm ơn đã theo dõi bài viết.
0 Nhận xét