SlideShare a Scribd company logo
by Stanislav Khorunzhyi
JavaScript developer at Sigma Software
Android apps with Ionic.
From rags to riches
Agenda
1. Android apps with Ionic Framework
2. Money
3. My experience with Google Play
Chapter 1: Android apps with
Ionic Framework
What is Ionic?
Ionic Framework is an open source SDK that enables developers to build
performant, high-quality mobile apps using familiar web technologies (HTML,
CSS, and JavaScript).
Current version: 3.6.0
Stars on GitHub: more than 31k
Downloads on npm (last month): more than 1M
More than framework
1. CLI tool
2. Forum
3. Cloud storage
4. Ionic market (plugins, themes, starters)
5. Ionic creator (drag’n’drop tool to build app)
6. Deploy tool
7. Ionic lab
8. Etc.
Technologies stack
Ionic is always up-to-date and allows developers to use the following
technologies stack:
1. Angular 4.x
2. TypeScript
3. SCSS
How it works
Since Android 4.4 (KitKat), the WebView component is based on the Chromium
open source project.
Native features support
Ionic is build on top of Cordova.
Cordova plugins allows us to use native features like camera, brightness,
bluetooth, geolocation, etc.
What we need to move on?
1. Install ionic and cordova
$ npm install –g ionic cordova
2. Install Android studio (it includes all required android SDK tools)
https://developer.android.com/studio
3. Get started with Ionic
$ ionic start sigma-tech-week tabs
$ cd sigma-tech-week
$ ionic lab
Ionic lab
Ionic lab
Ionic components
Let’s proceed with our app
1. Add predefined components to the app
2. Add some styles
3. Prepare for publishing
1. Promo page
1. Promo page
<ion-header>
<ion-navbar>
<ion-title>О встрече</ion-title>
</ion-navbar>
</ion-header>
1. Promo page
<ion-content class="cards-bg">
<ion-card class="adv-map">
<img src="assets/promo-sigma.png"/>
<ion-item>
<h1 text-center>JavaScript meetup</h1>
<ion-item class="icons-info">
<div *ngFor="let item of infoList">
<ion-icon [name]="item.icon"></ion-icon>
{{item.title}}
</div>
</ion-item>
<div class="description" [innerHTML]="promoDescription"></div>
</ion-item>
</ion-card>
</ion-content>
1. Promo page
import { Component } from '@angular/core';
@Component({
selector: 'page-about',
templateUrl: 'about.html'
})
export class PageAbout {
infoList = [
{ icon: 'navigate', title: 'Одесса' },
{ icon: 'home', title: 'Терминал 42' },
{ icon: 'cloudy-night', title: '19:00-22:00' }
];
promoDescription = `
С 4 по 8 сентября компания Sigma Software приглашает
на серию мероприятий, направленных на обмен опытом,
общение между представителями ИТ сообщества Одессы.
`;
}
2. Map
3. Forum
Summary: Chapter 1
1. Learned what Ionic framework is
2. Installed Ionic framework
3. Created sigma-tech-week application boilerplate with Ionic CLI
4. Added UI components and styles
What’s next?
Chapter 2: Money
Why it is important?
When you publish an application to Google Play you probably
want to make money on it.
How to make money on Android apps?
1. Banner Ads
2. Microtransactions (in-game purchases)
3. Paid applications
4. Light and Pro versions
5. Games with energy -_-
Our choice is Banner Ads
There are 3 types of Banner Ads in Ionic:
1. Banner
2. Interstitial
3. Rewarded video
Preparation
To add Ads to our application:
1. Create AdMob account
2. Register new banner to get banner id
3. Install required plugins for Ionic:
$ ionic cordova plugin add cordova-plugin-admob-free
$ npm install –save @ionic-native/admob-free
Let’s add AdMob banner to the app
constructor(public admobFree: AdMobFree) {
this.bannerConfig = {
id: 'ca-app-pub-6558685611970079/2647927185',
autoShow: true
};
this.admobFree.banner.config(this.bannerConfig);
}
ionViewDidLoad() {
this.admobFree.banner.prepare();
}
AdMob in action: Banner
AdMob in action: Interstitial
AdMob in action: Reward video
Statistics
1) Ad providers pays for clicks a lot more than just for
displays
1000 displays = ~1 apple
1000 clicks = ~40 – 50 apples
Statistics
2) Interstitial banner is profitable than static one, but it is more
annoying for end users. Choose the most suitable for your
app.
Statistics
3) If you want to get 150-200 apples per month from a game
you need to have at least 15k active players
We are ready to publish the app!
1. Go to Google Play console
2. Sign up new Google Developer Account
3. Pay 25$ for registration
4. We are completely ready to publish sigma-tech-week!
Summary: Chapter 2
1. Discussed types of banner Ad
2. Created AdMob account
3. Generated banner IDs
4. Added banner Ads to sigma-tech-week application
5. Learned how to create dev account
What’s next?
Chapter 3: My experience with
Google Play
Advice 1: Choose a place for banner Ads
If you decided to add Ads to your application you have to select appropriate
place, size, type and other configurations for banner.
Do it on the very first steps.
BANNER (640x20)
CONTENT
Advice 2: Do not click on your Ads
Do not click on your Ads, even for testing purposes
Advice 2: Do not click on your Ads
Do not click on your Ads, even for testing purposes:
How to test banner Ads?
Set the corresponding option in banner config:
this.bannerConfig = {
id: 'ca-app-pub-6558685611970079/8123060235',
isTesting: true, /* set this option */
autoShow: true
};
this.admobFree.rewardVideo.config(this.bannerConfig);
Advice 3: Check min SDK version when publishing
Ionic 3 applications work well on Android 4.4+.
To run it on Android 4.1 – use Cordova Crosswalk plugin.
https://github.com/crosswalk-project/cordova-plugin-crosswalk-webview
How to deal with it?
Each Android app has config.xml file, Ionic apps do the same.
There is an option:
Set it to 19 if you don’t use Crosswalk and leave it as 16 if you do use the
plugin.
<preference name="android-minSdkVersion" value="16" />
When you forget about this…
Advice 4: Follow the trends
1. Monitor market to see what is popular for now
2. Create the application on trend topics first
3. Combine your ideas with something popular
Great example of trend application
Great example of trend application
Bring your ideas to the
world of Android applications

