Danh sách của Do To Do trước khi xuất bản ứng dụng Android ra thị trường [đã đóng]


317

Tôi đã sẵn sàng để xuất bản ứng dụng đầu tiên của mình lên thị trường Android và tôi muốn biết liệu có ai trong số các bạn có bất kỳ lời khuyên nào về bất kỳ trải nghiệm nào bạn có thể gặp phải liên quan đến việc xuất bản một ứng dụng vượt quá rõ ràng và đã tài liệu.

Bất kỳ cảnh báo và / hoặc ý tưởng ẩn nào về những việc cần làm trước khi xuất bản một ứng dụng ra thị trường? Ví dụ, một người bạn của tôi khuyên tôi nên xóa bất kỳ và tất cả các nhận xét trong mã của mình trong trường hợp ai đó truy cập vào mã nguồn, do đó, việc giải mã mã sẽ trở nên khó khăn hơn. Tôi nghĩ rằng đó là một đề nghị hợp lý.

Tất cả những điều cần làm trước khi đăng ứng dụng của họ lên thị trường Android là gì?


1
Một danh sách kiểm tra vừa được công bố trong tài liệu chính thức để đảm bảo bạn đáp ứng mong đợi của người dùng máy tính bảng cơ bản.
Jeff Axelrod

48
Lạ là nó không mang tính xây dựng và có 16 nghìn lượt xem lol
request_once

61
Đóng một câu hỏi mang tính xây dựng như "không mang tính xây dựng" là một ví dụ rõ ràng về lý do tại sao chính sách kiểm duyệt của Stackoverflow nên được thay đổi!
Orion

7
Phải đảm bảo ứng dụng của bạn giàu từ khóa và thực hiện nghiên cứu từ khóa trước khi xuất bản .. xem cách tôi sử dụng công cụ xu hướng google cho nghiên cứu từ khóa
NabeelSaleem

2
Xem qua chính sách dành cho nhà phát triển của Google Play và đảm bảo ứng dụng của bạn không vi phạm bất cứ điều gì, bạn phải hết sức cẩn thận với Google. Thật đau đớn khi bạn ở trên đám mây 9 với 2 triệu lượt tải xuống và đột nhiên ứng dụng của bạn bị treo vì bạn đã không thông qua chính sách của họ.
Yauraw Gadav

Câu trả lời:


339

