+ All Categories
Home > Technology > March 2014 Meetup - Nokia X Tech Session

March 2014 Meetup - Nokia X Tech Session

Date post: 28-Jan-2015
Category:
Upload: blrdroid
View: 105 times
Download: 3 times
Share this document with a friend
Description:
Santosh from Nokia talking about how developers can port their apps to Nokia X platform
Popular Tags:
44
Technical Session Droid Meetup Bangalore Santosh KS Sr Product Manager
Transcript
Page 1: March 2014 Meetup - Nokia X Tech Session

Technical Session Droid Meetup Bangalore Santosh KS Sr Product Manager

Page 2: March 2014 Meetup - Nokia X Tech Session

Nokia X From low-end to the future

Nokia X

Access to the world of

Android apps +

Nokia X

Smoother, faster flow

between your favourite

apps

+

Nokia X

Standout Design that’s built to last

Page 3: March 2014 Meetup - Nokia X Tech Session

Nokia X Portfolio

Page 4: March 2014 Meetup - Nokia X Tech Session

Nokia X Technical Specifications

Nokia X+ Nokia X Nokia XL 4” screen (800*480) 1GHz Dual core CPU

3MP camera 7.2Mbps 3G

100 Mbps Wi-Fi Fastlane UI

4GB internal memory, 512MB RAM, 32GB Micro SD slot

API level 16 (Android version 4.1.2)

4” screen (800*480) 1GHz Dual core CPU

3MP camera 7.2Mbps 3G

100 Mbps Wi-Fi Fastlane UI

4GB internal memory, 768MB RAM, 32GB Micro SD slot

API level 16 (Android version 4.1.2)

5” screen (800*480) 1GHz Dual core CPU

5MP AF camera 1MP front facing camera

7.2Mbps 3G 100 Mbps Wi-Fi

Fastlane UI 4GB/768MB memory

API level 16 (Android version 4.1.2)

Page 5: March 2014 Meetup - Nokia X Tech Session

Nokia X software Platform A new platform built with Android Open Source Project at its core.. It combines a popular smartphone software base with Nokia’s global reach and strength to create new opportunities for your apps.

5

Android Open Source Project 4.1.2 (API level 16)

Android 3rd party applications

Nokia X software Platform 1.0 Nokia

Store Nokia

UX

In-App Payment

API

HERE API

Nokia Notifications

API

Page 6: March 2014 Meetup - Nokia X Tech Session

Nokia X What is it all about

Nokia X = Android – Google Services + Nokia X Services API level 16 Google Play Services

Google+ GCM Google Maps Google

Nokia In-app Payment HERE Maps Nokia Push Notifications

Page 7: March 2014 Meetup - Nokia X Tech Session

Nokia X APIs A new platform built with Android Open Source Project at its core.. It combines a popular smartphone software base with Nokia’s global reach and strength to create new opportunities for your apps.

HERE Maps Nokia Push Notifications Nokia In-App Payments

HERE maps provides complete offline experiences like no other maps service.

Simple yet powerful notifications service.

World’s largest operator billing network.

Page 8: March 2014 Meetup - Nokia X Tech Session

Nokia X 100 000+ Android applications tested A new platform built with Android Open Source Project at its core.. It combines a popular smartphone software base with Nokia’s global reach and strength to create new opportunities for your apps.

75% Android applications work unmodified 25% require small changes

Nokia X service APIs Nokia In-App Payment

HERE Maps

Nokia Notifications

(replace Google APIs)

Application ready to publish in Nokia Store.

No porting, no coding just publish!

Page 9: March 2014 Meetup - Nokia X Tech Session

Nokia X Analyser developer.nokia.com

Submit .apk to Nokia Store

75% work unmodified

Port using Nokia X

Services SDK

25% need a little retouch

Up to 8h porting*

Nokia X Compatibility, it’s a no brainer Nokia testing has shown that about 75% of Android apps will run properly without any modifications.

Plus we give you easy to use online and offline tools to check your applications within seconds.

*For most apps, depending on application complexity and number of used APIs that need porting

Page 10: March 2014 Meetup - Nokia X Tech Session

Publish to Nokia Store – its FREE

24.3.2014 10

$0

There is no registration fee to publish an app. It is free!!

Page 11: March 2014 Meetup - Nokia X Tech Session

Nokia X Porting workflow • Verify general compatibility (Nokia X Analyser)