More Related Content

Similar to Android apps with Ionic. From rags to riches, Stanislav Khorunzhyi

RICOH THETA x IoT Developers Contest : Cloud API Seminar
 RICOH THETA x IoT Developers Contest : Cloud API Seminar RICOH THETA x IoT Developers Contest : Cloud API Seminar
RICOH THETA x IoT Developers Contest : Cloud API Seminar
contest-theta360
 
MPointInc_AndroidSDK_Documentation
MPointInc_AndroidSDK_DocumentationMPointInc_AndroidSDK_Documentation
MPointInc_AndroidSDK_Documentation
Xin Shao
 
AN IDE FOR ANDROID MOBILE PHONES WITH EXTENDED FUNCTIONALITIES USING BEST DEV...
AN IDE FOR ANDROID MOBILE PHONES WITH EXTENDED FUNCTIONALITIES USING BEST DEV...AN IDE FOR ANDROID MOBILE PHONES WITH EXTENDED FUNCTIONALITIES USING BEST DEV...
AN IDE FOR ANDROID MOBILE PHONES WITH EXTENDED FUNCTIONALITIES USING BEST DEV...
IJCNCJournal
 
Mobile os by waqas
Mobile os by waqasMobile os by waqas
Mobile os by waqas
8neutron8
 
Google admob mediation tutorial
Google admob mediation tutorialGoogle admob mediation tutorial
Google admob mediation tutorial
Rakesh Singh Parihar
 
App42 Student Lab - Android Game Dev Series V 0.1
App42 Student Lab - Android Game Dev Series V 0.1App42 Student Lab - Android Game Dev Series V 0.1
App42 Student Lab - Android Game Dev Series V 0.1
ShepHertz
 
GDG Oslo: Hidden Android features
GDG Oslo: Hidden Android featuresGDG Oslo: Hidden Android features
GDG Oslo: Hidden Android features
Konstantin Loginov
 
Rapid mobile app development using Ionic framework
Rapid mobile app development using Ionic frameworkRapid mobile app development using Ionic framework
Rapid mobile app development using Ionic framework
Swaminathan Vetri
 
Flutter Android / iOS Build Preparation
Flutter Android / iOS Build PreparationFlutter Android / iOS Build Preparation
Flutter Android / iOS Build Preparation
9 series
 
Six Strategies for Protecting Mobile Games Against Hackers, Crackers, and Cop...
Six Strategies for Protecting Mobile Games Against Hackers, Crackers, and Cop...Six Strategies for Protecting Mobile Games Against Hackers, Crackers, and Cop...
Six Strategies for Protecting Mobile Games Against Hackers, Crackers, and Cop...
AppSolid by SEWORKS
 
How to build your own Android App -Step by Step Guide
How to build your own Android App -Step by Step GuideHow to build your own Android App -Step by Step Guide
How to build your own Android App -Step by Step Guide
Ace Web Academy -Career Development Center
 
PERTEMUAN 3_INTRO TO ANDROID APP DEV.pdf
PERTEMUAN 3_INTRO TO ANDROID APP DEV.pdfPERTEMUAN 3_INTRO TO ANDROID APP DEV.pdf
PERTEMUAN 3_INTRO TO ANDROID APP DEV.pdf
arfa442827
 