Hy vọng nó không quá muộn, đây là một số lời khuyên:

  • Khởi chạy ứng dụng của bạn vào cuối tuần (chiều thứ năm thường là thời điểm tốt). Tại sao vậy? Chà, không có công ty nào muốn xuất bản một ứng dụng chỉ 1,5 ngày trước khi kết thúc tuần -> quá nguy hiểm (trong trường hợp có vấn đề cần thời gian phản ứng nhanh).

  • Sử dụng proguard trên ứng dụng của bạn (thông thường, bạn chỉ cần thêm dòng này: proguard.config=proguard.cfgtrong default.propertiestệp). Điều này sẽ tối ưu hóa, thu nhỏ và làm xáo trộn mã của bạn, rất hữu ích để ngăn chặn kẻ trộm mã. Bạn không phải xóa bất kỳ bình luận nào, chúng sẽ tự động bị xóa trong thời gian biên dịch.

  • Tối ưu hóa hình ảnh của bạn (sử dụng Paint.NET , PNGCrush hoặc OptiPNG ).

  • Tối ưu hóa bố cục của bạn cho hầu hết các kích thước màn hình. Bạn có thể làm điều này bằng cách thay đổi kích thước màn hình trong khi chỉnh sửa bố cục trong AndroidStudio hoặc Eclipse.

  • Hãy thử / bắt tất cả các trường hợp ngoại lệ trên Giao diện người dùng và hiển thị một bánh mì nướng đơn giản cho người dùng biết có điều gì đó không ổn đã xảy ra. Trong thời gian chờ đợi, hãy truy xuất lỗi với Crashlytics hoặc một cái gì đó tương tự.

  • Không sử dụng quá nhiều thư viện .jar, thích các dự án thư viện (tối ưu hóa kích thước mã) và thêm chúng bằng cách sử dụng lớp.

  • Thích sử dụng hình ảnh vector vì nó sẽ giảm kích thước APK và phù hợp chính xác trên tất cả các thiết bị.

  • Không sử dụng các cửa sổ tùy chọn Android -> điều đó không thực sự đẹp, ngay cả khi nó nằm trong hướng dẫn của Android, thích tạo trang cài đặt của riêng bạn. Nhưng nếu bạn giữ tùy chọn Android: hãy xem xét thêm biểu tượng và màu sắc.

  • Không hiển thị tiêu đề của ứng dụng của bạn trên màn hình chính ( this.requestWindowFeature(Window.FEATURE_NO_TITLE);): các thương hiệu tốt không cần phải mất quá nhiều không gian trên màn hình để nhận ra (hiển thị một số biểu tượng hoặc tiêu đề trong menu hoặc ở đâu đó không phải lúc nào cũng hiển thị) và xem xét sử dụng chế độ toàn màn hình ( this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);) khi xử lý các trò chơi và nội dung rất đắm chìm.

  • Sử dụng Google Analytics , Fabric answer hoặc Flurry cho các phân tích trong tương lai -> cố gắng lấy càng nhiều thông tin càng tốt, nhưng đừng lấy bất cứ thứ gì vi phạm danh tính ẩn danh của khách hàng. Đừng quên truy xuất ngoại lệ (lỗi và dấu vết ngăn xếp) xảy ra ở phía người dùng.

  • Yêu cầu bạn bè của bạn làm bài kiểm tra khỉ, học hỏi từ người dùng thường mang lại nhiều điều tốt đẹp (như ưu tiên và ý tưởng mới).

  • Cân nhắc xuất bản ứng dụng của bạn trước khi hoàn thành tất cả các tính năng (chỉ tính năng quan trọng nhất), bạn chưa biết người dùng sẽ muốn gì hoặc cần gì ngoài tính năng chính của bạn.

  • Thêm phần "Thêm ứng dụng" hoặc "Khác từ nhà phát triển" trong ứng dụng của bạn, đó là quảng cáo miễn phí.

  • Thêm một phần "Gửi phản hồi" để cung cấp cho người dùng khả năng yêu cầu một tính năng mới hoặc báo cáo một số lỗi.

  • Yêu cầu người dùng của bạn dịch ứng dụng của bạn bằng cách cung cấp chuỗi String ở đâu đó trên web như Crowdin .

  • Hãy thử ứng dụng của bạn trên mỗi phiên bản Android bằng trình giả lập -> nhiều lỗi hoặc sự cố thiết kế sẽ được phát hiện theo cách này. Đối với điều này, bạn có thể sử dụng trình giả lập được cung cấp hoặc sử dụng Genymotion thay thế (Genymotion có rất nhiều tính năng rất hữu ích).

  • Hãy suy nghĩ về tên của ứng dụng -> bạn sẽ sử dụng từ khóa nào để tìm kiếm ứng dụng của mình? Những từ khóa này phải là tên của ứng dụng của bạn (Google sẽ giúp bạn được khám phá theo cách này).

  • Xem xét bao gồm các từ khóa trong mô tả ứng dụng, nhưng theo cách mô tả (tạo các câu dễ hiểu bằng cách sử dụng từ khóa của bạn). Không bao giờ thêm một danh sách từ khóa như trong mô tả.

  • Hãy là người đầu tiên đánh giá ứng dụng của bạn với 5 sao và yêu cầu gia đình và bạn bè của bạn làm điều tương tự -> điều này có thể sẽ ảnh hưởng đến xếp hạng của người dùng trong tương lai.

  • Cân nhắc việc sử dụng Google để dịch ứng dụng của bạn cho phần mô tả, cho cả chuỗi String hoặc cả hai.

  • Xem xét hiển thị quảng cáo trong ứng dụng của bạn và sử dụng hòa giải để cải thiện doanh thu AdMob của bạn .

  • Thay vì cung cấp phiên bản trả phí, hãy xem xét thực hiện thanh toán trong ứng dụng -> người dùng có nhiều khả năng thanh toán trong ứng dụng hơn là trả tiền cho phiên bản trả phí.

  • Thêm nhật ký thay đổi trong ứng dụng -> người dùng thường muốn biết những gì đã thay đổi kể từ phiên bản trước.

  • Thêm phần "Cảm ơn" cho những người dùng đã giúp bạn -> điều này sẽ thu hút người dùng vào sản phẩm của bạn.

  • Thêm liên kết "Nếu bạn thích ứng dụng này, vui lòng đánh giá nó" (vào mô tả Google Play của bạn) trong ứng dụng của bạn -> bạn sẽ nhận được thêm 5 sao (thường là một cửa sổ bật lên khi khởi động hoặc sau một hành động tính năng).

  • Xem xét giải thích sản phẩm của bạn thông qua phần "Mẹo" hoặc "Hướng dẫn" trong ứng dụng của bạn.

  • Lưu kho khóa và thông tin thông tin của bạn ở một nơi an toàn. Bạn sẽ không thể xuất bản bản cập nhật cho ứng dụng của mình nếu bạn mất kho khóa.

  • Làm cho biểu tượng của bạn thực sự đơn giản và rõ ràng. Biểu tượng là thứ đầu tiên và cũng chủ yếu là thứ cuối cùng sẽ khiến người dùng tải xuống ứng dụng của bạn.

  • Trừ khi không thể, hãy ưu tiên cài đặt bên ngoài ( android:installLocation="preferExternal"trong AndroidManifest.xml).

  • Đọc các mẹo và bài đăng trên blog của AppAnnie , nó sẽ cho bạn gợi ý về cách cải thiện ASO và giúp bạn hiểu rõ hơn về người dùng của mình.


