SlideShare a Scribd company logo
1 of 40
Download to read offline
Uygulamayı Geliştirip
Markete Koydunuz.
Ya Sonra?

Olcay Ay
ayolcay
Key Performance Indicators
(KPIs)
Geliştirdiğiniz Uygulamada Sizi
Ne Mutlu Eder?
KPIs
●

Satış

●

Reklama tıklama

●

İçerik üretme ( Yorum, fotoğraf, video, ses )

●

İçerik tüketme

●

Uygulama indirme

●

Uygulamada geçirilen süre

●

Uygulama içi satın almalar
Twitter
Twitter
●

Tweet atma

●

Tweet görüntüleme

●

Takip etme

●

●

Uygulamada geçirilen süre >
5dk
Gezilen sayfa sayısı > 5
Facebook
Facebook
●

Durum paylaşma

●

Fotoğraf yükleme

●

Video izleme

●

Arkadaş ekleme

●

Arkadaş profillerini gezme

●

●

Uygulamada geçirilen süre >
10 dk
Gezilen sayfa sayısı > 10
Instagram
Instagram
●

Fotoğraf yükleme

●

Filtre kullanma

●

Fotoğraflara bakma

●

Fotoğraf beğenme

●

Fotoğrafa yorum yapma

●

Fotoğraf izleme adeti > 10

●

Uygulamada geçirilen süre >
5 dk
YapıKredi Bankası
YapıKredi Bankası
●

Hesap açma

●

Havale yapma

●

EFT yapma

●

Kredi kartı ödeme
"Çözülmeye çalışılan problem
de çözüm de belirsiz"
"Hayat kimsenin kullanmak
istemediği ürünler geliştirmek
için çok kısa"
"Bütün startuplar çok kötü
fikirlerle yola çıkarlar. Ancak
başarılı startuplar fikirlerinin çok
kötü olduğunu anlayıp çok
geçmeden fikirlerini değiştirirler"
"Büyük düşün küçük başla"
Minimum Viable Product
"Hızlı ölçeklendir"
"Eğer başarısız olacaksan
erken başarısız ol"
Google Analytics
●

Ziyaretçileriniz kim

●

Sizi nasıl buluyorlar

●

Sitede nasıl vakit geçiriyorlar

●

●

Onlardan beklediğiniz şeyleri yerine getiyorlar
mı?
Anlık trafik analizi
Google Analytics
●

Web Tracking

●

Android SDK

●

IOS SDK
Google Analytics Mobile SDK
●

Mobile özgü ekstra bilgiler

●

Ekran ( sayfa yerine )

●

Google Play entegrasyonu

●

Hata raporları

●

Uygulama hızı

●

Satış gelirleri

●

Uygulama içi satın almalar
Entegrasyon – Başlamadan Önce
●
●

●

Entegrasyon yapabileceğiniz bir uygulama
Google Analytics SDK for Android v3'nın
indirilerek, libGoogleAnalyticsServices.jar
dosyasının libs dizinine konup build patha
eklenmesi
Mobil uygulamalar için açılmış yeni bir Google
Analytics hesabı
Son Versiyonu Kullandığından
Emin Ol
●

Aktif olarak geliştirilmesi devam ediyor

●

Hala Beta'da

●

V1, V2, V3

●

Eğer eski bir versiyon kullanıyorsan migration
dokümanları mevcut.
Manifest Dosyasına Gerekli
İzinlerin Eklenmesi
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission
android:name="android.permission.ACCESS_NETWORK_STATE" />
Activitylere Easy Tracker
Komutlarının Eklenmesi
  public void onStart() {
    super.onStart();
    ... // The rest of your onStart() code.
    EasyTracker.getInstance(this).activityStart(this);   Add this method.
//
 }
  public void onStop() {
    super.onStop();
    ... // The rest of your onStop() code.
    EasyTracker.getInstance(this).activityStop(this);   Add this method.
//
 }
analytics.xml Dosyasının
Oluşturulması
<?xml version="1.0" encoding="utf-8" ?>
<resources>
  <!--Replace placeholder ID with your tracking ID-->
  <string name="ga_trackingId">UA-XXXX-Y</string>
  <!--Enable automatic activity tracking-->
  <bool name="ga_autoActivityTracking">true</bool>
  <!--Enable automatic exception tracking-->
  <bool name="ga_reportUncaughtExceptions">true</bool>