Modifying Android Apps Without Source Code with Microsoft Visual Studio Code
Modifying Android Apps Without Source Code with Microsoft Visual Studio CodeModifying Android Apps Without Source Code with Microsoft Visual Studio Code
Modifying Android Apps Without Source Code with Microsoft Visual Studio Code
Ronillo Ang
 
best Mobile App Development Companies in Bangalore.pdf
best Mobile App Development Companies in Bangalore.pdfbest Mobile App Development Companies in Bangalore.pdf
best Mobile App Development Companies in Bangalore.pdf
IndGlobal Digital Private Limited
 
Android study jams
Android study jamsAndroid study jams
Android study jams
GDSCIIITR
 
MOBILE APPLICATIONS DEVELOPMENT AND SERVICES.pptx
MOBILE APPLICATIONS DEVELOPMENT AND SERVICES.pptxMOBILE APPLICATIONS DEVELOPMENT AND SERVICES.pptx
MOBILE APPLICATIONS DEVELOPMENT AND SERVICES.pptx
muthulakshmi cse
 
Android Study Jam - Introduction
Android Study Jam - IntroductionAndroid Study Jam - Introduction
Android Study Jam - Introduction
HitanshDoshi
 
Intro to Hybrid Mobile Development && Ionic
Intro to Hybrid Mobile Development && IonicIntro to Hybrid Mobile Development && Ionic
Intro to Hybrid Mobile Development && Ionic
Fioriela Bego
 
Intro to Hybrid Mobile Development && Ionic
Intro to Hybrid Mobile Development && IonicIntro to Hybrid Mobile Development && Ionic
Intro to Hybrid Mobile Development && Ionic
Commit Software Sh.p.k.
 
Android app development guide for freshers by ace web academy
Android app development guide for freshers  by ace web academyAndroid app development guide for freshers  by ace web academy
Android app development guide for freshers by ace web academy
Ace Web Academy -Career Development Center
 

Similar to Android apps with Ionic. From rags to riches, Stanislav Khorunzhyi (20)

RICOH THETA x IoT Developers Contest : Cloud API Seminar
 RICOH THETA x IoT Developers Contest : Cloud API Seminar RICOH THETA x IoT Developers Contest : Cloud API Seminar
RICOH THETA x IoT Developers Contest : Cloud API Seminar
 
MPointInc_AndroidSDK_Documentation
MPointInc_AndroidSDK_DocumentationMPointInc_AndroidSDK_Documentation
MPointInc_AndroidSDK_Documentation
 
AN IDE FOR ANDROID MOBILE PHONES WITH EXTENDED FUNCTIONALITIES USING BEST DEV...
AN IDE FOR ANDROID MOBILE PHONES WITH EXTENDED FUNCTIONALITIES USING BEST DEV...AN IDE FOR ANDROID MOBILE PHONES WITH EXTENDED FUNCTIONALITIES USING BEST DEV...
AN IDE FOR ANDROID MOBILE PHONES WITH EXTENDED FUNCTIONALITIES USING BEST DEV...
 
Mobile os by waqas
Mobile os by waqasMobile os by waqas
Mobile os by waqas
 
Google admob mediation tutorial
Google admob mediation tutorialGoogle admob mediation tutorial
Google admob mediation tutorial
 
App42 Student Lab - Android Game Dev Series V 0.1
App42 Student Lab - Android Game Dev Series V 0.1App42 Student Lab - Android Game Dev Series V 0.1
App42 Student Lab - Android Game Dev Series V 0.1
 
GDG Oslo: Hidden Android features
GDG Oslo: Hidden Android featuresGDG Oslo: Hidden Android features
GDG Oslo: Hidden Android features
 
Rapid mobile app development using Ionic framework
Rapid mobile app development using Ionic frameworkRapid mobile app development using Ionic framework
Rapid mobile app development using Ionic framework
 
Flutter Android / iOS Build Preparation
Flutter Android / iOS Build PreparationFlutter Android / iOS Build Preparation
Flutter Android / iOS Build Preparation
 
Six Strategies for Protecting Mobile Games Against Hackers, Crackers, and Cop...
Six Strategies for Protecting Mobile Games Against Hackers, Crackers, and Cop...Six Strategies for Protecting Mobile Games Against Hackers, Crackers, and Cop...
Six Strategies for Protecting Mobile Games Against Hackers, Crackers, and Cop...
 
How to build your own Android App -Step by Step Guide
How to build your own Android App -Step by Step GuideHow to build your own Android App -Step by Step Guide
How to build your own Android App -Step by Step Guide
 