2
Nếu bạn gặp vấn đề với thử nghiệm trên các trình giả lập khác nhau trong nhật thực, bạn có thể nhận được trình giả lập genymotion, đó là nhanh hơn. Ngoài ra, để tối ưu hóa hình ảnh png www.tinypng.com là lựa chọn tốt
Arash

2
Thực sự hữu ích nhưng hãy nhớ rằng, để cung cấp trải nghiệm UX thích hợp, tốt hơn hết bạn nên có lý do chính đáng để đi toàn màn hình. Giống như nếu bạn muốn người dùng tập trung vào một yếu tố duy nhất và loại bỏ tất cả các phiền nhiễu khác trên đường đi.
whizzkid

1
applicationIdkhông thể được thiết lập lại khi bạn xuất bản ứng dụng của bạn. Nhiều lần nó chứa các từ (như tên người dùng của bạn) mà bạn không muốn tiết lộ. Đặt nó trong build.gradletệp dự án của bạn trong Android Studio.
gsinha 8/2/2015

7
Tôi đến với StackOverflow để trả lời các câu hỏi. Câu hỏi của tôi là "Tôi nên làm gì trước khi xuất bản một ứng dụng Android?" Đây là một câu trả lời rất hữu ích và tôi tưởng tượng có thể có nhiều người khác nên việc đóng câu hỏi là "Không mang tính xây dựng" có vẻ không mang tính xây dựng.
dùng872985

2
Cảm ơn về các mẹo .. Tôi muốn biết thêm một điều nữa, Nếu ai đó mở ứng dụng của tôi trong cửa hàng play tôi muốn hiển thị các ứng dụng của mình dưới dạng đề xuất như "Thêm từ nhà phát triển" thì có cách nào để làm điều đó
Geethu

47

Thực sự, đừng bận tâm xóa bình luận mã. Mã nguồn của bạn không xuất hiện trên điện thoại của người dùng - chỉ có mã được biên dịch ở đó và không chứa bất kỳ tham chiếu nào đến nhận xét của bạn.

