AuthorJohannes Borchardt

Android Income Report #13: May 12

May is over and so is June. This tells you that I’m quite late with my income reports, I apologize for the delay. Here’s the May’s report.

If you are new to this series, let me explain it to you: Since Android is an open platform, I decided to be open about the income I’m making with my private Android apps too. In the last report I aimed to reach $2,000 for the last month. You will see if it worked out.

For all income reports, please click here.

Which Apps?

3D Invaders – about 256,000 installs (+11k), 14% active

AL Voice Recorder – about 792,000 installs (+52k), 19% active

AL Voice Recorder Ad Free – 1,088 installs (+42), 33% active

Droid-Blog.net Android App – 511 installs (+34), 13% active

SmsToSpeech full – 759 installs (+15), 26% active

63,000 new downloads, that’s a bit better than in April, a good sign.

What did I do?

Due to the overall bad response, I removed SellARing. Downloads for the voice recorder have grown a little again since then.

Advertising Stats

Here are some statistics from the two advertising networks I’m using, AdMob and Madvertise. Please read the second income report for an explanation of the following numbers.

AdMob:

Requests: 586,938 (-5k)

Impressions: 579,712 (-1.6k)

Fill Rate: 98.92% (+0.58%)

Clicks: 23,076 (-1.5k)

CTR: 3.98% (-0.25%)

eCPM: $1.52 (-$0.04)

House Ads: 1,277 (+536)

Adjusted Requests:  587,315 (-4.5k)

Adjusted Fill Rate: 98.71% (+0.49%)

Madvertise

Requests: 1,131,242 (-226k)

Impressions: 46,691 (-60k)

Fill Rate: 4.13% (-3.75%)

Clicks: 1,442 (-2,161)

CTR: 3.09% (-0.28%)

eCPM: $3.23 (-$2.52)

while AdMob stayed stable over all, I lost more clicks on madvertise than I received in total. I think I’ve never experienced such an immense loss in performance of an ad network before.

How much?

Here are the numbers:

AdMob:

3D Invaders: $252.38

AL Voice Recorder: $627.45

AdMob Total: $879.83 (-$26.58)

 

madvertise:

3D Invaders: ~$69.49

AL Voice Recorder: ~$81,40

madvertise Total: ~$150,90 (-$464.78)

 

Market sales: ~$100.86 (+$16.54)

In-App purchases: ~$11.57 (+$1.98)

Total: ~$1,143.16 (-$647.19)

A pretty bad performance for May. While I hope madvertise will recover a little, I of course already know the last month’s numbers. That’s a little asymmetric information, but you don’t have to wait too long until the next report is published, I promise.

 

What’s next?

I didn’t reach my last month’s goal, so, again, it will be $2,000 for the month of June. The June’s report will be published in the next week, so stay tuned.

 

Please feel free to share your own experiences and hints in the comments. Ask questions, share, do whatever you like.

First anniversary of Droid-Blog.net

On May 25. 2011, Droid-Blog.net was born.

Since then, 53 posts were published and 660 non-spam comments were done. 167.387 impressions in 86.597 visits made by 55.360 unique visitors, with 4.842 visits on the best day (May 13.).

302 people followed @droidbl0g on Twitter, 172 circled Droid-Blog on G+ and 69 people added droid-blog on facebook.

Four series were started: The income reports, the App Store Optimization series, the articles on animated GIFs and on Game development (in German).

The most read article was the first article on animated GIFs with 13.394, followed by the 9th income report with 10.235 readers.

 

The overall feedback regarding this blog was awesome. Thank you to all of you for reading, commenting and following Droid-Blog.net. I’m looking forward to the next year.

 

Two simple ways to make your users aware of incorrect input

Did you ever enter a wrong password and got an AlertDialog telling you that you entered something wrong? You probably did and you probably also noticed that this alert dialog most likely takes one more click to continue, a click that could be saved. One way to avoid the AlertDialog are Toasts. Here are two nice but rarely used other ways to tell your users that they should enter something different.

Setup

Let’s assume we have an EditText which we use in our UI.
EditText mEditText ;
//...
mEditText  = (EditText ) findViewById(R.id.myEditText );

Furthermore we have a method showError() which we call when the EditText contains invalid data.

1 Shake

A nice way to show the user that, for example, an entered password was incorrect is to shake the EditText. Please note that I took this code from the official ApiDemos and modified it slightly.

First, we have to define our shake animation. Go to your res folder, create the subfolder anim and place a file shake.xml in it. In this file, create a translation like this:
< translate xmlns:android="http://schemas.android.com/apk/res/android" android:fromXDelta="0%" android:toXDelta="5%" android:duration="1000" android:interpolator="@anim/cycle_7" />