PERTEMUAN 3_INTRO TO ANDROID APP DEV.pdf
PERTEMUAN 3_INTRO TO ANDROID APP DEV.pdfPERTEMUAN 3_INTRO TO ANDROID APP DEV.pdf
PERTEMUAN 3_INTRO TO ANDROID APP DEV.pdf
 
Modifying Android Apps Without Source Code with Microsoft Visual Studio Code
Modifying Android Apps Without Source Code with Microsoft Visual Studio CodeModifying Android Apps Without Source Code with Microsoft Visual Studio Code
Modifying Android Apps Without Source Code with Microsoft Visual Studio Code
 
best Mobile App Development Companies in Bangalore.pdf
best Mobile App Development Companies in Bangalore.pdfbest Mobile App Development Companies in Bangalore.pdf
best Mobile App Development Companies in Bangalore.pdf
 
Android study jams
Android study jamsAndroid study jams
Android study jams
 
MOBILE APPLICATIONS DEVELOPMENT AND SERVICES.pptx
MOBILE APPLICATIONS DEVELOPMENT AND SERVICES.pptxMOBILE APPLICATIONS DEVELOPMENT AND SERVICES.pptx
MOBILE APPLICATIONS DEVELOPMENT AND SERVICES.pptx
 
Android Study Jam - Introduction
Android Study Jam - IntroductionAndroid Study Jam - Introduction
Android Study Jam - Introduction
 
Intro to Hybrid Mobile Development && Ionic
Intro to Hybrid Mobile Development && IonicIntro to Hybrid Mobile Development && Ionic
Intro to Hybrid Mobile Development && Ionic
 
Intro to Hybrid Mobile Development && Ionic
Intro to Hybrid Mobile Development && IonicIntro to Hybrid Mobile Development && Ionic
Intro to Hybrid Mobile Development && Ionic
 
Android app development guide for freshers by ace web academy
Android app development guide for freshers  by ace web academyAndroid app development guide for freshers  by ace web academy
Android app development guide for freshers by ace web academy
 

More from Sigma Software

Fast is Best. Using .NET MinimalAPIs
Fast is Best. Using .NET MinimalAPIsFast is Best. Using .NET MinimalAPIs
Fast is Best. Using .NET MinimalAPIs
Sigma Software
 
"Are you developing or declining? Don't become an IT-dinosaur"
"Are you developing or declining? Don't become an IT-dinosaur""Are you developing or declining? Don't become an IT-dinosaur"
"Are you developing or declining? Don't become an IT-dinosaur"
Sigma Software
 
Michael Smolin, "Decrypting customer's cultural code"
Michael Smolin, "Decrypting customer's cultural code"Michael Smolin, "Decrypting customer's cultural code"
Michael Smolin, "Decrypting customer's cultural code"
Sigma Software
 
Max Kunytsia, “Why is continuous product discovery better than continuous del...
Max Kunytsia, “Why is continuous product discovery better than continuous del...Max Kunytsia, “Why is continuous product discovery better than continuous del...
Max Kunytsia, “Why is continuous product discovery better than continuous del...
Sigma Software
 
Marcelino Moreno, "Product Management Mindset"
Marcelino Moreno, "Product Management Mindset"Marcelino Moreno, "Product Management Mindset"
Marcelino Moreno, "Product Management Mindset"
Sigma Software
 
Andrii Pastushok, "Product Discovery in Outsourcing - What, When, and How"
Andrii Pastushok, "Product Discovery in Outsourcing - What, When, and How"Andrii Pastushok, "Product Discovery in Outsourcing - What, When, and How"
Andrii Pastushok, "Product Discovery in Outsourcing - What, When, and How"
Sigma Software
 
Elena Turkenych “BA vs PM: Who' the right person, for the right job, with the...
Elena Turkenych “BA vs PM: Who' the right person, for the right job, with the...Elena Turkenych “BA vs PM: Who' the right person, for the right job, with the...
Elena Turkenych “BA vs PM: Who' the right person, for the right job, with the...
Sigma Software
 
Eleonora Budanova “BA+PM+DEV team: how to build the synergy”
Eleonora Budanova “BA+PM+DEV team: how to build the synergy”Eleonora Budanova “BA+PM+DEV team: how to build the synergy”
Eleonora Budanova “BA+PM+DEV team: how to build the synergy”
Sigma Software
 
Stoyan Atanasov “How crucial is the BA role in an IT Project"
Stoyan Atanasov “How crucial is the BA role in an IT Project"Stoyan Atanasov “How crucial is the BA role in an IT Project"
Stoyan Atanasov “How crucial is the BA role in an IT Project"
Sigma Software
 
