HMS Push Kit ile OneSignal Entegrasyonu

Ercument Erol Olcer
Huawei Developers - Türkiye
5 min readOct 20, 2020

Herkese Merhaba,

Bugün sizlere bir çok platforma destek veren ve bu platformdaki kullanıcılarınıza gönderebileceğiniz bildirimlerinizi tek bir panelden yönetebileceğiniz OneSignal’i, HMS Push Kit ile nasıl entegre edebileceğinizi anlatacağım.

Gereksinimler

  1. Huawei Geliştirici Hesabı, buraya tıklayarak nasıl oluşturacağınızı öğrenebilirsiniz.
  2. OneSignal Hesabı.
  3. AppGallery Connect üzerinden oluşturduğunuz uygulama.

1. Adım: Push Kit’i Etkinleştirmek

  1. AppGallery Connect’e giriş yapıp My projects seçeneğini seçin.
  2. Listeden Huawei Push Kit’i etkinleştirmek istediğiniz projenizi seçin.
  3. Açılan sayfada sol menüden Push Kit seçip, sonrasında Enable Now butonuna tıklayın.
  4. (Opsiyonel) Eğer projenizde henüz Data Storage Location seçmediyseniz bununla alakalı bir ekran karşınıza çıkabilir. Burada size uygun olan ülkeyi seçip OK ile işlemi tamamlayabilirsiniz. Türkiye konumunu hedefliyorsanız Germany seçeneği sizin için uygun olacaktır.
Daha öne tercih yapmadıysanız bu ekranda Germany seçeneği ile devam edebilirsiniz

2. Adım: OneSignal Projesi Oluşturmak

  1. OneSignal’e giriş yaparak New App/WebSite butonuna tıklıyoruz.
OneSignal’e Giriş Yaptıktan Bu Ekranı Göreceğiz

2. Açılan sayfada ilk kutuya uygulamamızın adını yazıyoruz, ardından More Options bölümünden Huawei Android (HMS) seçeneğini seçip, Next butonuna basarak devam ediyoruz.

Uygulama adınızı yazıp, Huawei Android (HMS) seçeneği ile devam ediyoruz

3. Konfigürasyon sayfasına geldiğimizdeyse AppGallery Connect’te oluşturduğunuz projedeki bilgileri soruyor olacak. Bunun için Huawei AppGallery Connect adresini açıp, My apps seçeneğine tıklayın. Uygulamanızı seçtikten sonra App information sayfasında ihtiyacınız olan bilgilere ulaşıyor olacaksınız.

AppGallery Connect sayfasında OneSignal entegrasyonu için gereken bilgileri bulabilirsiniz

Tekrar OneSignal’e dönerek bu bilgileri tamamlayıp Next seçeneği ile devam edebiliriz.

AppGallery Connect sayfasından ulaştığınız içerikleri buraya girmelisiniz

4. Bu makale Java ile anlatılacağından dolayı burada Native Android seçeneğiyle devam ediyoruz. Farklı bir platform üzerine çalışacaksanız, kendinize uygun seçenek ile devam edebilirsiniz.

Biz, Native Android (Java) ortamında projemizi geliştirdiğimiz için bu seçeneği seçiyoruz

5. Konfigürasyon işlemlerimizi tamamladık ve APP ID’mize ulaşmış olduk. Artık Android tarafına geçerek teknik entegrasyon yapma zamanı.

Bu sayfayı açık tutmaya devam edin, entegrasyon esnasında tekrar döneceğiz.

Makalenin bundan sonraki bölümünde bu işlemi Native Android platformunda yapacağımızdan dolayı, farklı bir platform kullanıyorsanız alternatif kaynaklardan yardım alabilirsiniz.

3. Adım: HMS Entegrasyonu

Eğer HMS servislerini daha önce entegre ettiyseniz, bu adımı atlayabilirsiniz

  1. Daha önce açmış olduğumuz AppGallery Connect adresindeki projenize geri dönüp, agconnect-services.json dosyasını bilgisayarınıza indirin.

2. Android Studio’da projenizi açın. Solda dosyalarınızı görüntülediğiniz pencerenin üstünde yer alan Android seçeneğini Projects olarak değiştirip, indirdiğiniz dosyayı app klasörünün içine atın.

3. Android Studio’da üstten View > Tools Windows > Gradle adımını takip edin