Người dùng Android có xu hướng đánh giá cao các ứng dụng càng nhỏ càng tốt, vì vậy hãy kiểm tra kỹ bạn chỉ bao gồm các tài nguyên (hình ảnh, v.v.) vẫn đang được sử dụng trong ứng dụng của bạn. Sử dụng OptiPNG / PNGCrush trên bất kỳ hình ảnh .png nào bạn có trong ứng dụng của mình - có thể giảm kích thước tệp hình ảnh khoảng 10%, đây có thể là một phần đáng kể trong kích thước ứng dụng tổng thể của bạn.

Ngoài ra, sử dụng trình chỉnh sửa âm thanh như Audacity để giảm kích thước của bất kỳ âm thanh nào càng nhiều càng tốt. Sử dụng các tệp OGG Vorbis đơn âm thường là tốt nhất và âm thanh đủ tốt trên điện thoại.


1
Nếu bộ nhớ của tôi phục vụ cho tôi một cách chính xác, tôi nghĩ rằng tôi đã đọc ở đâu đó rằng khi .apk được đóng gói, mã không được biên dịch. Tôi đã giả định rằng .apk chứa tất cả các tệp nguồn, giống như bạn sẽ thấy nếu bạn đã đến thư mục không gian làm việc của dự án cho Eclipse ..... và Dalvik biên dịch mã khi đang chạy trên điện thoại ?? Tôi hy vọng tôi đã chết sai, bởi vì ngay cả khi tôi đang đọc bài báo, tôi đã nói với bản thân mình, "điều đó không an toàn." Tôi cũng là thành viên trên xda-developers.com và dường như họ đang đăng các tệp apk đã giải mã cho các ứng dụng mọi lúc.
dell116

16
Không, nguồn thô không được vận chuyển. Tệp .apk chỉ là một tệp .zip được ngụy trang, vì vậy hãy đổi tên nó và xem xét. Bất cứ thứ gì trong / tài sản và / res / raw đều được vận chuyển không thay đổi, cũng như các ngăn kéo trong / res. Các tệp xml trong / res được xử lý theo một cách nào đó (có thể ai đó ở đây biết nếu chúng được mã hóa hoặc chỉ được nén?). Mã nguồn của bạn được biên dịch thành class.dex. Nếu bạn mở nó trong Notepad, bạn sẽ thấy nó chứa nhiều chuỗi từ mã nguồn của bạn (tên phương thức và tên biến, v.v.) nhưng không có nhận xét nào của bạn.
teedyay

7
Các tệp xml được biên dịch để tối ưu hóa phân tích cú pháp và điều hướng của chúng. có những công cụ để dịch ngược chúng.
bigstones

@bigstones Loại chương trình biên dịch nào chúng ta đang nói ở đây?
Robert Massaioli

@RobertMassaioli Chỉ cần AAPT, nó được thực hiện tự động khi xây dựng.
bigstones

36

Đừng lo lắng về ý kiến. Tuy nhiên, nếu bạn lo lắng về việc phân tích độc hại ứng dụng của mình, HÃY chạy nó thông qua một obfuscator như ProGuard.

Những lời khuyên khác tôi sẽ cung cấp:

  • Có tất cả đồ họa và tài liệu quảng cáo của bạn đã sẵn sàng để đi trước thời đại.
  • Thời gian phát hành của bạn một cách chiến lược khi bạn không có nhiều thứ khác xảy ra trong cuộc sống của mình (như ngay trước một ngày cuối tuần) để bạn có thời gian trả lời NHANH CHÓNG nếu một số người dùng đầu tiên bắt đầu gặp vấn đề. Xếp hạng thấp sớm có thể giết chết bạn, nhưng phản hồi và sửa lỗi e-mail nhanh hoàn toàn có thể đổi lấy ý kiến ​​của khách hàng về ứng dụng của bạn.
  • Tôi sẽ đồng ý với ý kiến ​​trước đó về việc giảm kích thước hình ảnh càng nhiều càng tốt.
  • Đưa mã của bạn vào kiểm soát nguồn nếu nó chưa có. Bạn chắc chắn cần phải đưa ra các bản cập nhật và sửa lỗi tại một số điểm và kiểm soát nguồn có thể đóng một vai trò lớn trong đó.