TranslateAnimations let us move views ond the x or y axis of our screen. Since we want to shake it from left to right, we only apply the translation on the x axis. We move it from zero percent of the view’s width to five percent of the view’s width and let the translation last one second (1000 ms). Furthermore, we use the interpolator cylce_7 wich is placed in anim/cycle_7.xml and looks like the following:
< cycleInterpolator xmlns:android="http://schemas.android.com/apk/res/android" android:cycles="7" />

It’s a simple CycleInterpolator. This kind of interpolators express the number of repetitions an animation should do. In our case, we repeat the animation seven times.

Now we only need to apply our shake animation to our EditText every time something incorrect is entered. We can do it like this:

private void showError() {
Animation shake = AnimationUtils.loadAnimation(this, R.anim.shake);
mEditText.startAnimation(shake);
}

That’s it. Super easy, super smooth integration into the UI.

2 SetError

This is my personal favourite. It is the setError()-method which comes out of the box with the EditText view. When calling this method, the right hand compount drawable of the will be set to the error icon. When the EditText also has focus, the text you gave to setError() will be shown in a popup. If you don’t like the default error icon, you can also use setError(CharSequence error, Drawable icon) to set your own icon. The routine to show errors can then look like this:

private void showError() {
mEditText.setError("Password and username didn't match");
}

Which will result in errors shown like this:

setError() on ICS

setError() on ICS

Which looks good, catches the user’s attention and doesn’t need any extra clicks to disappear.

Conclusion

Showing errors without interrupting the user flow can be accomplished easily on the Android plattform. For even more attention by the user, the two methods mentioned can also be combined.

 

Please feel free to share your methods of showing error messages in the comments.

Android Income Report #12: April 12

Edit: I totally forgot to mention this: Marc Galeazzi put together a list of income reports, maybe that’s some interesting data for you.

April is over, time to sum things up. I’m quite late this time, I apologize for that.

If you are new to this series, let me explain it to you: Since Android is an open platform, I decided to be open about the income I’m making with my private Android apps too. In the last report I aimed to reach $4,000 for the last month. You will see if it worked out.

For all income reports, please click here.

Which Apps?

3D Invaders – about 245,000 installs (+13k), 15% active

AL Voice Recorder – about 740,000 installs (+40k), 20% active

AL Voice Recorder Ad Free – 1046 installs (+49), 35% active

Droid-Blog.net Android App – 477 installs (+24), 13% active

SmsToSpeech full – 759 installs (+15), 30% active

Only 53K new downloads. As you will see, there was a reason for that.

What did I do?

I tried a new ad network, SellAring, in the AL Voice Recorder. SellAring is an ad network specialized in audio ads. These ads are played in the timeframe the user is waiting for a called person to pick up a call. It needs at least four permissions, five other permissions can be added to increase efficiency.

The overall performance of the network was not satisfying. The fillrate started high but dropped fast. In addition, the new permissions stopped a lot of users from downloading the app which again resulted in a worse position on the result page for “Voice Recorder” in the Play Store. The users that updated or downloaded the app also didn’t like it, the comments were clear about that. On the pro side is the fast payment. It happened a couple of days after the month’s end.

By today, I’m not using SellAring anymore.

Advertising Stats

Here are some statistics from the two advertising networks I’m using, AdMob and Madvertise. Please read the second income report for an explanation of the following numbers.

AdMob:

Requests: 591,169 (-95k)

Impressions: 581,342 (-92k)

Fill Rate: 98.34% (0.26%)

Clicks: 24,579 (-5.8k)

CTR: 4.23% (-0.3%)

eCPM: $1.56 (-$0.52)

House Ads: 741 (554)

Adjusted Requests:  591,910 (-95k)

Adjusted Fill Rate: 98.21% (+0.16%)

Madvertise

Requests: 1,357,737 (-193k)

Impressions: 106,949 (12k)

Fill Rate: 7.88% (1.76%)

Clicks: 3,603 (598)

CTR: 3.37% (0.2%)

eCPM: $5.76 ($2.75)

madvertise’s fillrate and eCPM got up a little again which is somewhat good news. The overall requests declined, I think this can be attributed to the SellAring integration.

How much?

Here are the numbers:

AdMob:

3D Invaders: $348.46

AL Voice Recorder: $557.95

AdMob Total: $906.41 (-$497.45)

 

madvertise:

3D Invaders: ~$477.57

AL Voice Recorder: ~$138.11

madvertise Total: ~$615.68 ($330.10)

 

Market sales: ~$84.32 (-$42.27)

In-App purchases: ~$9.59 ($1.65)

SellAring: $174.35

Total: ~$1,790.35 (-$33.61)

 

What’s next?

I’m still as far from the goal of $4,000 as I was in the last months. To be a bit more realistic, I will set my goal for this month at $2,000.

 

Please feel free to share your own experiences and hints in the comments. Ask questions, share, do whatever you like.

© 2024 Droid-Blog

Theme by Anders NorenUp ↑