Monetisation of your React Native App

A developers guide to earn money with your app

Wijnand Karsens
LECKR
6 min readMay 9, 2018

--

In 2007, I created a mafia-game (Using PHP, HTML, and MySQL, mostly). In 2017 I re-created the game using React Native, GraphQL and SQL. After 4 months of hard work, it was ready to play. However, I didn’t have any way to monetise it yet. This is, however, vital if you want to create a sustainable project! As a DevPreneur, you need a way to get Return on Investment (ROI). If you’re a programmer with a passion project, you may not initially think of this (like me — I knew the ways, but I didn’t create a way to earn ROI).

Strategies

Here are some key strategies to earn money with your app. It depends on your application a lot and your ideal customer. Think about your ideal customer… What will he or she be most willing to do?

  1. Advertisements
  2. Pay for digital goods. Pay upfront, pay once, pay per period, pay per use, or pay per unit
  3. Pay for services: Pay per period, pay per use, or pay and earn
  4. Affiliates
  5. Selling code
  6. Sponsors

This is a living document so it may change.

Implementations

For every possible way I will elaborate on implementation. In my case, I created an app using Expo, so this will be the way that’s best explained.

1. Advertisements

1a. Expo Facebook Ads

(Have a look here); One common strategy is to offer in-app currency in exchange for watching a video advertisement. 3x Every day, watch an add for a reward. This way, people won’t over do it and it will keep the ads interesting. Expo provides a good way to do this without detach. Great!

Given the fact that my game will potentially be less popular if it becomes pay-to-win too much… this is a great option. Especially because it doesn’t require a detach.

1b. Expo Google Ads

Works very similar. Have a look here.

2. Payments using Stripe

It’s possible to implement Payments using Expo (Have a look here).

  • Stripe and Apple Pay on iOS via ExpoKit/Detach. iOS requires Detach because they want 30% for IAP.
  • On Android, you can use Stripe and Android Pay without ExpoKit/Detach
  • Detach requires making your own push notification pipeline, possibly with FireBase or OneSignal.
  • Expo is working on opt-in modules when building standalone apps (see this). It could prove to be enough if this feature is available, so I won’t need a detach because I can opt-in for Apple Payments. This will save me a lot of time.
  • Without detach it should already work on Android… So I could make it for android only first… and then add this functionality later when it’s supported without detaching OR when I detach and do some work for it.
  • It looks like there is no option to create sources: iDEAL, SOFORT and other Payment gateways other than CreditCards. This is a BIG DEAL.
  • On iPhone it is not allowed to use this way of Payments for digital goods. Only for physical goods and services!

This one is also interesting…

https://github.com/expo/stripe-expo

…but it seems to be focused on credit cards again. Stripe has documentation too, of course. This is some elaboration on sources. For example iDeal

https://stripe.com/docs/sources/ideal

Can I use sources when detaching with Expokit or should I use the stripe react native github? It seems that this is tricky, reading GitHub.

DETACHING WITH EXPOKIT

  • I could detach and implement Expo Payments on iOS too… but then I have to set up my own push notifications service and have to build the app manually, which is something that isn’t that hard but takes some time to learn.
  • After detaching, since Expo no longer manages your push certificates, you’ll need to manage your own push notification pipeline.

3. In-App Purchases (IAP) using Stripe

React Native has some libraries (a.k.a. bindings) that make it possible to use the native in app purchase modules from both Android and iOS. This is a very common way to pay for digital goods. For services or physical goods it’s not that common because these modules take a big cut. For iOS this is the only allowed module for digital goods.

iOS RN Lib: https://github.com/chirag04/react-native-in-app-utils

iOS documentation: https://developer.apple.com/in-app-purchase/

Android RN Lib: https://github.com/idehub/react-native-billing

Android Documentation: https://developer.android.com/google/play/billing/billing_overview.html

4. Affiliate Links

Affiliate links can be a smart way to earn money by just providing the user with a link to another platform. When you’re the affiliate partner, you earn a percentage of the profit in the scenario that the user makes a purchase on that platform, or in some cases even if the user becomes a member there.

Some examples that can be considered:

  • From Apple and Android — to other (related) app store apps?
  • From amazon books or other products through linking
  • From hotels / hostels / flights affiliate programs
  • From other companies that relate well to your app

5. Selling Code

See websites like react-native.shop and the native base marketplace. This can be a way to earn money too. In my opinion it’s not the best way because you’re earning money from other developers, but it can be a quick way if you’ve created something useful and don’t want to open-source it for free.

6. Sponsors

Sponsors or Collaborations can be a great way to start. You can collaborate with other companies and get money for giving them digital real estate inside of the app. This will increase their sales and increase the value your app brings to your users, so it can be a win-win, especially because you have complete control over the exact content.

Some ideas:

  • Listing good hostels inside of a backpacker app and getting paid per view.
  • Listing good coworking spaces inside of a digital nomads or entrepreneurs app and getting paid per view.
  • Listing good restaurants
  • Promoting one kite-brand in an app for kitesurfers

7. App Cost

Sell the app for free, and after it has a lot of reviews and likes, start charging money for it.

This is great because

  • It doesn’t require any coding
  • It can be done for android and iOS seperately, based on their popularity and reviews
  • It’s a one-time fee, which a lot of people will pay.

It’s not great because:

  • Many people will be scared away because of an initial fee

8. PaaS, BaaS, XaaS

Study more about licenses of code

Guide: http://www.binpress.com/page/licensing

Generator: http://www.binpress.com/license/generator

For example, I can licence the app source code to be used in an app once, just sell the source code for unlimited use, or even ask a percentage of the profit.

Conclusion

What would be a good way to monetise? In my case, I concluded the following, but of course, for you it may be different.

First of all, let’s think about what would NOT be a good way. I think that the affiliates and sponsors way is not good because it’s a maffiagame and I have no way of selling other companies because my target audience is kids between 12 and 18 and I’m not really interested in my audience anyway.

Expo payments is not an option… it’s creditcard only! And maybe iDeal… No options for paysafecard or gift cards whatsoever! Especially for mastercrimez (young people) this is a problem. They need to have some things they can buy at the supermarket like itunes gift cards, play store gift cards, or paysafecards… Furthermore, apple doesn’t allow this type of payment for digital goods.

Now the things that will probably work:

Selling code is always an option but is no effort upfront. I think I will always take this option into account, but this can be looked at once the app is used a lot. Furthermore, PaaS, BaaS, or XaaS are very interesting, but they should be looked at later.

Ads are certainly an option. It looks like it’s easy to implement through expo. However, the profit from Ads is not a lot.

React Native In-App Purchases. This is the perfect option for selling digital goods because it can be bought in the supermarket or with a creditcard, or even with iDeal elsewhere online. Therefore it will always work!

— — -

I’m available for contracting work in the summer of 2018 onwards. Let me know if you’re interested by sending an email to me at karsens AT outlook DOT com. My biggest skills are: React Native, Node JS, GraphQL (Apollo), and MySQL. My expertise is creating MVP’s quickly.

--

--

Wijnand Karsens
LECKR
Editor for

I am a programmer, writer and entrepreneur. Read more from me on http://karsens.com/