Netmera, şu sıralar yapmakta olduğum stajımda benim de ufak tefek katkılarda bulunmaya çalıştığım, mobil uygulamalara hizmet veren bir cloud platformu. Öyle ki; hiçbir şekilde veritabanı, sunucu, server-side kod yazmadan, bir hosting'e bile sahip olmadan, sadece tasarımı ve çalışma prensibi üzerinde çalışarak, çok kısa süre içerisinde mobil uygulamalarınızı online hale getirebilir, bir veritabanı sahibi olabilirsiniz. Arka tarafta yapılan işlemler hakkında hiçbir bilgi sahibi olmanıza gerek yok. Getir dersiniz Netmera verilerinizi getirir, götür dersiniz götürür kaydeder. Silme ve değiştirmeyi söylemiyorum bile. Gelin bu güzide servisi birazcık inceleyelim.

Not: Bu yazı gösterdiğim Netmera özellikleri artık Netmera'da bulunmuyorlar. Netmera artık Push Notification'a dayalı kullanıcı bağlılığını arttırma aracı olarak hayatına devam ediyor.

Mesela bir Android uygulaması geliştiriyoruz. Uygulamayı kullanan herkesin ulaşmasını istediğimiz bir verimiz var. Bunu nerede tutarız? Tabi ki Netmera! Fazla iddialı olduğunun farkındayım. Durun göstericem.

Öncelikle netmera.com adresine gidip üye olup giriş yaptıktan sonra, bir uygulama yaratmanız gerekiyor. Yarattığınız uygulamanın sayfasına girdiğinizde orda size çok uzun bir API KEY verdiğini göreceksiniz. Bunu alıyoruz ve Android uygulamamızda global bir String'e yazıyoruz.

Şimdi basit bir senaryo uyduralım. Mesela bir oyun yazdınız, oyunu oynayan kişi belirli bir skor elde etti. Bu skoru kullanıcı isterse sisteme kaydedebilir ve diğer oyuncular arasındaki yerini görebilir. Bunu şu şekilde yapıyoruz:

String apiKey = "<Buraya Netmera.com'dan aldığımız API KEY yazılacak>";
/**
 * Burada this keyword'ü sizin o anki 
 * Android Activity class'ınıza referans
 * olmalı. Yani bu kodları Activity extend
 * eden bir sınıfın içerisinde yazıyoruz.
 */
NetmeraClient.init(this, apiKey);

/**
 * init() methodunu çağırdıktan sonra Netmera
 * üzerinde istediğimiz işlemi yapabiliriz.
 */

/**
 * Farzedelim ki aşağıdaki bilgileri sorgu sual
 * edip kullanıcıdan aldık, kullanıcı adını ve email
 * adresini. Ve skoru da tabi ki oyun hesapladı.
 */
String username = "AsosyalBebe";
String email = "blog@asosyalbebe.com";
int score = 1529;

try {
    /**
     * Şimdi bu bilgileri KullaniciSkorlari ismindeki
     * tabloya kaydedelim. Not: bir tabloya kayit yapmak
     * için o tabloyu yaratmış olmamıza gerek yok! Netmera
     * o tabloyu bizim için otomatik olarak yaratıyor.
     */
    NetmeraContent content = new NetmeraContent("KullaniciSkorlari");
    content.add("kullaniciAdi", username);
    content.add("email", email);
    content.add("skor", score);
    /**
     * NetmeraContent objemizi hazırladık. create()
     * methodunu çağırdığımız anda eğer bir exception
     * yemezsek, content'imiz cloud'a kaydedilmiş 
     * demektir.
     */
    content.create();
} catch(NetmeraException e) {
    /**
     * Buraya düştüysek, handle etmemiz gereken bir hata
     * var demektir. Android uygulamalarında emin olmamız
     * gereken bir diğer nokta da İnternet erişim yetkisi
     * almış olmamız gerekmektedir.
     */
}

Netmera üzerinde içerik yaratmak bu kadar kolay işte. Şimdi, skorları kaydettik de, peki bu skorları diğer kullanıcılara nasıl göstereceğiz? Netmera API'ı bu konuda da çok yardımsever tabi ki. Görelim.

/**
 * Yine yukarıdaki gibi, API KEY ile NetmeraClient
 * üzerinde init() methodunu çağırmış olmanız gerekmekte.
 * Ondan sonra aşağıdaki kodları kullanarak skorların 
 * listesini istediğimiz sırayla Netmera üzerinden
 * alıp kullanabiliriz.
 */

try {
    /**
     * NetmeraService objesini, içinde arama yapmak istediğimiz
     * tablo(içerik-content) ismiyle yaratıyoruz.
     */
    NetmeraService service = new NetmeraService("KullaniciSkorlari");

    /**
     * Arama sonuçlarımız, skor alanına göre 
     * sıralanmış olarak gelicek
     */
    service.setSortBy("skor");

    /**
     * Sıralama büyükten küçüğe yapılacak
     */
    service.setSortOrder(NetmeraService.SortOrder.descending);
    
    /**
     * setMax(20) ile, aramamızda bulunacak sonuçlardan
     * ilk 20 tanesini istediğimizi belirtiyoruz.
     */
    service.setMax(20);

    /**
     * search() methodu bize NetmeraContent listesi 
     * şeklinde arama sonuçlarımızı döndürür.
     */
    List<NetmeraContent> results = service.search();

    /**
     * Şimdi sonuç listesi üzerinde dönerek, gelen 
     * verileri konsola yazdıralım
     */
    for(NetmeraContent content : results) {
        String username = content.getString("kullaniciAdi");
        String email = content.getString("email");
        int score = content.getInt("skor");
        System.out.printf("%s, %s : %d\n", username, email, score);
    }
} catch(NetmeraException e) {
    // Handle etmemiz gereken bir exception
}

Netmera ile yapabileceğimiz en basit getir-götür işleri bu kadar. İlerleyen zamanlarda Netmera ile daha detaylı aramalar, lokasyon ekleme, resim upload etme ve kullanıcı girişi tarzı çılgın işlemler de yapıyor olacağız.

Unutmadan, Netmera şu anda kapalı beta versiyonunda. Yani her geleni içeri alamıyor malesef. Eğer yazdıklarım hoşunuza gider, sizde basit bir kıpraşma yaratırsa, üye olmak için benden referans kodu isteyebilirsiniz, size sağlamaya çalışırım.

API'ları kendiniz kurcalamak isterseniz ve/veya daha fazla örnek kod görmek isterseniz, sizleri Netmera.com'a davet ediyorum.
http://netmera.com/pages/web/resources

3 yorum

  1. Kullanimi karmasik olabilecek bir servisi cok kolay ve basit sekilde yazmissin. Cok tesekkurler. Netmera Mobil yazilimcilarin isini gercekten cok kolaylastiriyor. Tum yazilimcilar deneyip kendileri test edebilir.

    YanıtlaSil
  2. Dehsetengiz bir uygulama olmuş. Hangi şirketin ürünüdür netmera acaba ?

    YanıtlaSil
    Yanıtlar
    1. Netmera, bir Inomera ürünüdür :)
      http://www.inomera.com

      Sil