4
+1 để phát hành khi bạn có thời gian để sửa chữa mọi thứ một cách nhanh chóng!
teedyay

Cảm ơn bạn đã trả lời của bạn. Tôi chắc chắn những người khác cũng sẽ biết ơn. Tôi đang sử dụng Eclipse Galileo để tạo ứng dụng của mình và một luồng khác trên SO nói rằng Subversive for Eclipse là một trong những công cụ kiểm soát nguồn dễ dàng nhất để làm quen. Trên lưu ý đó, trang web Eclipse có phiên bản Subversive để tải xuống, nhưng tôi chỉ thấy một liên kết cho bản phát hành Helios. Bạn hoặc bất cứ ai khác biết nếu plugin này hoạt động với Galileo?
dell116

Tôi thực sự không biết. Tôi thực hiện kiểm soát phiên bản của mình không được tích hợp với Eclipse vì tôi không bận tâm thiết lập nó. Tôi sử dụng TortoiseSVN khi tôi ở trong Windows và các công cụ dòng lệnh Subversion khi tôi sử dụng hộp Linux của mình.
Blumer

Nói về các bản cập nhật, có đơn giản như đóng gói lại ứng dụng với các tệp được cập nhật và thay thế .apk cũ hơn trên thị trường bằng một bản mới có số phiên bản khác không? Tôi nhớ đã cố gắng cài đặt lại ứng dụng của mình trên cài đặt đã có sẵn (không gỡ cài đặt ứng dụng để thử và mô phỏng "cập nhật"), nhưng nó đã thất bại, khiến tôi nghĩ rằng điều này có thể xảy ra khi tôi phát hành bản cập nhật . Nhưng, để tranh luận, "cập nhật" .apk mà tôi đã cài đặt trên đầu cài đặt cũ của tôi không có số phiên bản khác trong tệp kê khai. Cảm ơn một lần nữa cho lời khuyên!
dell116

1
Khi bạn tải lên .apk mới của mình lên Thị trường, nó sẽ kiểm tra để đảm bảo rằng số phiên bản đã tăng lên kể từ lần trước. Khi cài đặt bản cập nhật trên thiết bị, tôi tin rằng nó KHÔNG kiểm tra số phiên bản, mà chỉ cài đặt những gì bạn nói với nó. Tuy nhiên, tôi biết rằng việc cài đặt một bản cập nhật .apk sẽ thất bại, nếu các khóa mà phiên bản cũ và mới được ký không giống nhau. Bạn sẽ phải gỡ cài đặt cái cũ trước và sau đó cài đặt bản cập nhật.
Blumer

32

Không chắc chắn nếu bạn đã nhìn thấy điều này trước đây, nhưng bạn nên kiểm tra giao diện người dùng của mình với con khỉ - ứng dụng của tôi chỉ gặp một sự cố, nhưng nó sẽ không có bất kỳ lỗi nào nếu tôi thử nghiệm nó với Monkey trước.


18

Tôi sẽ thêm một điều hiển nhiên nhưng quan trọng: lưu khóa ký của bạn ở nơi an toàn và tạo bản sao lưu. Nếu bạn đang để Eclipse quản lý việc này cho bạn, hãy chú ý đến nơi nó tạo kho lưu trữ khóa của bạn và lưu một bản sao lưu của nó. Và đừng quên mật khẩu cho kho khóa hoặc khóa ký riêng lẻ.

Tại sao: bạn cần ký các bản cập nhật cho ứng dụng của mình với cùng chứng chỉ bạn đã sử dụng để ký bản gốc. Nếu bạn mất chứng chỉ đó (hoặc mất quyền truy cập vào nó), bạn không thể cập nhật ứng dụng của mình. Bạn sẽ phải tạo một danh sách mới trong thị trường Android.


1
Tôi gần như mất chìa khóa khi khôi phục máy tính ... May mắn thay, tôi đã có một bản sao lưu!
Ruchir Baronia

17

Một số điểm mà tôi có xu hướng quên:

  • kiểm tra lại minSdkVersiontrong bảng kê khai
  • kiểm tra ứng dụng của bạn trên trình giả lập với minSdkVersion
  • hãy để bạn bè kiểm tra ứng dụng của bạn để xem nó có tự giải thích không