Olexandra Kovalyova, "Equivalence Partitioning, Boundary Values ​​Analysis, C...
Olexandra Kovalyova, "Equivalence Partitioning, Boundary Values ​​Analysis, C...Olexandra Kovalyova, "Equivalence Partitioning, Boundary Values ​​Analysis, C...
Olexandra Kovalyova, "Equivalence Partitioning, Boundary Values ​​Analysis, C...
Sigma Software
 
Yana Lysa — "Decision Tables, State-Transition testing, Pairwase Testing"
Yana Lysa — "Decision Tables, State-Transition testing, Pairwase Testing"Yana Lysa — "Decision Tables, State-Transition testing, Pairwase Testing"
Yana Lysa — "Decision Tables, State-Transition testing, Pairwase Testing"
Sigma Software
 
VOLVO x HACK SPRINT
VOLVO x HACK SPRINTVOLVO x HACK SPRINT
VOLVO x HACK SPRINT
Sigma Software
 
Business digitalization trends and challenges
Business digitalization trends and challengesBusiness digitalization trends and challenges
Business digitalization trends and challenges
Sigma Software
 
Дмитро Терещенко, "How to secure your application with Secure SDLC"
Дмитро Терещенко, "How to secure your application with Secure SDLC"Дмитро Терещенко, "How to secure your application with Secure SDLC"
Дмитро Терещенко, "How to secure your application with Secure SDLC"Sigma Software
 
Яна Лиса, “Ефективні методи написання хороших мануальних тестових сценаріїв”
Яна Лиса, “Ефективні методи написання хороших мануальних тестових сценаріїв”Яна Лиса, “Ефективні методи написання хороших мануальних тестових сценаріїв”
Яна Лиса, “Ефективні методи написання хороших мануальних тестових сценаріїв”
Sigma Software
 
Тетяна Осетрова, “Модель зрілості розподіленної проектної команди”
Тетяна Осетрова, “Модель зрілості розподіленної проектної команди”Тетяна Осетрова, “Модель зрілості розподіленної проектної команди”
Тетяна Осетрова, “Модель зрілості розподіленної проектної команди”
Sigma Software
 
Training solutions and content creation
Training solutions and content creationTraining solutions and content creation
Training solutions and content creation
Sigma Software
 
False news - false truth: tips & tricks how to avoid them
False news - false truth: tips & tricks how to avoid themFalse news - false truth: tips & tricks how to avoid them
False news - false truth: tips & tricks how to avoid them
Sigma Software
 
Анна Бойко, "Хороший контракт vs очікування клієнтів. Що вбереже вас, якщо вд...
Анна Бойко, "Хороший контракт vs очікування клієнтів. Що вбереже вас, якщо вд...Анна Бойко, "Хороший контракт vs очікування клієнтів. Що вбереже вас, якщо вд...
Анна Бойко, "Хороший контракт vs очікування клієнтів. Що вбереже вас, якщо вд...
Sigma Software
 
Дмитрий Лапшин, "The importance of TEX and Internal Quality. How explain and ...
Дмитрий Лапшин, "The importance of TEX and Internal Quality. How explain and ...Дмитрий Лапшин, "The importance of TEX and Internal Quality. How explain and ...
Дмитрий Лапшин, "The importance of TEX and Internal Quality. How explain and ...
Sigma Software
 

More from Sigma Software (20)

Fast is Best. Using .NET MinimalAPIs
Fast is Best. Using .NET MinimalAPIsFast is Best. Using .NET MinimalAPIs
Fast is Best. Using .NET MinimalAPIs
 
"Are you developing or declining? Don't become an IT-dinosaur"
"Are you developing or declining? Don't become an IT-dinosaur""Are you developing or declining? Don't become an IT-dinosaur"
"Are you developing or declining? Don't become an IT-dinosaur"
 
Michael Smolin, "Decrypting customer's cultural code"
Michael Smolin, "Decrypting customer's cultural code"Michael Smolin, "Decrypting customer's cultural code"
Michael Smolin, "Decrypting customer's cultural code"
 
Max Kunytsia, “Why is continuous product discovery better than continuous del...
Max Kunytsia, “Why is continuous product discovery better than continuous del...Max Kunytsia, “Why is continuous product discovery better than continuous del...
Max Kunytsia, “Why is continuous product discovery better than continuous del...
 
Marcelino Moreno, "Product Management Mindset"
Marcelino Moreno, "Product Management Mindset"Marcelino Moreno, "Product Management Mindset"
Marcelino Moreno, "Product Management Mindset"
 
Andrii Pastushok, "Product Discovery in Outsourcing - What, When, and How"
Andrii Pastushok, "Product Discovery in Outsourcing - What, When, and How"Andrii Pastushok, "Product Discovery in Outsourcing - What, When, and How"
Andrii Pastushok, "Product Discovery in Outsourcing - What, When, and How"
 
