I'm just about ready to publish my first app to the android market, and although I've been through a bunch of threads already about publishing apps, I'd like to know if any of you have ANY tips about ANY experiences you may have encountered in regard to publishing an app that goes beyond the obvious and already documented.
我只是准备我的第一个应用程序发布到android市场,尽管我已经经历很多线程发布应用程序,我想知道如果你有任何建议关于你可能遇到的任何经验关于发布应用程序超出了明显的和已经记录。
Any hidden caveats and/or ideas about what to do before publishing an app to the market would be greatly appreciated. For instance, a buddy of mine recommended that I remove any and all comments in my code just in case someone gets to the source code, thus making it more difficult for the would-be "code jacker" to decipher the code. I thought that was a sensible suggestion.
在向市场发布应用程序之前,任何隐藏的警告和/或想法都将受到极大的赞赏。例如,我的一个朋友建议我删除代码中的任何和所有注释,以防有人找到源代码,从而使潜在的“代码窃取者”更难破译代码。我认为这是一个明智的建议。
This thread should not be limited to source code suggestions. ANY and ALL suggestions about posting an app to the android market would be appreciated by not only me, but any other noobs that might be posting their first app to the market and researching this topic on SO.
这个线程不应该仅限于源代码建议。任何关于在android市场上发布应用的建议都会受到我和其他noobs的欢迎,他们可能会将他们的第一个应用发布到市场上并就此进行研究。
I would have NEVER gotten this far in such a short period of time without the help of this community. I will be forever grateful for all of the help I have received from you guys.
如果没有这个社区的帮助,我就不会在这么短的时间里走这么远。我将永远感激你们给予我的一切帮助。
12 个解决方案
#1
316
Hope it's not too late, here is some advice:
希望不要太晚,这里有一些建议:
-
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).
在周末发布你的应用(周四下午通常是个好时机)。为什么如此?好吧,没有哪家公司愿意在周末前1.5天发布一款应用——>太危险了(万一出现问题需要快速反应时间)。
-
Use proguard on your app (usually, you just have to add this line:
proguard.config=proguard.cfg
in thedefault.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.在你的应用程序上使用proguard(通常,你只需要添加这一行:proguard.config=proguard)。在默认cfg。属性文件)。这将优化、收缩和混淆您的代码,对于防止代码窃贼非常有用。您不必删除任何注释,它们会在编译时自动删除。
-
Optimize your images (using Paint.NET, PNGCrush or OptiPNG).
优化你的图像(使用油漆)。净,PNGCrush或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.
为大多数屏幕大小优化布局。您可以通过在AndroidStudio或Eclipse中编辑布局时简单地更改屏幕大小来实现这一点。
-
Try/catch all exceptions on the UI and display a simple toast wich indicate to the user that something wrong happened. In the meantime, retrieve the error with Crashlytics or something similar.
尝试/捕获UI上的所有异常,并显示一个简单的吐司,向用户表明发生了错误。同时,用Crashlytics或类似的方法检索错误。
-
Don't use too much .jar libraries, prefer library projects (optimize the code size) and add them using gradle.
不要使用太多.jar库,更喜欢库项目(优化代码大小),并使用gradle添加它们。
-
Prefer using vector images since it will reduce APK size and fit correctly on all devices.
更喜欢使用矢量图像,因为它将减少APK的大小,并适合所有设备。
-
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.
不要使用Android的首选项——>,它并不漂亮,即使它是在Android的指导方针中,你也可以选择自己的设置页面。但如果你保留了Android的偏好:考虑添加图标和颜色。
-
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.不要在主屏幕上显示应用程序的标题(this.requestWindowFeature(Window.FEATURE_NO_TITLE);在处理游戏和非常沉浸式的内容时。
-
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.
使用谷歌分析、Fabric Answers或Flurry进行未来分析——>试图获取尽可能多的信息,但不要获取任何违反客户匿名身份的信息。不要忘记检索用户端发生的异常(错误和堆栈跟踪)。
-
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 developper" 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.
添加一个“发送反馈”部分,让用户有可能要求一个新特性或报告一些bug。
-
Ask your users to translate your app by providing the strings.xml somewhere on the web like Crowdin.
让你的用户通过提供字符串来翻译你的应用。xml在web上的某个地方,比如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).
在每个Android版本上使用模拟器——>来尝试你的应用程序。为此,您可以使用提供的仿真器,或者使用Genymotion (Genymotion有很多非常有用的特性)。
-
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).
想想app的名字——>你会用什么关键词来搜索你的app?这些关键字应该是你的应用程序的名称(谷歌将帮助你找到这种方法)。
-
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.
第一个给你的应用评分的是5星,并要求你的家人和朋友也这么做——>这可能会影响未来的用户评分。
-
Consider using Google to translate your app either for the description, either for the strings.xml or both.
考虑使用谷歌来翻译应用程序,或者是描述,或者是字符串。xml或两者兼而有之。
-
Consider displaying ads in your apps and use mediation to improve your revenues AdMob.
考虑在应用程序中显示广告,并使用中介来提高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).
在你的应用中添加一个“如果你喜欢这个应用,请给它评分”链接(到你的谷歌播放描述)——>你会得到更多的5星(通常是在启动时弹出的,或者是在一个功能动作之后)。
-
Consider explaining your product via a "Tips" or "Instructions" section in your app.
考虑通过应用程序中的“提示”或“说明”部分来解释你的产品。
-
Save your keystore and credentials informations 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).除非不可能,否则更喜欢外部安装(android:installLocation= AndroidManifest.xml中的“preferExternal”)。
-
Read AppAnnie tips and blog posts, it will give you hints on how to improve ASO and help your better understand your users.
阅读AppAnnie提示和博客文章,它会给你一些关于如何改善ASO和帮助你更好地了解你的用户的提示。
#2
46
Really, don't bother removing code comments. Your source code doesn't make it to the user's phone - only the compiled code gets there, and that doesn't contain any reference to your comments whatsoever.
实际上,不需要删除代码注释。你的源代码不会到达用户的手机——只有编译过的代码才会到达那里,并且不会包含任何对你的评论的引用。
Android users tend to appreciate apps being as small as possible, so double-check you're only including resources (images, etc.) that are still being used in your app. Use OptiPNG/ PNGCrush on any .png images you have in your app - that can reduce the image file sizes by about 10%, which can be a significant part of your overall app size.
Android用户倾向于欣赏的应用程序被尽可能小,所以一定要仔细检查你只包括资源(图片等),仍在你的应用中使用。使用OptiPNG / PNGCrush任何. png图片你有在你的应用,可以减少图像文件大小约10%,可整体应用规模的重要组成部分。
Also, use an audio editor such as Audacity to reduce the size of any audio as much as possible. Going for mono OGG Vorbis files is often best, and sounds plenty good enough on a phone.
此外,使用一个音频编辑器,如Audacity,以尽可能减少任何音频的大小。使用mono OGG Vorbis文件通常是最好的,在电话上听起来也足够好。
#3
36
Don't worry about comments. If you are concerned about malicious dissection of your app, though, DO run it through an obfuscator like ProGuard.
不要担心评论。不过,如果你担心你的应用程序被恶意剖析,一定要通过一个像ProGuard这样的混淆器来运行它。
Other tips I would offer:
我会提供的其他建议:
- 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.
- 如果您的代码还没有源代码控制,请将其放到源代码控制中。您肯定需要在某些时候发布更新和修复,并且源代码控制可以在其中发挥重要作用。
#4
30
Not sure if you've seen this before, but you should excercise your UI with the monkey - my app has only had one crash, but it wouldn't have had any of those if I'd tested it with Monkey first.
我不知道你以前是否见过这个,但是你应该用monkey来提取你的UI——我的应用只有一次崩溃,但是如果我先用monkey来测试的话,它就不会有这些了。
#5
18
I'll add an obvious, but important one: save your signing key somewhere safe, and make a backup. If you're letting Eclipse manage this for you, pay attention to where it creates your keystore, and save a backup copy of it. And don't forget the passwords for the keystore or individual signing keys.
我将添加一个明显但重要的内容:将签名密钥保存在安全的地方,并进行备份。如果让Eclipse为您管理,请注意它在何处创建密钥存储库,并保存它的备份副本。不要忘记密钥存储库或单个签名密钥的密码。
Why: you need to sign updates to your app with the same certificate you used to sign the original. If you lose that certificate (or lose access to it), you cannot update your app. You'll have to create a new listing in the Android market.
为什么:你需要用你用来签署原始文件的证书来签署应用程序的更新。如果你丢失了这个证书(或者丢失了它),你就不能更新你的应用程序。你必须在Android市场上创建一个新的列表。
#6
15
Some points that I tend to forget:
我经常忘记的几点:
- double check your
minSdkVersion
in the manifest - 在清单中再次检查您的minSdkVersion
- test your app on an emulator with your
minSdkVersion
- 用minSdkVersion在模拟器上测试应用程序
- let your friends test your app to see if it is self-explanatory
- 让你的朋友测试你的应用,看看它是否不言自明
If you are going to provide updates in your app:
如果你打算在你的应用中提供更新:
- you might want to add some kind of 'Whats new in this version'-dialog
- 您可能想要添加一些“这个版本的新内容”对话框
- backup your old version!
- 备份你的旧版本!
- don't forget to increase
versionCode
andversionName
in your manifest - 不要忘记在清单中增加versionCode和versionName
#7
11
Don't forget to make debuggable=false in your Manifest. That's caught me out a couple of times.
不要忘记在清单中使debuggable=false。这让我为难了好几次。
I'm not totally sure but I think this would then include a lot of information making a code hackers life a bit easier.
我不完全确定,但我认为这将包括大量信息,使代码黑客的生活变得更容易。
I remember years ago I accidentally deleted the source to a java project, in horror I realised I had no backup! I used a utility called jad to decompile the jar file on the production server, it had all the variables intact and was almost perfect. I can't remember if the comments were there or not, but then I didn't put a lot of comments back in them days anyway :) This is because I was including symbols when compiling.
我记得几年前,我不小心删除了java项目的源代码,我惊恐地意识到我没有备份!我使用了一个名为jad的工具来在生产服务器上反编译jar文件,它保留了所有的变量并且几乎是完美的。我不记得这些评论是否在那里,但是我在他们的日子里没有发表太多的评论:)这是因为我在编译时包括了一些符号。
#8
11
In addition to the great suggestions above, think about using Flurry for mobile analytics. I didn't know about that when I first started releasing my apps, but now that I've updated them to include it, I love seeing what users are actually doing with the app. This can provide valuable feedback and guidance for things that might be hard for users to find or not interesting/useful to the user.
除了上面的建议,还可以考虑使用Flurry进行移动分析。我不知道,当我第一次开始释放我的应用程序,但现在我已经更新包含它,我喜欢看到用户与应用程序实际上在做什么。这可以提供有价值的反馈和指导,对用户来说可能难以找到有趣的/有用的用户。
#9
8
As far as I know comments are not included in the app in any form.
据我所知,任何形式的评论都不包含在应用程序中。
The only "gotcha" for a developer that I found during app submission was the various graphics you can provide to the market. Be prepared to take several screenshots and create several app icon sizes as well as promotional graphics.
我在提交应用程序时发现,对于开发人员来说,唯一的“陷阱”是您可以向市场提供的各种图形。准备好几个屏幕截图,创建几个应用图标大小和宣传图形。
On the bright side, be prepared to have your app show up instantly in the store -- there is no approval process to go through for Android Market apps.
好的一面是,你要准备好让你的应用程序立即出现在商店里——Android Market应用程序没有审批流程。
#10
7
I would also make sure you had some sort of error reporting so you know how many users are encountering error's. You may want to keep a copy of your old version when updating your app incase you need to roll back. Its also nice to compile a checklist specific for your app that you can go over everytime.
我还要确保你有一些错误报告,这样你就知道有多少用户遇到了错误。你可能想保留一份旧版本的副本,当你更新你的应用程序时,你需要回滚。为你的应用程序编写一个清单也是很好的,你可以每次都检查一遍。
Also to add to this you may want to use a trimmer to take pieces of code out that are unused to cut down on the overall file size(as phone space is pretty limited). You also may want to obfuscate your code for extra protection.
此外,还可以使用trimmer去掉一些未使用过的代码,以减少总体文件大小(因为手机空间非常有限)。您可能还希望混淆代码以获得额外的保护。
#11
4
To get a clear idea..go through this .. http://bewithandroid.blogspot.in/2012/05/publishing-android-application-on.html
为了得到一个清晰的想法。通过这个. .http://bewithandroid.blogspot.in/2012/05/publishing-android-application-on.html
#12
2
Declare an android:process
and android:sharedUserId
attribute!
声明一个android:process和android:sharedUserId属性!
See sharedUserId: safe to change when app is already in market? for why.
看到sharedUserId:当应用程序已经进入市场时,是否可以安全地更改?为什么。
#1
316
Hope it's not too late, here is some advice:
希望不要太晚,这里有一些建议:
-
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).
在周末发布你的应用(周四下午通常是个好时机)。为什么如此?好吧,没有哪家公司愿意在周末前1.5天发布一款应用——>太危险了(万一出现问题需要快速反应时间)。
-
Use proguard on your app (usually, you just have to add this line:
proguard.config=proguard.cfg
in thedefault.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.在你的应用程序上使用proguard(通常,你只需要添加这一行:proguard.config=proguard)。在默认cfg。属性文件)。这将优化、收缩和混淆您的代码,对于防止代码窃贼非常有用。您不必删除任何注释,它们会在编译时自动删除。
-
Optimize your images (using Paint.NET, PNGCrush or OptiPNG).
优化你的图像(使用油漆)。净,PNGCrush或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.
为大多数屏幕大小优化布局。您可以通过在AndroidStudio或Eclipse中编辑布局时简单地更改屏幕大小来实现这一点。
-
Try/catch all exceptions on the UI and display a simple toast wich indicate to the user that something wrong happened. In the meantime, retrieve the error with Crashlytics or something similar.
尝试/捕获UI上的所有异常,并显示一个简单的吐司,向用户表明发生了错误。同时,用Crashlytics或类似的方法检索错误。
-
Don't use too much .jar libraries, prefer library projects (optimize the code size) and add them using gradle.
不要使用太多.jar库,更喜欢库项目(优化代码大小),并使用gradle添加它们。
-
Prefer using vector images since it will reduce APK size and fit correctly on all devices.
更喜欢使用矢量图像,因为它将减少APK的大小,并适合所有设备。
-
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.
不要使用Android的首选项——>,它并不漂亮,即使它是在Android的指导方针中,你也可以选择自己的设置页面。但如果你保留了Android的偏好:考虑添加图标和颜色。
-
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.不要在主屏幕上显示应用程序的标题(this.requestWindowFeature(Window.FEATURE_NO_TITLE);在处理游戏和非常沉浸式的内容时。
-
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.
使用谷歌分析、Fabric Answers或Flurry进行未来分析——>试图获取尽可能多的信息,但不要获取任何违反客户匿名身份的信息。不要忘记检索用户端发生的异常(错误和堆栈跟踪)。
-
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 developper" 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.
添加一个“发送反馈”部分,让用户有可能要求一个新特性或报告一些bug。
-
Ask your users to translate your app by providing the strings.xml somewhere on the web like Crowdin.
让你的用户通过提供字符串来翻译你的应用。xml在web上的某个地方,比如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).
在每个Android版本上使用模拟器——>来尝试你的应用程序。为此,您可以使用提供的仿真器,或者使用Genymotion (Genymotion有很多非常有用的特性)。
-
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).
想想app的名字——>你会用什么关键词来搜索你的app?这些关键字应该是你的应用程序的名称(谷歌将帮助你找到这种方法)。
-
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.
第一个给你的应用评分的是5星,并要求你的家人和朋友也这么做——>这可能会影响未来的用户评分。
-
Consider using Google to translate your app either for the description, either for the strings.xml or both.
考虑使用谷歌来翻译应用程序,或者是描述,或者是字符串。xml或两者兼而有之。
-
Consider displaying ads in your apps and use mediation to improve your revenues AdMob.
考虑在应用程序中显示广告,并使用中介来提高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).
在你的应用中添加一个“如果你喜欢这个应用,请给它评分”链接(到你的谷歌播放描述)——>你会得到更多的5星(通常是在启动时弹出的,或者是在一个功能动作之后)。
-
Consider explaining your product via a "Tips" or "Instructions" section in your app.
考虑通过应用程序中的“提示”或“说明”部分来解释你的产品。
-
Save your keystore and credentials informations 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).除非不可能,否则更喜欢外部安装(android:installLocation= AndroidManifest.xml中的“preferExternal”)。
-
Read AppAnnie tips and blog posts, it will give you hints on how to improve ASO and help your better understand your users.
阅读AppAnnie提示和博客文章,它会给你一些关于如何改善ASO和帮助你更好地了解你的用户的提示。
#2
46
Really, don't bother removing code comments. Your source code doesn't make it to the user's phone - only the compiled code gets there, and that doesn't contain any reference to your comments whatsoever.
实际上,不需要删除代码注释。你的源代码不会到达用户的手机——只有编译过的代码才会到达那里,并且不会包含任何对你的评论的引用。
Android users tend to appreciate apps being as small as possible, so double-check you're only including resources (images, etc.) that are still being used in your app. Use OptiPNG/ PNGCrush on any .png images you have in your app - that can reduce the image file sizes by about 10%, which can be a significant part of your overall app size.
Android用户倾向于欣赏的应用程序被尽可能小,所以一定要仔细检查你只包括资源(图片等),仍在你的应用中使用。使用OptiPNG / PNGCrush任何. png图片你有在你的应用,可以减少图像文件大小约10%,可整体应用规模的重要组成部分。
Also, use an audio editor such as Audacity to reduce the size of any audio as much as possible. Going for mono OGG Vorbis files is often best, and sounds plenty good enough on a phone.
此外,使用一个音频编辑器,如Audacity,以尽可能减少任何音频的大小。使用mono OGG Vorbis文件通常是最好的,在电话上听起来也足够好。
#3
36
Don't worry about comments. If you are concerned about malicious dissection of your app, though, DO run it through an obfuscator like ProGuard.
不要担心评论。不过,如果你担心你的应用程序被恶意剖析,一定要通过一个像ProGuard这样的混淆器来运行它。
Other tips I would offer:
我会提供的其他建议:
- 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.
- 如果您的代码还没有源代码控制,请将其放到源代码控制中。您肯定需要在某些时候发布更新和修复,并且源代码控制可以在其中发挥重要作用。
#4
30
Not sure if you've seen this before, but you should excercise your UI with the monkey - my app has only had one crash, but it wouldn't have had any of those if I'd tested it with Monkey first.
我不知道你以前是否见过这个,但是你应该用monkey来提取你的UI——我的应用只有一次崩溃,但是如果我先用monkey来测试的话,它就不会有这些了。
#5
18
I'll add an obvious, but important one: save your signing key somewhere safe, and make a backup. If you're letting Eclipse manage this for you, pay attention to where it creates your keystore, and save a backup copy of it. And don't forget the passwords for the keystore or individual signing keys.
我将添加一个明显但重要的内容:将签名密钥保存在安全的地方,并进行备份。如果让Eclipse为您管理,请注意它在何处创建密钥存储库,并保存它的备份副本。不要忘记密钥存储库或单个签名密钥的密码。
Why: you need to sign updates to your app with the same certificate you used to sign the original. If you lose that certificate (or lose access to it), you cannot update your app. You'll have to create a new listing in the Android market.
为什么:你需要用你用来签署原始文件的证书来签署应用程序的更新。如果你丢失了这个证书(或者丢失了它),你就不能更新你的应用程序。你必须在Android市场上创建一个新的列表。
#6
15
Some points that I tend to forget:
我经常忘记的几点:
- double check your
minSdkVersion
in the manifest - 在清单中再次检查您的minSdkVersion
- test your app on an emulator with your
minSdkVersion
- 用minSdkVersion在模拟器上测试应用程序
- let your friends test your app to see if it is self-explanatory
- 让你的朋友测试你的应用,看看它是否不言自明
If you are going to provide updates in your app:
如果你打算在你的应用中提供更新:
- you might want to add some kind of 'Whats new in this version'-dialog
- 您可能想要添加一些“这个版本的新内容”对话框
- backup your old version!
- 备份你的旧版本!
- don't forget to increase
versionCode
andversionName
in your manifest - 不要忘记在清单中增加versionCode和versionName
#7
11
Don't forget to make debuggable=false in your Manifest. That's caught me out a couple of times.
不要忘记在清单中使debuggable=false。这让我为难了好几次。
I'm not totally sure but I think this would then include a lot of information making a code hackers life a bit easier.
我不完全确定,但我认为这将包括大量信息,使代码黑客的生活变得更容易。
I remember years ago I accidentally deleted the source to a java project, in horror I realised I had no backup! I used a utility called jad to decompile the jar file on the production server, it had all the variables intact and was almost perfect. I can't remember if the comments were there or not, but then I didn't put a lot of comments back in them days anyway :) This is because I was including symbols when compiling.
我记得几年前,我不小心删除了java项目的源代码,我惊恐地意识到我没有备份!我使用了一个名为jad的工具来在生产服务器上反编译jar文件,它保留了所有的变量并且几乎是完美的。我不记得这些评论是否在那里,但是我在他们的日子里没有发表太多的评论:)这是因为我在编译时包括了一些符号。
#8
11
In addition to the great suggestions above, think about using Flurry for mobile analytics. I didn't know about that when I first started releasing my apps, but now that I've updated them to include it, I love seeing what users are actually doing with the app. This can provide valuable feedback and guidance for things that might be hard for users to find or not interesting/useful to the user.
除了上面的建议,还可以考虑使用Flurry进行移动分析。我不知道,当我第一次开始释放我的应用程序,但现在我已经更新包含它,我喜欢看到用户与应用程序实际上在做什么。这可以提供有价值的反馈和指导,对用户来说可能难以找到有趣的/有用的用户。
#9
8
As far as I know comments are not included in the app in any form.
据我所知,任何形式的评论都不包含在应用程序中。
The only "gotcha" for a developer that I found during app submission was the various graphics you can provide to the market. Be prepared to take several screenshots and create several app icon sizes as well as promotional graphics.
我在提交应用程序时发现,对于开发人员来说,唯一的“陷阱”是您可以向市场提供的各种图形。准备好几个屏幕截图,创建几个应用图标大小和宣传图形。
On the bright side, be prepared to have your app show up instantly in the store -- there is no approval process to go through for Android Market apps.
好的一面是,你要准备好让你的应用程序立即出现在商店里——Android Market应用程序没有审批流程。
#10
7
I would also make sure you had some sort of error reporting so you know how many users are encountering error's. You may want to keep a copy of your old version when updating your app incase you need to roll back. Its also nice to compile a checklist specific for your app that you can go over everytime.
我还要确保你有一些错误报告,这样你就知道有多少用户遇到了错误。你可能想保留一份旧版本的副本,当你更新你的应用程序时,你需要回滚。为你的应用程序编写一个清单也是很好的,你可以每次都检查一遍。
Also to add to this you may want to use a trimmer to take pieces of code out that are unused to cut down on the overall file size(as phone space is pretty limited). You also may want to obfuscate your code for extra protection.
此外,还可以使用trimmer去掉一些未使用过的代码,以减少总体文件大小(因为手机空间非常有限)。您可能还希望混淆代码以获得额外的保护。
#11
4
To get a clear idea..go through this .. http://bewithandroid.blogspot.in/2012/05/publishing-android-application-on.html
为了得到一个清晰的想法。通过这个. .http://bewithandroid.blogspot.in/2012/05/publishing-android-application-on.html
#12
2
Declare an android:process
and android:sharedUserId
attribute!
声明一个android:process和android:sharedUserId属性!
See sharedUserId: safe to change when app is already in market? for why.
看到sharedUserId:当应用程序已经进入市场时,是否可以安全地更改?为什么。