我正准备向Android市场发布我的第一款应用,我想知道你们是否有任何关于发布应用的经验建议。
在向市场发布应用之前,有什么隐藏的注意事项或想法吗?例如,我的一个朋友建议我删除代码中的所有注释,以防有人获得源代码,从而使潜在的“代码窃贼”更难破译代码。我认为这是个明智的建议。
在将应用发布到Android市场之前需要做些什么?
我正准备向Android市场发布我的第一款应用,我想知道你们是否有任何关于发布应用的经验建议。
在向市场发布应用之前,有什么隐藏的注意事项或想法吗?例如,我的一个朋友建议我删除代码中的所有注释,以防有人获得源代码,从而使潜在的“代码窃贼”更难破译代码。我认为这是个明智的建议。
在将应用发布到Android市场之前需要做些什么?
实际上,不必费心删除代码注释。你的源代码不会传到用户的手机上——只有编译后的代码才会传到用户的手机上,而且它不包含任何对你的注释的引用。
Android用户倾向于应用程序越小越好,所以仔细检查你只包含了应用程序中仍在使用的资源(图像等)。对应用程序中的任何。png图像使用OptiPNG/ PNGCrush -这可以减少图像文件大小约10%,这可以是你整个应用程序大小的重要组成部分。
此外,使用音频编辑器(如Audacity)尽可能减小音频的大小。使用单OGG Vorbis文件通常是最好的,在手机上听起来也足够好了。
据我所知,评论不包括在任何形式的应用程序。
我在应用提交过程中发现,开发者面临的唯一“难题”是你可以提供给市场的各种图像。准备好多张截图,制作不同大小的应用图标和宣传图片。
好的一面是,你的应用可以立即出现在应用商店中——Android Market应用无需经过任何审批程序。
不要担心评论。如果你担心你的应用被恶意剖析,那么你可以通过ProGuard这样的混淆器运行它。
我还有其他建议:
Have all your graphics and promotional materials ready to go ahead of time. Time your release strategically for when you don't have a lot else going on in your life (like right before a weekend) so that you'll have time to respond FAST if the first handful of users start having problems. Low ratings early on can kill you, but fast e-mail response and fixes can totally redeem a customer's opinion of your app. I'll agree with earlier comments on reducing image sizes as much as possible. Get your code into source control if it's not already. You're sure to need to issue updates and fixes at some point, and source control can play a big role in that.
我容易忘记的几点:
仔细检查清单中的minSdkVersion 在模拟器上用minSdkVersion测试你的应用 让你的朋友测试你的应用,看看它是否不言自明
如果你打算在应用中提供更新:
你可能想要添加一些“这个版本有什么新内容”的对话框 备份您的旧版本! 不要忘记在你的清单中增加versionCode和versionName
不要忘记在你的Manifest中设置debuggable=false。有几次我都被逮个正着。
我不完全确定,但我认为这将包括许多信息,使代码黑客的生活更容易一些。
我记得几年前我不小心删除了一个java项目的源代码,我惊恐地意识到我没有备份!我使用一个叫做jad的工具在生产服务器上反编译jar文件,它有所有完整的变量,几乎是完美的。我不记得注释是否在那里,但后来我没有在它们的日子里放很多注释:)这是因为我在编译时包含了符号。
除了上面的建议,你还可以考虑使用Flurry进行移动分析。当我刚开始发布我的应用时,我并不知道这一点,但现在我已经将它们更新到包含它,我喜欢看到用户使用应用的实际情况。这可以为用户很难发现或对用户来说不有趣/有用的事情提供有价值的反馈和指导。
我还会确保你有某种错误报告,这样你就知道有多少用户遇到了错误。在更新应用程序时,你可能想保留一份旧版本的副本,以防需要回滚。为你的应用程序编写一个清单也是很好的,你可以每次都检查。
此外,你可能想要使用一个修剪器来删除不使用的代码片段,以减少整体文件大小(因为手机空间非常有限)。您还可能希望混淆代码以获得额外的保护。
希望还不算太晚,这里有一些建议:
Launch your app at the end of the week (Thursday afternoon is usually a good time). Why so? Well, no companies would like to publish an app only 1.5 day before the week end -> too dangerous (in case there is a problem that needs a quick reaction time). Use proguard on your app (usually, you just have to add this line: proguard.config=proguard.cfg in the default.properties file). This will optimize, shrink and obfuscate your code, very useful for preventing from code thieves. You don't have to delete any comments, they are automatically deleted at compile time. Optimize your images (using Paint.NET, PNGCrush or OptiPNG). Optimize your layouts for most of screen sizes. You can do this by simply changing the screen size while editing a layout in AndroidStudio or Eclipse. Try/catch all exceptions on the UI and display a simple toast which indicate to the user that something wrong happened. In the meantime, retrieve the error with Crashlytics or something similar. Don't use too much .jar libraries, prefer library projects (optimize the code size) and add them using gradle. Prefer using vector images since it will reduce APK size and fit correctly on all devices. Don't use the Android preferences windows -> that's not really beautiful, even if it's in the Android guidelines, prefer making your own settings page. But if you keep Android preferences: consider adding icons and colors. Don't show the title of your app on the main screen (this.requestWindowFeature(Window.FEATURE_NO_TITLE);): good brands don't need to take so much space on a screen to be recognized (show some icon or title in the menu or somewhere that is not always visible), and consider using the fullscreen mode (this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);) when dealing with games and very immersive content. Use Google Analytics, Fabric Answers or Flurry for future analytics -> try to get as much information as possible, but don't grab anything that violates the anonymous identity of the customer. Don't forget to retrieve exceptions (errors and stack traces) that happens on the user side. Ask your friends to do monkey tests, learning from users usually brings many good things (such as priorities and new ideas). Consider publishing your app before having finished all features (most important feature only), you don't already know what your users will want or need besides your main feature . Add a section "More apps", or "More from developer" in your app, that's free ads. Add a section "Send feedback" to give the user the possibility to ask for a new feature or report some bug. Ask your users to translate your app by providing the strings.xml somewhere on the web like Crowdin. Try your app on each Android version with the emulator -> many bugs or design issues will be detected this way. For this, you can use the provided emulator, or use Genymotion instead (Genymotion has a lot of very useful features). Think about the name of the app -> what keywords would you use to search for your app? These keywords should be the name of your app (Google will help you get discovered this way). Consider including keywords in the app description, but in a descriptive way (make understandable sentences using your keywords). Never add a keyword list as is in the description. Be the first to rate your app with 5 stars, and ask your family and friends to do the same -> this will likely influence the future users ratings. Consider using Google to translate your app either for the description, either for the strings.xml or both. Consider displaying ads in your apps and use mediation to improve your revenues AdMob. Instead of providing a paid version, consider doing in-app billing -> users are more likely to pay in-app rather than paying for a paid version. Add a change log in the app -> users usually like to know what changed since the last version. Add a "Thanks" section for the users that helped you -> this will engage users to your product. Add a "If you like this app, please rate it" link (to your Google Play description) in your app -> you will get more 5 stars (usually a popup on startup, or after a feature action). Consider explaining your product via a "Tips" or "Instructions" section in your app. Save your keystore and credentials information somewhere safe. You won't be able to publish an update for your app if you lose your keystore. Make your icon really simple and clear. The icon is the first and also mainly the last thing that will make the user download your app. Unless it's not possible, prefer external installation (android:installLocation="preferExternal" in the AndroidManifest.xml). Read AppAnnie tips and blog posts, it will give you hints on how to improve ASO and help your better understand your users.
我将添加一个明显但重要的方法:将签名密钥保存在安全的地方,并进行备份。如果您让Eclipse为您管理这些,请注意它在哪里创建密钥存储库,并保存它的备份副本。不要忘记密钥库或单个签名密钥的密码。
原因:你需要使用与签署原始版本相同的证书来签署应用程序的更新。如果你丢失了证书(或失去了它的访问权),你就不能更新你的应用。你必须在Android市场中创建一个新的列表。
要想有一个清晰的概念,先看一下这个。 http://bewithandroid.blogspot.in/2012/05/publishing-android-application-on.html