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

Post on 08-Jul-2015

293 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Uygulamayı Geliştirip Markete Koydunuz.

Ya Sonra?

Olcay Ay ayolcay

Key Performance Indicators (KPIs)

Geliştirdiğiniz Uygulamada Sizi Ne Mutlu Eder?

● 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

Twitter

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

5dk● Gezilen sayfa sayısı > 5

Twitter

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

Facebook

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

Instagram

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"

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

● 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

● 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

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

  );

}

● 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

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

● 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

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

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

  );

}

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

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

Kampanya Ölçümleme

● 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

Teşekkürler

Olcay Ay ayolcay

top related