Nếu bạn định cung cấp thông tin cập nhật trong ứng dụng của mình:

  • bạn có thể muốn thêm một số loại 'Có gì mới trong phiên bản này'
  • sao lưu phiên bản cũ của bạn!
  • đừng quên tăng versionCodeversionNametrong bảng kê khai của bạn

6
Điểm hay và cùng một dòng suy nghĩ, nếu ứng dụng của bạn sử dụng cơ sở dữ liệu SQLite, hãy đảm bảo rằng các quy trình tạo và nâng cấp bảng của bạn đều được sắp xếp theo thứ tự hoạt động đúng.
Blumer

13

Đừng quên làm cho debuggable = false trong Bản kê khai của bạn. Điều đó đã bắt tôi ra ngoài một vài lần.

Tôi không hoàn toàn chắc chắn nhưng tôi nghĩ rằng điều này sau đó sẽ bao gồm rất nhiều thông tin làm cho tin tặc mã dễ dàng hơn một chút.

Tôi nhớ những năm trước tôi đã vô tình xóa nguồn vào một dự án java, trong nỗi kinh hoàng tôi nhận ra mình không có bản sao lưu! Tôi đã sử dụng một tiện ích gọi là jad để dịch ngược tệp jar trên máy chủ sản xuất, nó có tất cả các biến còn nguyên và gần như hoàn hảo. Tôi không thể nhớ liệu các bình luận có ở đó hay không, nhưng sau đó tôi đã không đưa nhiều bình luận trở lại trong những ngày đó :) Điều này là do tôi đã bao gồm các biểu tượng khi biên dịch.


2
android: giá trị mặc định có thể sửa lỗi là sai theo Google developer.android.com/guide/topics/manifest/ mẹo . Tìm kiếm trên văn bản "android: debuggable".
Android gốc

11

Ngoài các đề xuất tuyệt vời ở trên, hãy suy nghĩ về việc sử dụng Flurry cho các phân tích di động. Tôi không biết về điều đó khi lần đầu tiên tôi bắt đầu phát hành ứng dụng của mình, nhưng bây giờ tôi đã cập nhật chúng để đưa nó vào, tôi thích xem người dùng thực sự đang làm gì với ứng dụng. Điều này có thể cung cấp phản hồi và hướng dẫn có giá trị cho những thứ mà người dùng khó tìm thấy hoặc không thú vị / hữu ích cho người dùng.


8

Theo tôi biết ý kiến ​​không được bao gồm trong ứng dụng dưới mọi hình thức.

"Gotcha" duy nhất cho một nhà phát triển mà tôi tìm thấy trong khi gửi ứng dụng là đồ họa khác nhau mà bạn có thể cung cấp cho thị trường. Hãy chuẩn bị để chụp một số ảnh chụp màn hình và tạo một số kích thước biểu tượng ứng dụng cũng như đồ họa quảng cáo.

Về mặt sáng sủa, hãy chuẩn bị để ứng dụng của bạn xuất hiện ngay lập tức trong cửa hàng - không có quy trình phê duyệt nào cho các ứng dụng Android Market.


7

Tôi cũng sẽ đảm bảo rằng bạn đã có một số loại báo cáo lỗi để bạn biết có bao nhiêu người dùng đang gặp phải lỗi. Bạn có thể muốn giữ một bản sao của phiên bản cũ của mình khi cập nhật ứng dụng trong trường hợp bạn cần quay lại. Thật tuyệt khi biên dịch một danh sách kiểm tra cụ thể cho ứng dụng của bạn mà bạn có thể truy cập mọi lúc.

Ngoài ra, để thêm vào điều này, bạn có thể muốn sử dụng một tông đơ để lấy các đoạn mã không được sử dụng để cắt giảm kích thước tệp chung (vì không gian điện thoại khá hạn chế). Bạn cũng có thể muốn làm xáo trộn mã của bạn để bảo vệ thêm.



Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.