My First React Native App - Time Manager

After releasing my first React Native App - Time Manager, I decided to share a few lessons I've learned here, and hopefully give you a glance at some of the insight and experience I've picked up from my story.




Get it on Google Play

Well, technically, it all started October 2017, when I decided to build my first android app from my home office. It took me another four weeks from the idea to publishing it on the Google Play Store. I used to code 10-12 hours a day, it wasn't coding I just used to stare at my code for hours thinking why the heck is it not working. It takes me hours to remove bugs and finding/fixing bugs is the best feeling :))


How was development?

I was already with React Native, and my current way to structure the app state works well for me. Let's have a look at some developement choices I made:

  • react-native-alarms: A react-native library for interacting with Android alarms. I used it to set up alarms for my app.
  • react-native-vector-icons: This library is super awesome! Perfect for buttons, logos and nav/tab bars. Easy to extend, style and integrate into your project.
  • react-native-admob and react-native-fbads: Integrating Google Ads and Facebook Audience Network into my app. The reason is that to display Facebook ads the user must have the Facebook app installed on their devices, which not everyone does, but for me the revenue from Facebook is higher than admob (I use admob as fallback ads).

Bugs and Performance Issues

As you know, my app need to display a countdown timer. But, when user leaves my app (NOT KILL, JUST LEAVE), the timer stops working. And when they come back to my app, the timer starts working. I did some keyworks research but none of them works. I tried to run background tasks in React Native. For me background task could be use when application is killed. In my case I just want the timer not stopped when user lock their phone. So finally I used Redux and seamless-immutable to resolve my problem. You can read more about app state handling on this post: Getting Started with React Native & Redux.

Monetization

If you don't get paid to build the app, you probably want to earn at least some money from it.

Advertisements 

Most of the SDKs, like Google AdMob and Facebook Audience Network, ship with installation instructions for iOS and Android only. With React Native, where your views are in fact declared as React components, things get a little bit tricky. Right now, there are only two librarys react-native-admob and react-native-fbads which I use to show a small banner and a interstitial ad in my app.

In-app Purchases

There is react-native-billing is built to provide an easy interface to InApp Billing on Android, accomplished by wrapping anjlab's InApp Billing library. It takes me hours to integrate this library into my app and then make a real purchase.

 Conclusion

In short, as app release go, this one's been about perfect. I really enjoyed developing the app in React Native, because I could implement everything I wanted in JavaScript and even did some minor adjustments in the Java code of some community modules without prior experience of the Android App ecosystem. 

Furthermore, you even get to strengthen your Redux and React knowledge for your future web development projects, which is the beauty of being able to use already existing JavaScript frameworks. I'm not quite done yet. I wasn't necessarily planning to update the app at all and I'll continue to watch sales. 

So there's lots more to learn for sure. But this has been quite an experience already. It's been invaluable for me as a writer to work on this project, and stay tuned - I will do my best to share lost more of what I've learned in posts here going forward as well.

Nhận xét

Bài đăng phổ biến từ blog này

Pomodoro Technique - a system to help manage your time

Perfect Photos: Beautiful Free HD Photos & Images [Android]