4. Ekranın sağ tarafında açılan menüden app > Tasks > android > signingReport seçeneğine çift tıklayın

5. Ekranın alt tarafında gradle işlemi tamamlanacak, ardından SHA-256 anahtarınızın oluştuğunu göreceksiniz.

6. Bu anaharı kopyalayarak AppGallery Connect sayfasındaki projenizi açın ve sayfanın en altında bulunan SHA-256 certificate fingerprint alanına yapıştırıp kaydedin.

7. build.gradle (Project: ) dosyanızı açıp, buildscript { repositories } ve allprojects { repositories } alanlarının içine ekran görüntüsünde olduğu gibi aşağıdaki satırı ekleyin.

maven { url 'https://developer.huawei.com/repo/' }

buildscript { dependencies } alanına aşağıdaki satırı ekleyin.

classpath 'com.huawei.agconnect:agcp:1.3.1.300'
Proje seviyesindeki build.gradle(Project:) dosyanız işlemler tamamlandığında böyle görünecektir

8. app/build.gradle(Module: ) dosyasını açın, dependencies içine aşağıdaki satırı ekleyin.

implementation 'com.huawei.hms:push:4.0.3.301'

Dosyanın en altına inip aşağıdaki satırı ekleyin.

apply plugin: 'com.huawei.agconnect'

Tüm bunları tamamladıktan sonra ekranın üstünde çıkacak olan alanda sağda bulunan Sync Now butonuna tıklamayı unutmayın.

4. Adım: OneSignal Entegrasyonu

  1. app/build.gradle(Module: ) dosyanızı açıp, dosyanın en üstüne aşağıdaki kod bloğunu yapıştırın
buildscript {
repositories {
maven { url 'https://plugins.gradle.org/m2/'}
}
dependencies {
classpath 'gradle.plugin.com.onesignal:onesignal-gradle-plugin:[0.12.8, 0.99.99]'
}
}
apply plugin: 'com.onesignal.androidsdk.onesignal-gradle-plugin'

repositories {
maven { url 'https://maven.google.com' }
}

2. dependencies içerisine aşağıdaki satırı ekleyin:

implementation 'com.onesignal:OneSignal:[3.15.0, 3.99.99]'

3. android { defaultConfig } içerisine aşağıdaki kodları ekleyin:

manifestPlaceholders = [
onesignal_app_id: 'PUT_YOUR_ONESIGNAL_APP_ID_HERE',
// Project number pulled from dashboard, local value is ignored.
onesignal_google_project_number: 'REMOTE'
]

Burada PUT_YOUR_ONESIGNAL_APP_ID_HERE yerine OneSignal’de oluşturduğunuz App ID’yi yazmalısınız.

Tüm işlemleri tamamladığınızda dosyanızda görseldeki gibi bir içerik elde etmiş olmalısınız.

app/build.gradle (Module: ) dosyasının final hali

4. Projenizin ana dizininde App isminde yeni bir java dosyası oluşturun. İçeriğini aşağıdaki gibi yapın:

Eğer daha önce Application classı oluşturduysanız, mevcut dosyanıza ilgili OneSignal satırlarını eklemeniz yeterli olacaktır, bu durumda 5'inci adımı da atlayabilirsiniz.

Dosyanın 1'nci satırındaki “package” ile başlayan paket adınızın hemen altına yapıştırın

5. AndroidManifest.xml dosyanızı açın, <application ile başlayan etiketin hemen altına aşağıdaki satırı ekleyin.

android:name=".App"

Sonuç

Tüm işlemleri tamamladık, artık Huawei marka cihazlara bildirim göndermeye hazırsınız. Uygulamayı cihazınızda bir kez çalıştırdıktan sonra OneSignal sayfasına geri dönüp Check Subscribed Users butonuna tıklayın, yeşil uyarı gördüyseniz kurulum işlemi başarılı olmuş demektir. Kırmızı uyarı çıkıyorsa maalesef eksik bir şeyler olduğu anlamına geliyor, eksik kısmı tespit edip düzeltme yaparak tekrar deneyebilirsiniz.

Yeşil uyarı entegrasyon işlemlerinin başarılı olduğunu, ilk cihazın bağlantı sağladığını göstermekte
Sağlıklı günler :)

--

--