mobil uygulamayı geliştirip markete koydunuz. ya sonra ... geektalks by gdg ankara

40
Uygulamayı Geliştirip Markete Koydunuz. Ya Sonra? Olcay Ay ayolcay

Upload: olcay-ay

Post on 08-Jul-2015

293 views

Category:

Technology


0 download

TRANSCRIPT

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

Uygulamayı Geliştirip Markete Koydunuz.

Ya Sonra?

Olcay Ay ayolcay

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

Key Performance Indicators (KPIs)

Geliştirdiğiniz Uygulamada Sizi Ne Mutlu Eder?

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

● 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

KPIs

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

Twitter

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

● Tweet atma● Tweet görüntüleme● Takip etme● Uygulamada geçirilen süre >

5dk● Gezilen sayfa sayısı > 5

Twitter

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

Facebook

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

● 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

Facebook

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

Instagram

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

● 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

Instagram

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

YapıKredi Bankası

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

YapıKredi Bankası

● Hesap açma● Havale yapma● EFT yapma● Kredi kartı ödeme

Page 12: Mobil Uygulamayı Geliştirip Markete Koydunuz. Ya Sonra ... GeekTalks by GDG Ankara
Page 13: Mobil Uygulamayı Geliştirip Markete Koydunuz. Ya Sonra ... GeekTalks by GDG Ankara

"Çözülmeye çalışılan problem de çözüm de belirsiz"

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

"Hayat kimsenin kullanmak istemediği ürünler geliştirmek

için çok kısa"

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

"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"

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

"Büyük düşün küçük başla"Minimum Viable Product

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

"Hızlı ölçeklendir"

"Eğer başarısız olacaksan erken başarısız ol"

Page 18: Mobil Uygulamayı Geliştirip Markete Koydunuz. Ya Sonra ... GeekTalks by GDG Ankara
Page 19: Mobil Uygulamayı Geliştirip Markete Koydunuz. Ya Sonra ... GeekTalks by GDG Ankara
Page 20: Mobil Uygulamayı Geliştirip Markete Koydunuz. Ya Sonra ... GeekTalks by GDG Ankara

● 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

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

● Web Tracking● Android SDK● IOS SDK

Google Analytics

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

● Mobile özgü ekstra bilgiler● Ekran ( sayfa yerine )● Google Play entegrasyonu● Hata raporları● Uygulama hızı● Satış gelirleri● Uygulama içi satın almalar

Google Analytics Mobile SDK

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

● 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ı

Entegrasyon – Başlamadan Önce

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

● Aktif olarak geliştirilmesi devam ediyor● Hala Beta'da● V1, V2, V3● Eğer eski bir versiyon kullanıyorsan migration

dokümanları mevcut.

Son Versiyonu Kullandığından Emin Ol

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

Manifest Dosyasına Gerekli İzinlerin Eklenmesi

<uses-permission android:name="android.permission.INTERNET" />

<uses-permission

android:name="android.permission.ACCESS_NETWORK_STATE" />

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

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.  }

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

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>

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

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>

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

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()

);

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

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()

  );

}

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

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()

  );

}

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

● EasyTracker ile oldukça kolay● Analytics.xml'e aşağıdaki satırı ekle

<bool name="ga_reportUncaughtExceptions">true</bool>

Yakalanamayan Hata Raporlarının Gönderilmesi

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

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()

);

Yakalanan Hata Raporlarının Gönderilmesi

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

● 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

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

Ö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");

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

● 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

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

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()

  );

}

Uygulama Hızının Ölçülmesi

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

● Kullanıcıların sizi nasıl buluyor● Uygulama marketinden● Reklam kampanyaları● Market linklerini referrer parametresi ile paylaş

Kampanya Ölçümleme

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

● 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");

Tag Manager

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

Teşekkürler

Olcay Ay ayolcay