HMS Push Kit ile OneSignal Entegrasyonu
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
- Huawei Geliştirici Hesabı, buraya tıklayarak nasıl oluşturacağınızı öğrenebilirsiniz.
- OneSignal Hesabı.
- AppGallery Connect üzerinden oluşturduğunuz uygulama.
1. Adım: Push Kit’i Etkinleştirmek
- AppGallery Connect’e giriş yapıp My projects seçeneğini seçin.
- Listeden Huawei Push Kit’i etkinleştirmek istediğiniz projenizi seçin.
- Açılan sayfada sol menüden Push Kit seçip, sonrasında Enable Now butonuna tıklayın.
- (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.
2. Adım: OneSignal Projesi Oluşturmak
- OneSignal’e giriş yaparak New App/WebSite butonuna tıklıyoruz.
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.
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.
Tekrar OneSignal’e dönerek bu bilgileri tamamlayıp Next seçeneği ile devam edebiliriz.
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.
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ı.
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
- 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'
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
- 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.
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.
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.