During the last MWC in Barcelona, Nokia presented their first Android devices: the NokiaX and NokiaXL. These are low cost Android devices mainly targeted at emerging market. The first thing that did strike me when handling one of these devices is the UI. At first look, you’ll think these are window’s phone but it’s just a custom skin from Nokia. The NokiaX is powered by Android 4.1 but it doesn’t support any Google services. That’s a strange and brave move from Nokia but at least, they are now supporting the Android eco-system. Nokia is building its own store and as you can guess, it’s far from crowded yet. Which is good as it should be easier for our apps to get notice compared to the Play store. According to Nokia, 75% of the apps should work as it is. I’ve tested all my games and effectively, they did run on the device. Obviously, few things needed to change to make them fully functional on NokiaX. For most developer, the two main task will be to get rid of the Google Services and replace them with the Nokia equivalent. As far as I was concerned, I had to remove the Google Play Game services and supporting the new Nokia billing API. This is probably what most game developer will have to do too. This might sound like a lot of work but as a matter of fact, it’s simple and fast to implement. In no time, I had my entire portfolio ported and published on the NokiaX store. In this article, I’ll describe the different steps I went through. You’ll probably have to go through them too. You’ll find everything you need on the Nokia developer website but I’ll give you a quick overview here and some good tips.
Nokia is providing their own store and thus their own billing system. You’ll need to support a new API if you are using in-app billing. I was expecting this task to be the most complex one from the port but luckily Nokia played it cleverly. Basically, their billing SDK is a carbon copy of the one provided by Google. They are using the same functions, parameters and return values. Porting your billing code to the new API should be done in no time. Nokia is even providing a simple guide to help you convert your code to the new API. It’s really refreshing to see that for once a platform provider is thinking about making the developer’s life easier.
For information, Nokia is also providing replacement for Google Maps with HERE Maps and Google Cloud Messaging with Nokia Notifications. But as I don’t use these API, I don’t know how much need to be done. According to Nokia, it’s supposed to be fast and easy to change. If they’ve done the same choices as the billing API, it’s probably true.
Removing Google Play Services
This shouldn’t be an issue because your apps are supposed to check if the services are available before using them. On the NokiaX, the function isGooglePlayServicesAvailable will return SERVICE_MISSING as you would expect. But the function isUserRecoverableError is returning true. As recommended by Google, our games are calling getErrorDialog to ask if the user want to install or update the services. Obviously, this won’t be possible because the user hasn’t got access to the Play Store. The best solution is to switch off these call from your NokiaX build. You should also remove any UI from your app related to the Google Play Services. If like me, your coding standard are cross platform oriented, you are probably already handling this situation. Anyway, in most cases, removing (or just hiding) the Google Play Service from your build should be quick to implement.
The new AdMob API require the Google Play services API but it doesn’t need the services to be available on the device. So, don’t worry, you’ll still be able to display ads with AdMob on the NokiaX. But if you are using ads provider that expect to install 3rd parties apps from the Google Play store, you might want to remove them. Obviously, without the Play store, you won’t get any install, so these ads are useless.
Rate Me Link
If you provide a ‘RATE ME’ button in your application (linking to the Play store), it’s simple to update it for NokiaX. Assuming your package name is com.mycompany.myapp opening the following link: market://details?id=com.mycompany.myapp will open your app’s page on the NokiaX store. You’ll find more information HERE if you need them.
I didn’t have to use the emulator because I’ve got a device. Obviously, Nokia is providing all the resources you’ll need to either set up a virtual NokiaX device in the emulator or install the NokiaX drivers (for Win32 platforms. OSX and Linux should be fine) to access your device with ADB.
Nokia is also doing something very interesting to allow people without a device to test their apps on a remote device. It’s what they call Remote Device Access. I haven’t tested it myself but this sound like a nice solution for developer who really want to test their builds on a real device.
The developer dashboard is pretty standard and it did work flawlessly for me (I’ve published 13 games with it). You won’t be spending ages figure out the workflow. Still there are some issues.
The first problem with the dashboard is a big one. You can’t publish paid apps because the option isn’t available. This is a really weird choice from Nokia. It’s obvious that they ‘strategically’ removed this option from their store. As for now, you can only release free apps with in-app purchase. It didn’t bother me too much as all my games have a lite or demo version. But, some developers may only have paid versions of their apps and it isn’t wise from Nokia to not allow these apps on their store. Apparently, Nokia is working on some kind of wrapper to offer a time limited version of your paid apps. But this isn’t available yet (June 2014) and it will probably require some work from the developers to implement. I think they made a mistake here and I hope they’ll fix this in a near future.
The other problem with the dashboard is probably a bug. When creating a new app, you have the choice between ‘Quick Publish’ or ‘Standard Publish’. It looks like the Quick Publish option isn’t working properly. Few fellow developers complained about some strange behaviour with the dashboard and all of them were using the ‘Quick Publish’ option. So don’t bother, use the ‘Standard Publish’, it’s still extremely fast to get a new app on the store.
Lastly, it looks like there is another small bug with their notification emails. You’ll receive multiple notifications about your apps being released on the store. Even days after the original release. It’s not a big deal, but it gets annoying.
May be some of you are already familiar with the DVLUP program (if you are developing window’s phone applications). It’s a community website where you can earn points by participating to some challenges. With these points, you can buy rewards like devices (Lumia phones or NokiaX…) but also gift cards (Amazon, Skype…) and many other goodies. I’ve participate to some very simple NokiaX challenges (so far, I’ve only submitted my apps without any extras work) and already won a fair amount of points (enough to get 250€ worth of Amazon gift cards). It’s a clever idea from Nokia/Microsoft to keep developers motivated to support their platform and it works for both of them: NokiaX and Windows Phone.
The NokiaX platform is still very young so you shouldn’t expect to get a massive amount of downloads just yet. But Nokia is working on it, and it’s always nice to support a new platform from the beginning. You’ll have more chances to get highlighted by the marketing team and it’s easier to get in touch with a real developer relation person. The good news is that it’s dead simple to port a Google Play application to the NokiaX platform. So, there isn’t much that should stop you from submitting your apps to this new market.