Elena Turkenych “BA vs PM: Who' the right person, for the right job, with the...
Elena Turkenych “BA vs PM: Who' the right person, for the right job, with the...Elena Turkenych “BA vs PM: Who' the right person, for the right job, with the...
Elena Turkenych “BA vs PM: Who' the right person, for the right job, with the...
 
Eleonora Budanova “BA+PM+DEV team: how to build the synergy”
Eleonora Budanova “BA+PM+DEV team: how to build the synergy”Eleonora Budanova “BA+PM+DEV team: how to build the synergy”
Eleonora Budanova “BA+PM+DEV team: how to build the synergy”
 
Stoyan Atanasov “How crucial is the BA role in an IT Project"
Stoyan Atanasov “How crucial is the BA role in an IT Project"Stoyan Atanasov “How crucial is the BA role in an IT Project"
Stoyan Atanasov “How crucial is the BA role in an IT Project"
 
Olexandra Kovalyova, "Equivalence Partitioning, Boundary Values ​​Analysis, C...
Olexandra Kovalyova, "Equivalence Partitioning, Boundary Values ​​Analysis, C...Olexandra Kovalyova, "Equivalence Partitioning, Boundary Values ​​Analysis, C...
Olexandra Kovalyova, "Equivalence Partitioning, Boundary Values ​​Analysis, C...
 
Yana Lysa — "Decision Tables, State-Transition testing, Pairwase Testing"
Yana Lysa — "Decision Tables, State-Transition testing, Pairwase Testing"Yana Lysa — "Decision Tables, State-Transition testing, Pairwase Testing"
Yana Lysa — "Decision Tables, State-Transition testing, Pairwase Testing"
 
VOLVO x HACK SPRINT
VOLVO x HACK SPRINTVOLVO x HACK SPRINT
VOLVO x HACK SPRINT
 
Business digitalization trends and challenges
Business digitalization trends and challengesBusiness digitalization trends and challenges
Business digitalization trends and challenges
 
Дмитро Терещенко, "How to secure your application with Secure SDLC"
Дмитро Терещенко, "How to secure your application with Secure SDLC"Дмитро Терещенко, "How to secure your application with Secure SDLC"
Дмитро Терещенко, "How to secure your application with Secure SDLC"
 
Яна Лиса, “Ефективні методи написання хороших мануальних тестових сценаріїв”
Яна Лиса, “Ефективні методи написання хороших мануальних тестових сценаріїв”Яна Лиса, “Ефективні методи написання хороших мануальних тестових сценаріїв”
Яна Лиса, “Ефективні методи написання хороших мануальних тестових сценаріїв”
 
Тетяна Осетрова, “Модель зрілості розподіленної проектної команди”
Тетяна Осетрова, “Модель зрілості розподіленної проектної команди”Тетяна Осетрова, “Модель зрілості розподіленної проектної команди”
Тетяна Осетрова, “Модель зрілості розподіленної проектної команди”
 
Training solutions and content creation
Training solutions and content creationTraining solutions and content creation
Training solutions and content creation
 
False news - false truth: tips & tricks how to avoid them
False news - false truth: tips & tricks how to avoid themFalse news - false truth: tips & tricks how to avoid them
False news - false truth: tips & tricks how to avoid them
 
Анна Бойко, "Хороший контракт vs очікування клієнтів. Що вбереже вас, якщо вд...
Анна Бойко, "Хороший контракт vs очікування клієнтів. Що вбереже вас, якщо вд...Анна Бойко, "Хороший контракт vs очікування клієнтів. Що вбереже вас, якщо вд...
Анна Бойко, "Хороший контракт vs очікування клієнтів. Що вбереже вас, якщо вд...
 
Дмитрий Лапшин, "The importance of TEX and Internal Quality. How explain and ...
Дмитрий Лапшин, "The importance of TEX and Internal Quality. How explain and ...Дмитрий Лапшин, "The importance of TEX and Internal Quality. How explain and ...
Дмитрий Лапшин, "The importance of TEX and Internal Quality. How explain and ...
 

Recently uploaded

Unveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdfUnveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdf
brainerhub1
 
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, FactsALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
Green Software Development
 
How to write a program in any programming language
How to write a program in any programming languageHow to write a program in any programming language
How to write a program in any programming language
Rakesh Kumar R
 
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissancesAtelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Neo4j
 
Transform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR SolutionsTransform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR Solutions
TheSMSPoint
 
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling ExtensionsUI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
Peter Muessig
 
Artificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension FunctionsArtificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension Functions
Octavian Nadolu
 
Requirement Traceability in Xen Functional Safety
Requirement Traceability in Xen Functional SafetyRequirement Traceability in Xen Functional Safety
Requirement Traceability in Xen Functional Safety
Ayan Halder
 
