Upload
murat-oezalp
View
93
Download
0
Embed Size (px)
DESCRIPTION
Parse ve Sinch API'ler kullanılarak gerçekleştirilmiştir.
Citation preview
T.C.
BILECIK SEYH EDEBALI ÜNIVERSITESI
MÜHENDISLIK FAKÜLTESI
BILGISAYAR MÜHENDISLIGI
ANDROID ILE MESAJLASMA UYGULAMASI
GÜRKAN MUSTAFA ÇAKIR
PROJE ÇALISMASI
1 Haziran 2015
BILECIK
T.C.
BILECIK SEYH EDEBALI ÜNIVERSITESI
MÜHENDISLIK FAKÜLTESI
BILGISAYAR MÜHENDISLIGI
ANDROID ILE MESAJLASMA UYGULAMASI
GÜRKAN MUSTAFA ÇAKIR
PROJE ÇALISMASI
1 Haziran 2015
BILECIK
ÖZET
Projenin Amacı
Iki kisinin yazılan uygulama üzerinden birbirlerine mesaj gönderilmesi amaçlandı. Proje-
nin Konusu Android üzerinde mesajlasma uygulaması.
Projenin Kapsamı
Mesajlasma uygulamasının gelistirme asaması ve kullanılan yazılım ve araçları kapsa-
maktadır.Iki bölümden meydana gelen Projenin ilk bölümünde, android isletim sistemi-
nin, genel özellikleri ve neden tercih edildigi konusunda bilgiler verilmistir. Ikinci bö-
lümde ise Uygulamayı gelistirirken kullanılan araçlar ve yazılımlar, Çalısma prensibi ve
gerçekleme asamaları yer almaktadır.
Sonuçlar
Sonuç olarak, uygulamanın gerçeklenerek bir mesajlasma uygulaması sayesinde kullanı-
cıların birbirleriyle haberlesmesi saglandı.
ii
ABSTRACT
Project Objective
Through the application of two people sending each other messages was aimed. The aim
of project is messaging application on android.
Scope of Project
Development phase of messaging applications and using software and tools, involves the
use of. The first part of the project consists of two parts, the android operating system,
general features and why it is preferred that the use of information provided in the in-
formation. For the second part, software and used tools when developing application,
Operating principle, implementation phases are included.
Results
As a result, implementation this application user through a messaging application were
allowed to communicate with each other.
iii
TESEKKÜR
Bu projenin basından sonuna kadar hazırlanmasında emegi bulunan ve beni bu konuya
yönlendiren saygıdeger hocam ve danısmanım Sayın Murat ÖZALP’e tüm katkılarından
ve hiç eksiltmedigi desteginden dolayı tesekkür ederim.
Gürkan Mustafa ÇAKIR
1 Haziran 2015
iv
Içindekiler
ÖZET ii
ABSTRACT iii
TESEKKÜR iv
SEKIL LISTESI vi
1 GIRIS 1
2 ANDROID ISLETIM SISTEMI 3
2.1 Android Isletim Sisteminin Genel Özellikleri . . . . . . . . . . . . . . . 3
2.2 Android Gelistirme Ortamları . . . . . . . . . . . . . . . . . . . . . . . . 4
2.2.1 Gradle özelligi . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
3 MESAJLASMA UYGULAMASI GELISTIRME 5
3.1 Kullanılan Araç ve Yazılımlar . . . . . . . . . . . . . . . . . . . . . . . . 5
3.1.1 Android studio . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
3.1.2 Veritabanı ve kimlik dogrulama servisi . . . . . . . . . . . . . . . 6
3.1.3 Bulut mesaj servisi . . . . . . . . . . . . . . . . . . . . . . . . . 8
3.2 Uygulamanın Çalısma Prensibi . . . . . . . . . . . . . . . . . . . . . . . 9
3.3 Uygulamanın API’ler Yardımı ile Gerçeklenmesi . . . . . . . . . . . . . 10
SONUÇLAR 12
KAYNAKLAR 13
EKLER 14
ÖZGEÇMIS 18
v
Sekil Listesi
1 Akıs ve Bilesen Diyagramı . . . . . . . . . . . . . . . . . . . . . . . . . 2
2 Android Isletim Sisteminin Mimarisi . . . . . . . . . . . . . . . . . . . . 4
3 Parse Diyagramı . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
4 Parse Kullanıcı Tablosu . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
5 Parse Mesaj Tablosu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
6 Sinch Diyagramı . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
7 Sinch Arayüzü . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
8 Arayüzler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
vi
1 GIRIS
Bu projeyi daha önce android üzerine uygulama gelistirdigim için bu konuda ileri tekno-
lojileri kullanmak ve ögrenmek amacıyla seçtim. Daha önce gelistirdigim projeler genel-
likle baslangıç düzeyinde oldugundan bu proje ile kendime bir seyler katmak amaçlan-
mıstır.
Proje Hakkında kısa bir bilgi vermek gerekirse öncelikle iki kullanıcı arasında wireless
aracılıgıyla iletisim kurarak veri gönderilmesi ve alınması planlanmıstır.
Buna benzer olarak yapılmıs projelerden en bilinenleri WhatsApp, Line, WeChat, kik vb.
örnek olarak verilebilir. Bunlar arasında çok fazla bir fark olmamasına ragmen hepsi ol-
dukça popüler uygulamalar arasında yer almaktadır.
Sekil 1a’da Uygulamanın akıs diyagramı görülmektedir. burada Önce Kullanıcı Oturum
Açma ekranına, oradan bilgiler dogruysa Kullanıcı Listele ekranına yanlıs ise tekrar otu-
rum açma ekranına gönderilir. Kullanıcı listele ekranına gelince ise bir kisi seçip Mesaj
Yazma ekranına geçis yapmaktadır. Burada yazdıgı mesajı gönderebilmektedir.
1
Sekil 1: Akıs ve Bilesen Diyagramı
Sekil 1b’de ise uygulamanın bilesen diyagramından görülecegi üzere istemciler IP agı
üzerinden Mesaj servisi olan Sinch’i ve Veritabanı olan Parse API’lerine baglanmaktadır.
2
2 ANDROID ISLETIM SISTEMI
Android mobil cihazlar için, Google ve Open Handset Allience tarafından gelistirilen
Linux tabanlı ve açık kaynak kodlu bir isletim sistemidir.
Ilk olarak 5 Kasım 2007 tarihinde duyurulan Android, 34 adet donanım, yazılım ve tele-
kom sirketini arkasına alarak, mobil cihazlar için telif hakkı olmayan bir isletim sistemi-
nin; teknolojinin gelisimi için yararlı olacagı konusunda ortak kanı olusturmustur. 2008
yılında piyasaya sürüldügünde, birçok Android Isletim Sistemi Apache ücretsiz yazılım
ve Açık Kaynak Kodu lisansıyla gelistirilmeye açık hale gelmistir.
2.1 Android Isletim Sisteminin Genel Özellikleri
Android, Linux Kernel üzerine insa edilmis bir mobil isletim sistemidir, bu sistemde ara
katman yazılımı, kütüphaneler ve API C diliyle yazılmıstır. Uygulama yazılımları ise,
Apache Harmony üzerine kurulu, Java uyumlu kütüphaneler ihtiva eden uygulama iske-
leti üzerinden çalısır. Android, derlenmis Java kodunu çalıstırmak için JIT (Just In Time
∼ Dinamik Çevirmeli) ve DVM (Dalvik Virtual Machine ∼ Dalvik Sanal Makinasını)
kullanır ve cihazların fonksiyonelligini artıran uygulamaların gelistirilmesi için çalısan
genis bir programcı ve gelistirici çevresine sahiptir. Gelistiriciler için Android SDK mev-
cut bulunmakta ve her çıkan versiyonu için güncellenmektedir. Ayrıca gelistiriciler için,
uygulamalarını ücretli ve ücretsiz olarak yayınlayabilecekleri Android Market olarak ad-
landırılan bir ekosistem olusturmaktadır.
Android mimarisi,
1. Linux çekirdegi
2. Kütüphaneler
3. Android çalısma zamanı (runtime)
4. Uygulama gelistirme çatısı
5. Uygulamalar
katmanlarından olusur.
3
Sekil 2: Android Isletim Sisteminin Mimarisi
Android isletim sistemi, günümüzde akıllı telefonlar basta olmak üzere, dizüstü bilgisa-
yarlar, tablet bilgisayarlar, E-kitap okuyucular, televizyon(Google TV), saat(I’m Watch)
gibi birçok elektronik cihazda kullanılmaktadır.
2.2 Android Gelistirme Ortamları
Android gelistirme ortamları arasında Eclipse, Netbeans, Android Studio gibi java diliyle
android kütüphanelerini kullanarak uygulamalar gelistirilebilmektedir. Bunların yanında
Visual Studio 2015 ile gelen Xamarin kütüphanesi sayesinde C# koduyla yazdıgımız and-
roid uygulamamızı Arka planda kendi java kodlarına çevirerek derleme islemi yapmak-
tadır. Bunun yanında ise android kütüphaneleriyle ugrasmadan kodumu yazarım diyenler
için de Android’te gelistirme yapmak icin java haricinde NDK(Native Development Kit
∼ Native Gelistirme Kiti) bulunmaktadır. NDK ile C, C++ tabanlı gelistirme yapılabilir
ki genelde oyun gelistirmede çok sık kullanılmaktadır.
Yakın zamanda google tarafından desteklenen eclipse artık google tarafından desteklen-
memektedir. Ben projemde Google tarafından resmi olarak duyurulan Android Studio’yu
4
kullanacagım. Google sadece android degil akıllı cihazların tümü için tek bir gelistirme
ortamı sundugunu açıklamıs bu da android studio’dur. Gerek arayüz gerekse kod yazma
bakımından gelistiriciye pratiklik saglamaktadır. Birde android studio’dan önce eclipse’de
olmayan gradle yapısına geçtigini duyurmustu. Bu da android studio’yu seçmeme biraz
da olsa sebep oldu.
2.2.1 Gradle özelligi
Gradle, projelerimizi built etmemize yarayan yeni nesil bir sistemdir. Gradle en güzel
özelligi test, debug, release esnasında almanız gereken proje paketlerini otomatiklestir-
mektedir. Bu islemleri daha önce ant, maven gibi build sistemleri ile yapmak mümkündü.
Gradle, ant ve maven’ın güzel özelliklerini almıstır. Ant da scriptler ile build konfigü-
rasyonumuzu kolayca yapabiliyorduk ama kütüphane yönetim sistemi en kötü yanıydı.
Maven, kütüphane konusunda imdadımıza yetisiyordu. maven kullanmak için jar ismini
ve versiyon bilgisini verdigimizde kendi sistemlerinden dahil o jar dosyasını buluyor ve
projeyi build edebiliyor.
Özet olarak, eclipse döneminde dısarıya bagımlılık (jar kütüphaneleri) oldukça fazlaydı.
Bundan dolayı benim yaptıgım projeyi bir baskası derlemek istediginde o jar dosyalarını
dahil etmesi gerekiyordu. Yeni gelen gradle sisteminde ise uygulamanın bagımlılıkları
gradle’da tutulmaktadır ve proje derlenmeden önce gradle derlenerek eksik jar yani kütüp-
hane dosyalarını google’ın repository’sinden indirmektedir. Eski yapıya göre avantajları
olmasına ragmen benim gördügüm eksikligi ise gradle derleme zamanıdır.
3 MESAJLASMA UYGULAMASI GELISTIRME
Parse API, Sinch API ve Android Studio gibi Uygulamalar ve Yazılımlar Tanıtılacaktır.
3.1 Kullanılan Araç ve Yazılımlar
Bu projede kullanılan yardımcı yazılımlar tanıtılacaktır.
5
3.1.1 Android studio
Android Studio, Android uygulamalarının gelistirildigi, üst seviye özelliklere sahip ve
Google tarafından da önerilen resmi programlama aracıdır.
Android Studio’nun kod gelistiricilere sundugu temel özellikler sunlardır:
• Gradle tabanlı, esnek proje insa sistemi.
• Farklı özellik ve sürümlere göre çoklu APK çıktısı.
• Temel proje sablonlarıyla hızlı ve kolay proje üretimi.
• Ekran tasarımlarını kolaylastıran sürükle-bırak özellikli zengin editör.
• Uygulamanın performansı, kullanılabilirligi, farklı sürümlerde çalısabilirliginin kont-
rol edilebilecegi test araçları.
• Kolay ve güvenli APK imzalanması.
• Ek ugrasa gerek kalmadan Google hizmetlerini uygulamaya ekleyebilme.
Bu proje kapsamında Android Studio 1.2.1.1 sürümü kullanılarak kodlar yazılmıstır.
3.1.2 Veritabanı ve kimlik dogrulama servisi
Veritabanı ve Kimlik Dogrulama sistemi olarak Parse API kullanılmıstır[1]. Sekil 3’de
görüldügü gibi istemci içerinde Java kısmı ve Parse API kısmı bulunmaktadır. Internet
üzerinden Sunucuya istek ve sorgu gönderebilir. Bu islemleri Rest kullanarak Yapmakta-
dır.
Sekil 3: Parse Diyagramı
6
Bu API’yi tanıtmadan önce neden bu API’yi seçtim, yada alternatif baska neler var bunlar-
dan bahsedecegim. Netmera, urbanairship gibi bunun alternatifi iki site daha bulunmakta-
dır. Genel amacı itibariyle bunlar webservis, veritabanı ve hosting’i bir arada bulunduran
bulut yapılarıdır. Bunlar olmasaydı webservis ve hosting’i ayrı alıp birbirleri arasında bazı
ayarlar yapmak zorunda kalacaktık. Bu da gerek kodlayanı gerekse projenin daha sonra
kullanılabilirligi açısında çok iyi bir yapı degildir.
Bu API’ler bu baglantıları kendi içerisinde hallediyor ve bize onun SDK’sını kullanarak
erismek kalıyor. Çogunda farklı fiyat teklifleri ve istek basına fiyatlandırma geçerlidir.
Bunlardan Parse’i tercih etme sebebim ise hizmetlerini 1000 istege kadar ücretsiz sun-
ması, sitesinde yeteri kadar yardım dosyası bulundurması ve query’lerde daha esnek bir
yapı saglamasıdır[7].
Sekil 4: Parse Kullanıcı Tablosu
Sekil 5: Parse Mesaj Tablosu
7
Bu projede Parse 1.6.0 sürümü kullanılmıstır.
3.1.3 Bulut mesaj servisi
Bulut mesaj servisi olarak Sinch API kullanılmıstır[2]. Bunun Sayesinde atılan mesaj
karsıya iletildi mi yada iletilmeyen mesajların hangileri oldugunu kimden kime gidecegini
söyleyen bir kontroldür. Bunun yanında daha bir çok özelligide bulunmaktadır. Örnek
olarak Sesli Arama, Videolu arama ve Text mesajı gibi ekstra özellikleri bulunmaktadır.
Simdilik bu projede mesajların bildirim olarak iletilmesi için kullanılmıstır[3]. Çalısma
Sekli ise Sekil 6’deki gibi istemciye gelen mesajlar ve istemciden giden mesajları yönetir.
Sekil 6: Sinch Diyagramı
Sekil 7: Sinch Arayüzü
8
Bu projede Sinch-android 3.4.3 sürümü kullanılmıstır.
3.2 Uygulamanın Çalısma Prensibi
Sekil 8: Arayüzler
Sekil 8’deki arayüzlere sahip olan uygulama, ilk ekran olan Giris ekranından Baslamak-
tadır. Burada Kullanıcıdan Kullanıcı Adi ve Sifre istenmektedir. Üyeligi bulunmayanlar
ise son görüntüdeki Kayıt olma sayfasına gidecektir. Burada Kayıt islemini tamamladık-
tan sonra Tekrar Giris sayfasına yönlendirilmektedir. Buradaki islemler tamamlandıktan
sonra kullanıcıların bir listesinin bulundugu sayfaya geçilmektedir. Buradan kullanıcı bir
kisiyi seçip mesaj penceresine geçip artık kullanmaya baslayabilmektedir[6].
Bu sayfada diger uygulamalardan farklı olarak resimde gözüken mikrofon simgesine tık-
landıgı zaman konusulan metni yazıya çevirmektedir. Ek 1’de verilen kodlar yardımıyla
bu çevirme islemi yapılmaktadır. Google duydugu sese en yakın olandan en az yakın olan
kelimeleri/cümleleri listenin basından sonuna dogru sıralamaktadır. Bende burada en an-
lamlı olanı yani sıfırıncı elemanı kullanmaktayım.
Uygulamanın eksik yönlerine deginmek gerekirse, Arka planda çalısan servis sadece uy-
gulama yasam döngüsünde yer almaktadır. Yani uygulama sonlandıgında gelen mesajlar
servis çalısmadıgı için ne yazık ki bildirimde gözükmemektedir. Bu soruna çözüm ola-
rak bir yöntem gelistirdim fakat henüz kodlama asamasına yansıtılmadı. Çözümü basitçe
açıklamak gerekirse, Diger benzer uygulamalarında yaptıgı gibi sistemin açılıs broadcast
9
mesajını dinleyerek yakalandıgı anda servis baslatılmalıdır. Yada internet baglantısı bro-
adcast mesajına bakıp yakalandıgı anda baslatılması çözüm olacaktır[4].
3.3 Uygulamanın API’ler Yardımı ile Gerçeklenmesi
Önceki Bölümlerde kullanılan bilesenler tanıtılmıstı. Bu bilesenleri uyumlu bir sekilde
kullanarak projeyi tamamlayacagız. ilk olarak bir android projesi açılır ve bu iki kütüp-
hane eklenerek baslanır. Bundan sonra arayüzler android’de bilindigi üzere xml kodla-
rından olusmaktadır. Bu xml kodlarını yazarak yada sürekle birak mantıgı ile görsel ara-
yüzler olusturulmaya baslanır. Arayüzler proje içerinde layout klasörü içerinde toplanır.
Daha sonra bunların her biri için bir activity sınıfı olusturmamız gerekir. Bu sınıfları da
olusturunca manifast dosyamızda bunları belirtmemiz gerekiyor.
Bu manifast dosyası android programımızın rehberi gibi düsünebiliriz gerekli izinler hangi
sinifların bulundugu hangi servislerin oldugu bu dosyanın içerisine yazılır. Bu dosya içeri-
sine internet ve wifi erisimi izni vermemizde gerekir. Bu izinler verilmez ise uygulamada
derleme sırasında bir hata meydana gelmez fakat uygulamanın internete baglanması ge-
rektiginde android sürümü düsük olanlarda isletim sistemi kapatır, yüksek olanlarda ise
uygulamayı kapatmaz o sayfada bekler. Yani izinler de uygulamalarda oldukça önemlidir.
Servis sınıfına gelince en çok sorun yaratan sınıf burası oldu. Çünkü uygulamanın kilit
noktası burası sayılabilir. Bu servis Sinch’ın arayüzünü implement ederek onun var olan
fonksiyonlarını kullandıgım kısımdır. Bu fonksiyonlar arasında mesaj gönderme, mesaj
alma, Sinch istemcisini baslatma gibi baslıca fonksiyonları vardır.
Bu kısımda en çok beni ugrastıran kısım servis ile benim sınıfımı nasıl haberlestirece-
gim? sorusunun yanıtı oldu. Bu oldukça zamanımı aldı diyebilirim. Çünkü gelen mesaj
servisten sınıfa, giden mesajda sınıftan servise iletilmesi gerekiyordu. Bunun çözümünü
broadcast ile yaptım. Broadcast mesajı yolladım ve istedigim yerde bu veriyi alıp isledim.
Bu java kodları arasında uygulamayı veritabanı ile haberlestirmek amacıyla birkaç ayar
yapmak gerekiyor. Bunu Ek 2’deki gibi ayarlamalıyız.
10
Daha Sonra ise Sinch’den aldıgımız key ve adresleri uygulamamıza eklememiz gerekiyor.
Bunu da Ek 3’deki gibi yapabiliriz.
11
SONUÇLAR
Kısaca yaptıklarımızdan bahsedersek, Uygulamanın iki kisi arasında mesaj gönderebilir
ve alabilir olması amaçlanmıstı.
Ilk olarak, uygulamanın arayüzleri kodlandı ve tasarlandı[5]. Daha sonra ise bunların java
kodları yazıldı. Bu kodların yazımından Sonra uygulamada eksik ve hatalar varsa bunlar
düzeltildi. Yasanılan hatalara uygun mesaj verilerek kullanıcılara hatalarının farkında ol-
ması saglandı. Son olarak ise artık çalısabilir durumda kullanıma sunuldu.
Projenin servis kısmında oldukça zorluk çekildi. Daha önce bu konuda çok fazla bilgi
sahibi olunmadıgı için önce arastırmalar yapılarak daha sonra kodlama ve çıkan hataların
çözümü ile ugrasıldı. veriler json formatında geldigi için bunların ayristilması ve sorguları
üzerinde birazda olsa bilgi sahibi olundu.
Bu uygulamanın daha bir çok gelistirilebilir yöneleri bulunmaktadır. Bunlardan ilk ve en
önemlilerinden birisi kullanıcıların resimlerini alarak daha fazla görsellik ön plana çıka-
rılabilir. Daha Sonra ise resim ve video transferi eklenebilir. Bu da önemli ayrıntılardan
biridir. Kullanıcılardan gelen geri bildirimler ile dosya transferi, sesli ve görüntülü ko-
nusma gibi özellikler eklenebilir.
12
Kaynaklar
[1] https://parse.com/ [Ziyaret Tarihi: 4 Mart 2015]
[2] https://www.sinch.com/docs/android/user-guide/ [Ziyaret Ta-
rihi: 17 Mart 2015]
[3] http://stackoverflow.com/questions/7238243/
how-to-use-notification-with-sound-and-vibration [Ziyaret
Tarihi: 17 Mart 2015]
[4] http://developer.android.com/reference/android/content/
BroadcastReceiver.html [Ziyaret Tarihi: 25 Mart 2015]
[5] http://developer.android.com/guide/topics/ui/controls/
button.html [Ziyaret Tarihi: 1 Nisan 2015]
[6] https://gelecegiyazanlar.turkcell.com.tr/konu/android/
egitim/android-201/listview-kullanimi [Ziyaret Tarihi: 3 Nisan
2015]
[7] https://parse.com/docs/android_guide#
queries-fromlocaldatastore [Ziyaret Tarihi: 7 Nisan 2015]
13
EKLER
Ek 1
...
private void promptSpeechInput() {
Intent intent = new
Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL,
RecognizerIntent.LANGUAGE_MODEL_FREE_FORM);
intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE,
Locale.getDefault());
intent.putExtra(RecognizerIntent.EXTRA_PROMPT,
getString(R.string.speech_prompt));
try {
startActivityForResult(intent, REQ_CODE_SPEECH_INPUT);
} catch (ActivityNotFoundException a) {
Toast.makeText(getApplicationContext(),
getString(R.string.speech_not_supported),
Toast.LENGTH_SHORT).show();
}
}
@Override
protected void onActivityResult(int requestCode, int
resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
switch (requestCode)
{
case REQ_CODE_SPEECH_INPUT:
if (resultCode == RESULT_OK && null != data)
{
14
ArrayList<String> result = data
.getStringArrayListExtra
(RecognizerIntent.EXTRA_RESULTS);
messageBodyField.setText(messageBodyField
.getText().toString()+" "+result.get(0));
}
break;
}
}
...
15
Ek 2
public class Uygulama extends Application {
@Override
public void onCreate() {
super.onCreate();
//Parse.initialize(this, "app-id", "client-key");
//siteden verilen app-id ve client-key i yazdim.
Parse.initialize(this,
"rHbI4u13TW9WZhqnZQY7iwcBtzE1HJfdbBmGQS2f",
"vAuk6KGKRdKmJdfG2Wl3YKfGxJytFKAD3G6jlxzI");
}
}
16
Ek 3
public class MessageService extends Service implements
SinchClientListener,MessageClientListener {
//Bu servis api ile gelen ve gonderilen mesajlari yonetecek
//üyelik sonrasi siteden verilen bilgiler
private static final String APP_KEY =
"0afa17cd-4b25-451a-81ca-0532a8d55790";
private static final String APP_SECRET =
"WuqO8AWnzUK83MqJH2h40w==";
private static final String ENVIRONMENT = "sandbox.sinch.com";
private SinchClient sinchClient = null;//kullandigim api
public void startSinchClient(String username) {
sinchClient = Sinch.getSinchClientBuilder()
.context(this).userId(username)
.applicationKey(APP_KEY)
.applicationSecret(APP_SECRET)
.environmentHost(ENVIRONMENT).build();
sinchClient.addSinchClientListener(this);
sinchClient.setSupportMessaging(true);//mesajlasmayi acip
sinchClient.setSupportCalling(false); //aramayi kapattim
sinchClient.setSupportActiveConnectionInBackground(true);
sinchClient.checkManifest();
sinchClient.start();
}
}
17
ÖZGEÇMIS
KISISEL BILGILER
Adı Soyadı :Gürkan Mustafa ÇAKIR
Uyrugu : T.C.
Dogum Yeri ve Tarihi: KÜTAHYA / 30.07.1993
Adres : Kredi ve Yurtlar Kurumu E Blok
Tepebası/ BILECIK
Telefon : +90 536 441 0985
e-mail : [email protected]
EGITIM DURUMU
Lisans Ögrenimi : Bilecik Seyh Edebali Üniverstesi, Bilecik
Bitirme Yılı : 2012
Lise : Fatih Anadolu Lisesi, Kütahya
IS DENEYIMLERI
Yıl : 2014
Kurum : Biltay Teknoloji
Stajlar : Biltay Teknoloji
ILGI ALANLARI
YABANCI DILLER : Ingilizce
18