• Install Nokia X services SDK

• Adapting to Nokia Services

• Polish and UI considerations

• Check application in Nokia X Emulator

• Check application with Remote Device Access

• Check application locally

• Publish

• Reap the rewards (Profit!)

Page 12: March 2014 Meetup - Nokia X Tech Session

Nokia X Verify general compatibility Check if your Android app is compatible with Nokia X software platform IN SECONDS.

Provide quick and easy porting steps highlights common failure cases for easy porting.

Nokia X Analyser engine is verified with 10K Android apps with 99% accuracy!

Nokia X Analyser scans the standard Android application packages (apk files) for the usage of

• Unsupported Google service APIs ( maps, notifications and in-app billing)

• NFC • Minimum API version required

Based on the above APIs’ usage, the application is flagged as compatible or not. Failure cases are surfaced to developers with pointers to fix using SDK plugins

NFC API Level

Analyser Rules Engine

Analyser UI

Android app (.apk) parser

G maps to HERE maps

G notifications to NNA

G billing to NIAP

Page 13: March 2014 Meetup - Nokia X Tech Session

Nokia X Install the Nokia X Services SDK

• Plugins/Extensions to Google’s ADT environment to enable Nokia X app development from Eclipse IDE.

• Nokia differentiation services targeted – In App Payment (NIAP), Notifications (NNA), HERE maps

Nokia X Differentiator Plugins

• AVD support for Nokia X device in Android SDK so that testing/debugging can be done in the emulator

Nokia X Device Emulation

Page 14: March 2014 Meetup - Nokia X Tech Session

Nokia X Emulator An API level 16 Android Virtual Device (AVD) with the Nokia X services enabled

Both ARM & X86 images (really fast!)

Works with ADB!

Page 15: March 2014 Meetup - Nokia X Tech Session

Nokia X Adapting to Nokia Services / Porting

Baseline Platform Android 4.1

------------------------------- Nokia X Software Platform 1.0

based on AOSP V 4.1

Google Maps

Google In-App Billing

Google Cloud Messaging

Page 16: March 2014 Meetup - Nokia X Tech Session

Nokia X One APK approach

• The Google and Nokia services can coexist in the applications

• Make sure you fail gracefully!

• You can load and use the one that is present at runtime

• A one time investment in terms of developer effort

• Allows submission of same APK to Google Play and the Nokia Store

• Address more users with a single release

• Simultaneous release of same version (QA permitting) in all stores

Page 17: March 2014 Meetup - Nokia X Tech Session

Nokia X HERE Maps API HERE Maps is Nokia Maps offering available with Nokia X services. It offers similar functionality as the Google Maps API, with improved offline functionality.

HERE Maps requires: • OpenGL ES 2.0 support

• HERE App ID & Token

• SD card to be present (emulator)

• Internet connection (emulator)

Note that map tiles will be cached, thus you need to load them only once.

Page 18: March 2014 Meetup - Nokia X Tech Session

Nokia X HERE Maps API Key

To obtain the key • Go to http://publish.nokia.com

• Create new content item

• Request new HERE Maps API key

Page 19: March 2014 Meetup - Nokia X Tech Session
Page 20: March 2014 Meetup - Nokia X Tech Session

Nokia X HERE Maps. STEP1 Configure project

Edit the “AndroidManifest.xml” file. • Add the following tag inside the application tag:

<uses-library android:name="com.here.android" />

• Make sure that the following permissions are included: <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE"/> <uses-permission android:name="android.permission.INTERNET"/> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>

• Set android:minSdkVersion to 11 inside the uses-sdk tag.

• Also remember the Map

Page 21: March 2014 Meetup - Nokia X Tech Session

Nokia X HERE Maps. STEP2 Add map UI element

Add the map as MapFragment UI element into your layout, for example: <!-- Map Fragment embedded with the map object --> <fragment class="com.here.android.mapping.MapFragment" android:id="@+id/mapfragment" android:layout_width="match_parent" android:layout_height="match_parent" />