What is Master Data Management by PiLog Group
What is Master Data Management by PiLog GroupWhat is Master Data Management by PiLog Group
What is Master Data Management by PiLog Group
aymanquadri279
 
Odoo ERP Vs. Traditional ERP Systems – A Comparative Analysis
Odoo ERP Vs. Traditional ERP Systems – A Comparative AnalysisOdoo ERP Vs. Traditional ERP Systems – A Comparative Analysis
Odoo ERP Vs. Traditional ERP Systems – A Comparative Analysis
Envertis Software Solutions
 
Lecture 2 - software testing SE 412.pptx
Lecture 2 - software testing SE 412.pptxLecture 2 - software testing SE 412.pptx
Lecture 2 - software testing SE 412.pptx
TaghreedAltamimi
 
Oracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptxOracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptx
Remote DBA Services
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Łukasz Chruściel
 
UI5con 2024 - Bring Your Own Design System
UI5con 2024 - Bring Your Own Design SystemUI5con 2024 - Bring Your Own Design System
UI5con 2024 - Bring Your Own Design System
Peter Muessig
 
socradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdfsocradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdf
SOCRadar
 
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
kalichargn70th171
 
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
XfilesPro
 
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOMLORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
lorraineandreiamcidl
 
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j
 
GreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-JurisicGreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-Jurisic
Green Software Development
 

Recently uploaded (20)

Unveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdfUnveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdf
 
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, FactsALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
 
How to write a program in any programming language
How to write a program in any programming languageHow to write a program in any programming language
How to write a program in any programming language
 
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissancesAtelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissances
 
Transform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR SolutionsTransform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR Solutions
 
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling ExtensionsUI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
 
Artificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension FunctionsArtificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension Functions
 
Requirement Traceability in Xen Functional Safety
Requirement Traceability in Xen Functional SafetyRequirement Traceability in Xen Functional Safety
Requirement Traceability in Xen Functional Safety
 
What is Master Data Management by PiLog Group
What is Master Data Management by PiLog GroupWhat is Master Data Management by PiLog Group
What is Master Data Management by PiLog Group
 
Odoo ERP Vs. Traditional ERP Systems – A Comparative Analysis
Odoo ERP Vs. Traditional ERP Systems – A Comparative AnalysisOdoo ERP Vs. Traditional ERP Systems – A Comparative Analysis
Odoo ERP Vs. Traditional ERP Systems – A Comparative Analysis
 
Lecture 2 - software testing SE 412.pptx
Lecture 2 - software testing SE 412.pptxLecture 2 - software testing SE 412.pptx
Lecture 2 - software testing SE 412.pptx
 
Oracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptxOracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptx
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
 
UI5con 2024 - Bring Your Own Design System
UI5con 2024 - Bring Your Own Design SystemUI5con 2024 - Bring Your Own Design System
UI5con 2024 - Bring Your Own Design System
 
socradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdfsocradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdf
 
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
 
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
 
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOMLORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
 
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
 
GreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-JurisicGreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-Jurisic
 

