OneSignal Android Bildirim Sistemi


Merhabalar, bu yazımızda sizlere OneSignal’ın Bildirim Sisteminden bahsedecek ve android için anlık bildirim alabilecek bir proje geliştireceğiz.

OneSignal.com‘un sistemini kullanarak bildirimlerinizi birçok platforma gönderebiliyorsunuz. Bunlar; ios, android, amazon, windows, google chrome,safari, firefox, marmalade, adobe air, phonegap, ionic, cocos2d-x, corona, unity olarak sıralanmakta.

OneSignal’ın referansları arasında UBER, znga, peak games gibi tanınmış firmalar var.

OneSignal‘ın bildirim gönderme ekranında çok güzel özellikler var, birçoğunu aşağıda sıralamaya çalıştım;

  • Cihazın diline özel bildirmler göndermek, İngilizce, Türkçe ve diğer diller.
  • Bildirim sesi, bildirim simgesi ve LED rengini :) seçebilme
  • Bildirimin kilitli ekranda görünüp görünmeyeceği
  • Arkaplanda json verisi gönderme
  • Bildirime dokunulduğunda bir linkin açılması
  • Bildirime buttonlar eklemek
  • Bildirimin hemen değil de ileriki bir zamanda gönderilmesi,
  • Bildirimlerin kullanıcının yerel zamanına göre teslim edilmesi.

Şimdi android uygulamalarımızda OneSignal.com üzerinden bildirimleri nasıl göndereceğimizi görelim.

OneSignal.coma kayıt olun ve yeni bir uygulama ekleyin.

Screenshot_2015_12_13_20_02_21.png

Uygulamanızın ismini yazın.

Platform kısmından Android‘i seçin.

Screenshot_2015_12_13_20_13_24

Google Server API Key girmeniz istenecektir. Eğer hazırsa girin hazır değil ise aşağıdaki adımlarla GCM mesajı göndereceğiniz projenizi oluşturabilirsiniz.

  • https://console.developers.google.com/ a girerek yeni proje oluşturun. Projenize bir isim verin.
    Screenshot_2015_12_13_20_23_46.png
  • Project ID numarasını bir yere not edin. İleriki adımlarda SDK ayarlarını yaparken kullanacağız.
    Screenshot_2015_12_13_20_25_36.png
  • Projemizden bildirim gönderebilmemiz için, projemize Google Cloud Messaging for Android API‘sini aktif edip Server Key oluşturmamız gerekiyor.
  • Arama kısmına Google Cloud Messaging yazın, çıkan sonucu seçin.
    Screenshot_2015_12_13_20_27_56.png
  • API‘yi aktif edin ve sol menüden Credentials’a tıklayın.
    Screenshot_2015_12_13_20_30_45.png
  • New credentials‘dan API Key‘i seçin. Açılan ekranda Server Key‘e tıklayın, sonraki ekranda Create diyerek Server API Key’in oluşmasını sağlayın.
    Screenshot_2015_12_13_20_34_15.pngScreenshot_2015_12_13_20_35_55.pngScreenshot_2015_12_13_20_36_25.pngScreenshot_2015_12_13_20_39_11.png

OneSignal‘a Projenize ait Server API Key‘ini girerek devam edin.

Screenshot_2015_12_13_20_41_45.png

SDK olarak Adoroid Native’i seçin.

Screenshot_2015_12_13_21_27_02.png

Android Studio‘da projenizi oluşturun veya hazır olan projenize OneSignal için gerekli kütüphaneleri build.gradle (Module: app) dosyasına aşağıdaki satırları ekleyin.

dependencies { compile ‘com.onesignal:OneSignal:2.+@aar’ compile ‘com.google.android.gms:play-services-gcm:+’ compile ‘com.google.android.gms:play-services-analytics:+’ compile “com.google.android.gms:play-services-location:+” compile ‘com.android.support:support-v4:23.+’ }

Aynı dosyada Google Cloud Messaging API‘mizin bulunduğu Projemizin numarasını ve OneSignal’a eklediğimiz uygulamamızın OneSignal ID‘sini belirttiğimiz aşağıdaki satırları uygun şekilde dosyaya yerleştirin.

android { defaultConfig { manifestPlaceholders = [manifestApplicationId: “${applicationId}”, onesignal_app_id: b6e29c2f-aba3-4e67-be71-f133ebc0258a, onesignal_google_project_number: “806014031948”] } }