Before using the Map control, you need to initialize it mapFragment = (MapFragment) getFragmentManager().findFragmentById(R.id.mapfragment); mapFragment.init(new FragmentInitListener() { @Override public void onFragmentInitializationCompleted(InitError error) { if (error == InitError.NONE) { // retrieve a reference of the map from the map fragment map = mapFragment.getMap(); //Start using the Map functions } else { System.out.println("ERROR: Cannot initialize Map Fragment"); } }});

Page 22: March 2014 Meetup - Nokia X Tech Session

Nokia X In App Payment (NIAP)

Benefits • Familiar, safe & localized purchasing experience

• Easy to port to, integrate and maintain (quote from portathon participant)

• Single click payment using Operator billing

• True 70/30 split (Gross not net!)

• Advanced transaction analytics integrated into your Nokia Store Dashboard

Available now!

Page 23: March 2014 Meetup - Nokia X Tech Session

Nokia X In App Payment broadest reach

■Full Country coverage

■Partial Country coverage

Live Operators

■No Country coverage 60 Markets / 160+ Operators!

Page 24: March 2014 Meetup - Nokia X Tech Session

Nokia X In App Payment API

Nokia In-App Payment offers simple, seamless integration of a payment event into an app published on Nokia Store. The key features of it are:

• Requesting details of purchasable products.

• Initiating the purchase flow.

• Marking products as consumed from the app.

• Requesting details of already purchased products.

NIAP system is made from 3 parts: • Nokia In-App Payment interface handles the communication between the app and the Nokia In-App

Payment Enabler.

• The Nokia In-App Payment Enabler is responsible for the payment processing and interaction with Nokia Store. It also implements all UIs for payment transactions.

• Nokia Store provides the repository with product details and the mechanism for making the payment through operator billing.

Page 25: March 2014 Meetup - Nokia X Tech Session

Nokia X In App Payment flow example

• App sends isBillingSupported request to INokiaIAPService to determine whether the billing is supported on the device

• App checks Nokia Store for details on which products are available for purchase from the app.

• If there are products which are not already owned by the user, then the App can initiate In-App Payment for them

• Consume the product, if the product is meant to be consumable e.g. in game currency

• Once the process has completed, it is the app's responsibility to unlock or download, persistently store, and protect the purchased product

Page 26: March 2014 Meetup - Nokia X Tech Session

Nokia X In App Payment flow example

Page 27: March 2014 Meetup - Nokia X Tech Session

Nokia X Adding NIAP to your project

• Prepare the environment:

Add the INokiaIAPService.aidl into the project

Add the "com.nokia.payment.BILLING", permission into the manifest file

• Get the NIAP content Ids for the Nokia Store

• Code in the NIAP usage into the application

Create a ServiceConnection and bind it to INokiaIAPService

Use functions provided by the API

• Handle in-app purchase responses from the Nokia Store.

Page 28: March 2014 Meetup - Nokia X Tech Session

Nokia X Testing NIAP

For testing, you can use special test IDs which are not causing real payments, but enable full interaction with the Nokia Store server.

Test Product id Title Description Outcome 1023608 nPay Level 1 NPayDemoLevel_1 success 1023609 nPay Level 2 NPayDemoLevel_2 success 1023610 nPay Level 3 NPayDemoLevel_3 success 1023611 - 20 nPay Level 4-13 NPayDemoLevel_4 .. _13 success 1023621 nPay Level 14 NPayDemoLevel_14 success 1023622 nPay Level 15 NPayDemoLevel_15 success 1023623 nPay Level 16 NPayDemoRestorable restore 1023624 nPay Level 17 NPayDemoRestorationDeviceLimitExceeded fail 1023625 nPay Level 18 NPayDemoUnknownProduct fail 1023626 nPay Level 19 NPayDemoFail fail

Page 29: March 2014 Meetup - Nokia X Tech Session

Nokia X Notifications API

• The Nokia Notifications API (NNA) in Nokia X provides a subset ofGoogle's Cloud to Device Messaging (C2DM) and Google Cloud Message (GCM) features

• Nearly GCM-identical API (except for the namespace)

• Client features:

• Registering and unregistering to receive notifications

• Receiving notifications with payload

• Before you can start using Nokia Push Notifications API, you need to register a Sender ID from Nokia Push Notification developer console at : https://console.push.nokia.com

Page 30: March 2014 Meetup - Nokia X Tech Session

Nokia X Notifications API (NNA). Testing the service

• Go to the Nokia Push Notification developer console

• Create new Sender ID and add use in in your application.

• Select the Sender ID in the developer console to open the sending view for the Sender ID

• Copy the Registration ID to the input box

• you got this with the application when you registered it with the Sender ID .

• Add payload.

• Click ”Push” to send the notification message.

Page 31: March 2014 Meetup - Nokia X Tech Session

Nokia X NNA. STEP1 Modify the manifest file <manifest …>

...

<permission android:name="com.nokia.pushnotifications.gcmdemo.permission.C2D_MESSAGE" android:protectionLevel="signature" />

<uses-permission android:name="com.nokia.pushnotifications.gcmdemo.permission.C2D_MESSAGE" />

<uses-permission android:name="com.nokia.pushnotifications.permission.RECEIVE" />

<!-- Main activity. -->

<application

<receiver

android:name="com.google.android.gcm.GCMBroadcastReceiver"

android:permission="com.nokia.pushnotifications.permission.SEND" >

<intent-filter>

<!-- Receives the actual messages. -->

<action android:name="com.nokia.pushnotifications.intent.RECEIVE" />

<!-- Receives the registration id. -->

<action android:name="com.nokia.pushnotifications.intent.REGISTRATION" />

<category android:name="com.nokia.pushnotifications.gcmdemo" />

</intent-filter>

</receiver>

<service android:name="com.nokia.pushnotifications.gcmdemo.GCMIntentService" />

</application>

</manifest>

Page 32: March 2014 Meetup - Nokia X Tech Session

Nokia X NNA. STEP2 Add the wrapper

• Include the source codes for the “com.google.android.gcm” package in your project. • Import General Filesystem, and browse from the samples folder

(\push_gcm_test\com\google\android\gcm).

• Rename the package to “com.google.android.gcm”, if needed.

• The Classes provided in the Wrapper are: • com.google.android.gcm.GCMBaseIntentService

• com.google.android.gcm.GCMBroadcastReceiver

• com.google.android.gcm.GCMConstants

• com.google.android.gcm.GCMRegistrar

Page 33: March 2014 Meetup - Nokia X Tech Session

Nokia X NNA. STEP3 Replace sender ID

• Replace the Sender ID with the Application ID associated with your NNA service at https://console.push.nokia.com

• Naturally you do also need to make any necessary changes so that your backend service can use the NNA

Page 34: March 2014 Meetup - Nokia X Tech Session

Nokia X NNA. API namespace and classes

• Nokia Notifications Server API 2.0 is a downstream (service-to-client) only service, supporting HTTP connection method and providing a subset of GCM features

• Only HTTP POST requests are supported. Address to send the requests to is https://nnapi.ovi.com/nnapi/2.0/send

• Data field size is limited to a maximum length of 4096 bytes; other field sizes are not limited

• Valid character set are all characters allowed in the XML 1.0 specification, in UTF-8 format (see W3C recommendation for details)

Page 35: March 2014 Meetup - Nokia X Tech Session

Nokia X Polish and UI considerations

Adopting Android UI to Nokia X UI requires tests and one icon

Page 36: March 2014 Meetup - Nokia X Tech Session

Nokia X UI

Nokia X uses HDPI bucket

Page 37: March 2014 Meetup - Nokia X Tech Session

Nokia X UI fonts

Different font (like Nokia Pure) might mean different text length

Page 38: March 2014 Meetup - Nokia X Tech Session

Nokia X UI Slightly different notifications area

Page 39: March 2014 Meetup - Nokia X Tech Session

Nokia X UI Menu

Android’s Menu (3.0 and older) is replaced by Nokia’s Options menu.

Page 40: March 2014 Meetup - Nokia X Tech Session

Nokia X UI Icon

Plain glyph as launcher icon to fit platform design

Page 41: March 2014 Meetup - Nokia X Tech Session

Nokia X Remote Device Access (RDA)

• Browser based service for developers to test their apps and services remotely in wide range of real, physical Nokia devices

• Natural extension for development and testing done with SDK and emulator

• FREE of charge

• ~150 devices in the service, from low to high end

• Supported platforms: • Nokia X Software Platform

• Windows Phone 8

• Asha Software Developer Platform / Series 40

Page 42: March 2014 Meetup - Nokia X Tech Session

Nokia X Summary Nokia X is Nokia’s new platform with Android at it’s core Nokia X porting is easy and fast Nokia X opens new markets to your existing apps

Page 43: March 2014 Meetup - Nokia X Tech Session

Nokia X Q & A

51

Page 44: March 2014 Meetup - Nokia X Tech Session

Nokia X Thanks for your time

GO! PORT


Recommended