Android apps with Ionic. From rags to riches, Stanislav Khorunzhyi

  • 1. by Stanislav Khorunzhyi JavaScript developer at Sigma Software Android apps with Ionic. From rags to riches
  • 2. Agenda 1. Android apps with Ionic Framework 2. Money 3. My experience with Google Play
  • 3. Chapter 1: Android apps with Ionic Framework
  • 4. What is Ionic? Ionic Framework is an open source SDK that enables developers to build performant, high-quality mobile apps using familiar web technologies (HTML, CSS, and JavaScript). Current version: 3.6.0 Stars on GitHub: more than 31k Downloads on npm (last month): more than 1M
  • 5. More than framework 1. CLI tool 2. Forum 3. Cloud storage 4. Ionic market (plugins, themes, starters) 5. Ionic creator (drag’n’drop tool to build app) 6. Deploy tool 7. Ionic lab 8. Etc.
  • 6. Technologies stack Ionic is always up-to-date and allows developers to use the following technologies stack: 1. Angular 4.x 2. TypeScript 3. SCSS
  • 7. How it works Since Android 4.4 (KitKat), the WebView component is based on the Chromium open source project.
  • 8. Native features support Ionic is build on top of Cordova. Cordova plugins allows us to use native features like camera, brightness, bluetooth, geolocation, etc.
  • 9. What we need to move on? 1. Install ionic and cordova $ npm install –g ionic cordova 2. Install Android studio (it includes all required android SDK tools) https://developer.android.com/studio 3. Get started with Ionic $ ionic start sigma-tech-week tabs $ cd sigma-tech-week $ ionic lab
  • 13. Let’s proceed with our app 1. Add predefined components to the app 2. Add some styles 3. Prepare for publishing
  • 15. 1. Promo page <ion-header> <ion-navbar> <ion-title>О встрече</ion-title> </ion-navbar> </ion-header>
  • 16. 1. Promo page <ion-content class="cards-bg"> <ion-card class="adv-map"> <img src="assets/promo-sigma.png"/> <ion-item> <h1 text-center>JavaScript meetup</h1> <ion-item class="icons-info"> <div *ngFor="let item of infoList"> <ion-icon [name]="item.icon"></ion-icon> {{item.title}} </div> </ion-item> <div class="description" [innerHTML]="promoDescription"></div> </ion-item> </ion-card> </ion-content>
  • 17. 1. Promo page import { Component } from '@angular/core'; @Component({ selector: 'page-about', templateUrl: 'about.html' }) export class PageAbout { infoList = [ { icon: 'navigate', title: 'Одесса' }, { icon: 'home', title: 'Терминал 42' }, { icon: 'cloudy-night', title: '19:00-22:00' } ]; promoDescription = ` С 4 по 8 сентября компания Sigma Software приглашает на серию мероприятий, направленных на обмен опытом, общение между представителями ИТ сообщества Одессы. `; }
  • 20. Summary: Chapter 1 1. Learned what Ionic framework is 2. Installed Ionic framework 3. Created sigma-tech-week application boilerplate with Ionic CLI 4. Added UI components and styles What’s next?
  • 22. Why it is important? When you publish an application to Google Play you probably want to make money on it.
  • 23. How to make money on Android apps? 1. Banner Ads 2. Microtransactions (in-game purchases) 3. Paid applications 4. Light and Pro versions 5. Games with energy -_-
  • 24. Our choice is Banner Ads There are 3 types of Banner Ads in Ionic: 1. Banner 2. Interstitial 3. Rewarded video
  • 25. Preparation To add Ads to our application: 1. Create AdMob account 2. Register new banner to get banner id 3. Install required plugins for Ionic: $ ionic cordova plugin add cordova-plugin-admob-free $ npm install –save @ionic-native/admob-free
  • 26. Let’s add AdMob banner to the app constructor(public admobFree: AdMobFree) { this.bannerConfig = { id: 'ca-app-pub-6558685611970079/2647927185', autoShow: true }; this.admobFree.banner.config(this.bannerConfig); } ionViewDidLoad() { this.admobFree.banner.prepare(); }
  • 28. AdMob in action: Interstitial
  • 29. AdMob in action: Reward video
  • 30. Statistics 1) Ad providers pays for clicks a lot more than just for displays 1000 displays = ~1 apple 1000 clicks = ~40 – 50 apples
  • 31. Statistics 2) Interstitial banner is profitable than static one, but it is more annoying for end users. Choose the most suitable for your app.
  • 32. Statistics 3) If you want to get 150-200 apples per month from a game you need to have at least 15k active players
  • 33. We are ready to publish the app! 1. Go to Google Play console 2. Sign up new Google Developer Account 3. Pay 25$ for registration 4. We are completely ready to publish sigma-tech-week!
  • 34. Summary: Chapter 2 1. Discussed types of banner Ad 2. Created AdMob account 3. Generated banner IDs 4. Added banner Ads to sigma-tech-week application 5. Learned how to create dev account What’s next?
  • 35. Chapter 3: My experience with Google Play
  • 36. Advice 1: Choose a place for banner Ads If you decided to add Ads to your application you have to select appropriate place, size, type and other configurations for banner. Do it on the very first steps. BANNER (640x20) CONTENT
  • 37. Advice 2: Do not click on your Ads Do not click on your Ads, even for testing purposes
  • 38. Advice 2: Do not click on your Ads Do not click on your Ads, even for testing purposes:
  • 39. How to test banner Ads? Set the corresponding option in banner config: this.bannerConfig = { id: 'ca-app-pub-6558685611970079/8123060235', isTesting: true, /* set this option */ autoShow: true }; this.admobFree.rewardVideo.config(this.bannerConfig);
  • 40. Advice 3: Check min SDK version when publishing Ionic 3 applications work well on Android 4.4+. To run it on Android 4.1 – use Cordova Crosswalk plugin. https://github.com/crosswalk-project/cordova-plugin-crosswalk-webview
  • 41. How to deal with it? Each Android app has config.xml file, Ionic apps do the same. There is an option: Set it to 19 if you don’t use Crosswalk and leave it as 16 if you do use the plugin. <preference name="android-minSdkVersion" value="16" />
  • 42. When you forget about this…
  • 43. Advice 4: Follow the trends 1. Monitor market to see what is popular for now 2. Create the application on trend topics first 3. Combine your ideas with something popular
  • 44. Great example of trend application
  • 45. Great example of trend application
  • 46. Bring your ideas to the world of Android applications