</resources>
Ekran Görüntüleme Mesajlarının
Otomatik Olarak Gönderilmesi
<-- Enable automatic Activity measurement -->
<bool name="ga_autoActivityTracking">true</bool>
<-- The screen names that will appear in reports -->
<string name="com.example.app.BaseActivity">Home</string>
<string
name="com.example.app.PrefsActivity">Preferences</string>
Ekran Görüntüleme Mesajlarının
Manuel Olarak Gönderilmesi
Tracker easyTracker = EasyTracker.getInstance(this);
easyTracker.set(Fields.SCREEN_NAME, "Home Screen");
easyTracker.send(MapBuilder
    .createAppView()
    .build()
);
Event Mesajlarının Gönderilmesi
@Override
public void onClick(View v) {
  EasyTracker easyTracker = EasyTracker.getInstance(this);
  easyTracker.send(MapBuilder
      .createEvent("ui_action",     // Event category (required)
                   "button_press",  // Event action (required)
                   "play_button",   // Event label
                   null)            // Event value
      .build()
  );
}
Event Mesajlarının Gönderilmesi
@Override
public void onClick(View v) {
  EasyTracker easyTracker = EasyTracker.getInstance(this);
  easyTracker.send(MapBuilder
      .createEvent("ui_action",     // Event category (required)
                   "button_press",  // Event action (required)
                   "play_button",   // Event label
                   null)            // Event value
      .build()
  );
}
Yakalanamayan Hata Raporlarının
Gönderilmesi
●

EasyTracker ile oldukça kolay

●

Analytics.xml'e aşağıdaki satırı ekle