MainActivity.java dosyanızda onCreate metodu içerisine super.Oncreate metodundan hemen sonra aşağıdaki kodu ekleyin.

OneSignal.startInit(this).init();

Şimdi uygulamayı run edin, cihazınızın OneSignal yönetim panelinize geldiğini göreceksiniz. Bildirimlerinizi alabilmesi için kullanıcnın Subscribed olması gerekir, eklenen gerçek cihazlar otomatik olarak bu değeri alır.

Screenshot_2015_12_21_23_18_03

OneSignal’ın init kısmını aşağıdaki gibi değiştirerek, bildirimler geldiğinde neler yapmak istediğinizi belirtebilir, arkaplanda gönderdiğiniz datayı işleyebilirsiniz.

Yukarıdaki tanımlama ile kullanıcı bildirime dokunduğunda veya uygulama açık iken bildirim geldiğinde aşağıdaki kod parçacığı çalışacaktır. Aşağıdaki kod parçacığını MainActivity.java içerisine yerleştiriniz.

OneSignal yönetim ekranınızdan New Message bölümünü seçin, bildiriminizi oluşturup Preview diyerek son bir göz atıp Send’e tıklayın eğer hemen teslimatı seçtiyseniz bildirim birkaç saniye içinde cihazınıza ulaşacaktır.

Peyam – Gazeteler

tanıtım_gorsel

Peyam ile gündemi kolay, akıllı,
ücretsiz ve hızlı yoldan yakalayın.

Peyam Osmanlıada Haber demektir bunu biliyor muydunuz?

Örnek Uygulamanın Kaynak Kodu :

Bunun gibi birçok ders hazırlayıp yayınlamak istiyoruz ancak bunun için gerçekten ciddi desteğe ihtiyacımız var arkadaşlar. Lutfen 1 dakikanızı ayırıp bu dersi facebook veya twitter hesabınız uzerinden paylaşarak bize destek olun. 

Yeni bir derste görüşmek uzere,
İyi eğlenceler!.

Mustafa Demir

Elektronik, linux, android, ios, matlab, latex, python, C, ve C++ meraklısıyım. Profesyonel Android Uygulama Geliştiricisi olma yolunda ilerliyorum. Ubuntu 15.04 kullanıcısıyım. Merakımın peşinden koşmayı severim.

Şunlar da ilginizi çekebilir

5 yorum

  • kamil yaman
    1 Mart 2016 at 02:35

    Merhaba hazır android uygulamam var. Bir türlü onesignal bildiirm yapamadım. Yarımcı olurmusunuz

  • Halil İbrahim YÜCE
    7 Nisan 2016 at 20:57

    Hocam ellerine sağlık çok faydalı bir makale, kafayı yiyecektim az daha niye olmuyor diye sayende çözdüm :)

  • güzel sözler
    2 Mayıs 2016 at 01:07

    Hocam ellerinize sağlık detaylı anlatım olmuş denemeye basliyacagim

  • ozlem
    23 Mayıs 2016 at 03:47

    Merhaba yaziniz cok faydali olmus tesekkurler emeginiz icin. Onesignal diger ozelliklerini de anlatir misiniz?

  • suat
    18 Haziran 2016 at 08:37

    Error:Execution failed for task ‘:app:processDebugGoogleServices’.
    > com.google.gson.stream.MalformedJsonException: Use JsonReader.setLenient(true) to accept malformed JSON at line 5 column 6

    bu hata neyden kaynaklı olabilir yardim edermisiniz ?

LEAVE A COMMENT

Hakkımda

Mustafa Demir

Elektronik, linux, android, ios, matlab, latex, python, C, ve C++ meraklısıyım. Profesyonel Android Uygulama Geliştiricisi olma yolunda ilerliyorum. Ubuntu 15.04 kullanıcısıyım. Merakımın peşinden koşmayı severim.

DNS DEĞİŞTİRİCİ PROJEM TÜM KAYNAK KODLARIYLA CODECANYON'DA! :)

DNS DEĞİŞTİRİCİ PROJEM TÜM KAYNAK KODLARIYLA CODECANYON'DA! :)

Bizi Takip Edin

Popüler Yazılar

There are no posts yet

Facebook'ta Takip Edin