<bool name="ga_reportUncaughtExceptions">true</bool>
Yakalanan Hata Raporlarının
Gönderilmesi
try {
  // Request some scores from the network.
  ArrayList highScores = getHighScoresFromCloud();
} catch (IOException e) {
  EasyTracker easyTracker = EasyTracker.getInstance(this);
  easyTracker.send(MapBuilder.createException(new
StandardExceptionParser(this, null)
.getDescription(Thread.currentThread().getName(), e),false).build()
);
Özel Hataların Takip Edilmesi
●

GA event mekanizması kullanılabilir

●

Videonun play etmemesi

●

Fotoğrafın yüklenmesi

●

API'nin cevap vermemesi ( 404, 502 )

●

API'nin boş cevap dönmesi
Özel Hataların Takip Edilmesi
public void onError(View v, String error_action, String error_label ) {
  EasyTracker easyTracker = EasyTracker.getInstance(this);
  easyTracker.send(MapBuilder
      .createEvent("error",     // Event category (required)
                   error_action,  // Event action (required)
                   error_label,   // Event label
                   null)            // Event value
      .build()
  );
}
onError("video_play_error","502");
onError("api_error","user_not_found");
Uygulama Hızının Ölçülmesi
●

Video start süresi

●

Fotoğrafların yükleme süresi

●

Web servisin cevap verme süresi

●

Kullanıcının herhangi bir aksiyona cevap verme
süresi
Uygulama Hızının Ölçülmesi
public void onLoad(long loadTime) {
  Tracker easyTracker = EasyTracker.getInstance(this);
  easyTracker.send(MapBuilder
      .createTiming("resources",    // Timing category (required)
                    loadTime,       // Timing interval in milliseconds
(required)
                    "high scores",  // Timing name
                    null)           // Timing label
      .build()
Kampanya Ölçümleme
●

Kullanıcıların sizi nasıl buluyor

●

Uygulama marketinden

●

Reklam kampanyaları

●

Market linklerini referrer parametresi ile paylaş
Tag Manager
●

●

●

Uygulamayı güncelleme çıkarmadan webden
konfigure edebilirsiniz
Değişebileceğini öngördüğün şeyleri
/assets/tagmanager dizininde
<Container_ID>.json dosyasına koy
Bir container oluşturarak kodun içinden bu
değişkeni çekebilirsiniz
●

String title = mContainer.getStringValue("title_string");
Teşekkürler

Olcay Ay
ayolcay

More Related Content

Featured

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by HubspotMarius Sescu
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTExpeed Software
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsPixeldarts
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthThinkNow
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfmarketingartwork
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024Neil Kimberley
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsKurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summarySpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentLily Ray
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project managementMindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...RachelPearson36
 

Featured (20)

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 

Mobil Uygulamayı Geliştirip Markete Koydunuz. Ya Sonra ... GeekTalks by GDG Ankara

  • 3. KPIs ● Satış ● Reklama tıklama ● İçerik üretme ( Yorum, fotoğraf, video, ses ) ● İçerik tüketme ● Uygulama indirme ● Uygulamada geçirilen süre ● Uygulama içi satın almalar
  • 5. Twitter ● Tweet atma ● Tweet görüntüleme ● Takip etme ● ● Uygulamada geçirilen süre > 5dk Gezilen sayfa sayısı > 5
  • 7. Facebook ● Durum paylaşma ● Fotoğraf yükleme ● Video izleme ● Arkadaş ekleme ● Arkadaş profillerini gezme ● ● Uygulamada geçirilen süre > 10 dk Gezilen sayfa sayısı > 10
  • 9. Instagram ● Fotoğraf yükleme ● Filtre kullanma ● Fotoğraflara bakma ● Fotoğraf beğenme ● Fotoğrafa yorum yapma ● Fotoğraf izleme adeti > 10 ● Uygulamada geçirilen süre > 5 dk
  • 11. YapıKredi Bankası ● Hesap açma ● Havale yapma ● EFT yapma ● Kredi kartı ödeme
  • 12.
  • 13. "Çözülmeye çalışılan problem de çözüm de belirsiz"
  • 14. "Hayat kimsenin kullanmak istemediği ürünler geliştirmek için çok kısa"
  • 15. "Bütün startuplar çok kötü fikirlerle yola çıkarlar. Ancak başarılı startuplar fikirlerinin çok kötü olduğunu anlayıp çok geçmeden fikirlerini değiştirirler"
  • 16. "Büyük düşün küçük başla" Minimum Viable Product
  • 17. "Hızlı ölçeklendir" "Eğer başarısız olacaksan erken başarısız ol"
  • 18.
  • 19.
  • 20. Google Analytics ● Ziyaretçileriniz kim ● Sizi nasıl buluyorlar ● Sitede nasıl vakit geçiriyorlar ● ● Onlardan beklediğiniz şeyleri yerine getiyorlar mı? Anlık trafik analizi
  • 22. Google Analytics Mobile SDK ● Mobile özgü ekstra bilgiler ● Ekran ( sayfa yerine ) ● Google Play entegrasyonu ● Hata raporları ● Uygulama hızı ● Satış gelirleri ● Uygulama içi satın almalar
  • 23. Entegrasyon – Başlamadan Önce ● ● ● Entegrasyon yapabileceğiniz bir uygulama Google Analytics SDK for Android v3'nın indirilerek, libGoogleAnalyticsServices.jar dosyasının libs dizinine konup build patha eklenmesi Mobil uygulamalar için açılmış yeni bir Google Analytics hesabı
  • 24. Son Versiyonu Kullandığından Emin Ol ● Aktif olarak geliştirilmesi devam ediyor ● Hala Beta'da ● V1, V2, V3 ● Eğer eski bir versiyon kullanıyorsan migration dokümanları mevcut.
  • 25. Manifest Dosyasına Gerekli İzinlerin Eklenmesi <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
  • 26. Activitylere Easy Tracker Komutlarının Eklenmesi   public void onStart() {     super.onStart();     ... // The rest of your onStart() code.     EasyTracker.getInstance(this).activityStart(this);   Add this method. //  }   public void onStop() {     super.onStop();     ... // The rest of your onStop() code.     EasyTracker.getInstance(this).activityStop(this);   Add this method. //  }
  • 27. analytics.xml Dosyasının Oluşturulması <?xml version="1.0" encoding="utf-8" ?> <resources>   <!--Replace placeholder ID with your tracking ID-->   <string name="ga_trackingId">UA-XXXX-Y</string>   <!--Enable automatic activity tracking-->   <bool name="ga_autoActivityTracking">true</bool>   <!--Enable automatic exception tracking-->   <bool name="ga_reportUncaughtExceptions">true</bool> </resources>
  • 28. Ekran Görüntüleme Mesajlarının Otomatik Olarak Gönderilmesi <-- Enable automatic Activity measurement --> <bool name="ga_autoActivityTracking">true</bool> <-- The screen names that will appear in reports --> <string name="com.example.app.BaseActivity">Home</string> <string name="com.example.app.PrefsActivity">Preferences</string>
  • 29. Ekran Görüntüleme Mesajlarının Manuel Olarak Gönderilmesi Tracker easyTracker = EasyTracker.getInstance(this); easyTracker.set(Fields.SCREEN_NAME, "Home Screen"); easyTracker.send(MapBuilder     .createAppView()     .build() );
  • 30. Event Mesajlarının Gönderilmesi @Override public void onClick(View v) {   EasyTracker easyTracker = EasyTracker.getInstance(this);   easyTracker.send(MapBuilder       .createEvent("ui_action",     // Event category (required)                    "button_press",  // Event action (required)                    "play_button",   // Event label                    null)            // Event value       .build()   ); }
  • 31. Event Mesajlarının Gönderilmesi @Override public void onClick(View v) {   EasyTracker easyTracker = EasyTracker.getInstance(this);   easyTracker.send(MapBuilder       .createEvent("ui_action",     // Event category (required)                    "button_press",  // Event action (required)                    "play_button",   // Event label                    null)            // Event value       .build()   ); }
  • 32. Yakalanamayan Hata Raporlarının Gönderilmesi ● EasyTracker ile oldukça kolay ● Analytics.xml'e aşağıdaki satırı ekle <bool name="ga_reportUncaughtExceptions">true</bool>
  • 33. Yakalanan Hata Raporlarının Gönderilmesi try {   // Request some scores from the network.   ArrayList highScores = getHighScoresFromCloud(); } catch (IOException e) {   EasyTracker easyTracker = EasyTracker.getInstance(this);   easyTracker.send(MapBuilder.createException(new StandardExceptionParser(this, null) .getDescription(Thread.currentThread().getName(), e),false).build() );
  • 34. Özel Hataların Takip Edilmesi ● GA event mekanizması kullanılabilir ● Videonun play etmemesi ● Fotoğrafın yüklenmesi ● API'nin cevap vermemesi ( 404, 502 ) ● API'nin boş cevap dönmesi
  • 35. Özel Hataların Takip Edilmesi public void onError(View v, String error_action, String error_label ) {   EasyTracker easyTracker = EasyTracker.getInstance(this);   easyTracker.send(MapBuilder       .createEvent("error",     // Event category (required)                    error_action,  // Event action (required)                    error_label,   // Event label                    null)            // Event value       .build()   ); } onError("video_play_error","502"); onError("api_error","user_not_found");
  • 36. Uygulama Hızının Ölçülmesi ● Video start süresi ● Fotoğrafların yükleme süresi ● Web servisin cevap verme süresi ● Kullanıcının herhangi bir aksiyona cevap verme süresi
  • 37. Uygulama Hızının Ölçülmesi public void onLoad(long loadTime) {   Tracker easyTracker = EasyTracker.getInstance(this);   easyTracker.send(MapBuilder       .createTiming("resources",    // Timing category (required)                     loadTime,       // Timing interval in milliseconds (required)                     "high scores",  // Timing name                     null)           // Timing label       .build()
  • 38. Kampanya Ölçümleme ● Kullanıcıların sizi nasıl buluyor ● Uygulama marketinden ● Reklam kampanyaları ● Market linklerini referrer parametresi ile paylaş
  • 39. Tag Manager ● ● ● Uygulamayı güncelleme çıkarmadan webden konfigure edebilirsiniz Değişebileceğini öngördüğün şeyleri /assets/tagmanager dizininde <Container_ID>.json dosyasına koy Bir container oluşturarak kodun içinden bu değişkeni çekebilirsiniz ● String title = mContainer.getStringValue("title_string");