Ana içeriğe atla

Genel Bakış

Android push bildirimleri, Android uygulamanızda sürekli kullanıcı etkileşimi ve elde tutmayı sağlamak için esastır. Gerçek zamanlı güncellemeler, hatırlatmalar ve kişiselleştirilmiş mesajları doğrudan kullanıcılarınıza iletme gücü verir, uygulamanızın genel kullanıcı deneyimini ve bağlılığını iyileştirir. OneSignal, Firebase Cloud Messaging (FCM) kullanır ancak bu kılavuzda gösterildiği gibi daha fazla esneklik ve işlevsellik sağlamak üzere tasarlanmıştır.

Gereksinimler

  • “Google Play Store (Services)” yüklü Android 7.0+ cihaz veya emülatör.
  • Android Studio (kurulum talimatları Android Studio Meerkat kullanır).
  • Yapılandırılmış OneSignal uygulaması ve platformu.

Configure your OneSignal app and platform

Required setup for push notifications To start sending push notifications with OneSignal, you must first configure your OneSignal app with all the platforms your support—Apple (APNs), Google (FCM), Huawei (HMS), and/or Amazon (ADM).
If your organization already has a OneSignal account, ask to be invited as an admin role to configure the app. Otherwise, sign up for a free account to get started.
You can manage multiple platforms (iOS, Android, Huawei, Amazon, Web) under a single OneSignal app.
1

Create or select your app

  • To add platforms to an existing app, go to Settings > Push & In-App in the OneSignal dashboard.
  • To start fresh, click New App/Website and follow the prompts.

Example shows creating a new app.

2

Set up and activate a platform

  • Choose a clear and recognizable name for your app and organization.
  • Select the platform(s) you want to configure (iOS, Android, etc.).
  • Click Next: Configure Your Platform.

Example setting up your first OneSignal app, org, and channel.

3

Configure platform credentials

Follow the prompts based on your platforms:Click Save & Continue after entering your credentials.
4

Choose target SDK

Select the SDK that matches your development platform (e.g., iOS, Android, React Native, Unity), then click Save & Continue.

Select which SDK you are using to be navigated to the docs.

5

Install SDK and save your App ID

Once your platform is configured, your OneSignal App ID will be displayed. Copy and save this ID—you’ll need it when installing and initializing the SDK.If collaborating with others, use the Invite button to add developers or teammates, then click Done to complete setup.

Save your App ID and invite additional team members.

Once complete, follow the SDK installation guide for your selected platform to finish integrating OneSignal.

Android kurulumu

1. OneSignal SDK’yı ekleyin

Android Studio’da build.gradle.kts (Module: app) veya build.gradle (Module: app) dosyanızı açın ve OneSignal’ı dependencies bölümüne ekleyin.
implementation("com.onesignal:OneSignal:[5.4.0, 5.4.99]")

Örnek, OneSignal'ın Uygulamanızın build.gradle.kts dosyasına eklenmesini gösterir.

Gradle’ı Senkronize Edin

Bağımlılığı ekledikten sonra projenizi senkronize edin:
  • Banner’daki Sync Now üzerine tıklayın
  • Veya File > Sync Project with Gradle Files bölümüne gidin

2. SDK’yı Application sınıfında başlatın

OneSignal’ı Application sınıfınızın onCreate metodunda başlatmak, tüm giriş noktalarında doğru SDK kurulumunu sağlamak için en iyi uygulamadır.
Yeni bir sınıf oluşturun (örnek: ApplicationClass) ve aşağıdaki kodu ekleyin.
package com.your.package.name // Replace with your package name
import android.app.Application

class ApplicationClass : Application() {
  override fun onCreate() {
    super.onCreate()
    // OneSignal initialization will go here
  }
}

Örnek ApplicationClass.kt dosyası.

Uygulamanızın AndroidManifest.xml dosyasını açın<application> etiketinize android:name=".ApplicationClass" ekleyin (farklı bir şeye ayarladıysanız .ApplicationClass yerine gerçek sınıf adınızı yazın).
xml
  <manifest xmlns:android="http://schemas.android.com/apk/res/android"
      xmlns:tools="http://schemas.android.com/tools">

     <application
          android:name=".ApplicationClass"
          android:icon="@mipmap/ic_launcher"
          android:label="@string/app_name"
          ...
      </application>

  </manifest>

.ApplicationClass adı ile AndroidManifest.xml.

ApplicationClass sınıfınızda, sağlanan metodlarla OneSignal’ı başlatın. YOUR_APP_ID yerine OneSignal kontrol panelinizde Settings > Keys & IDs bölümünde bulunan OneSignal App ID’nizi yazın. OneSignal uygulamasına erişiminiz yoksa, Ekip Üyeleri sayfasından sizi davet etmelerini isteyin.
package com.your.package.name // Replace with your package name

import android.app.Application
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch

import com.onesignal.OneSignal
import com.onesignal.debug.LogLevel

class ApplicationClass : Application() {
   override fun onCreate() {
      super.onCreate()

      // Enable verbose logging for debugging (remove in production)
      OneSignal.Debug.logLevel = LogLevel.VERBOSE
      // Initialize with your OneSignal App ID
      OneSignal.initWithContext(this, "YOUR_APP_ID")
      // Use this method to prompt for push notifications.
      // We recommend removing this method after testing and instead use In-App Messages to prompt for notification permission.
      CoroutineScope(Dispatchers.IO).launch {
         OneSignal.Notifications.requestPermission(true)
      }
   }
}

OneSignal kodu eklenmiş ApplicationClass.kt dosyası.

Bir Activity içinde (MainActivity gibi) başlatma önerilmez çünkü derin bağlantılardan veya bildirimlerden gelen uygulama soğuk başlatmalarında çağrılmayabilir. Güvenilirlik için OneSignal’ı her zaman Application sınıfınızda başlatın.

3. Varsayılan simgeleri özelleştirin

Uygulamanızın markasına uyacak şekilde bildirim simgelerinizi yapılandırmanızı öneririz. Aksi takdirde OneSignal varsayılan bir zil simgesi kullanacaktır.

OneSignal SDK entegrasyonunu test etme

Bu kılavuz, push bildirimleri, abonelik kaydı ve uygulama içi mesajlaşmayı test ederek OneSignal SDK entegrasyonunuzun doğru çalıştığını doğrulamanıza yardımcı olur.
Android emülatörü ile test ediyorsanız, soğuk başlatma ile başlamalıdır.
  1. Android Studio’da Device Manager bölümüne gidin.
  2. Emülatör cihazınızı seçin ve Edit üzerine tıklayın.
  3. Additional Settings veya More bölümüne gidin.
  4. Boot option ayarını Cold Boot olarak ayarlayın.
  5. Değişiklikleri kaydedin ve emülatörü yeniden başlatın.

Mobil abonelikleri kontrol edin

1

Uygulamanızı bir test cihazında başlatın.

Başlatma sırasında requestPermission metodunu eklediyseniz, yerel push izin istemi otomatik olarak görünmelidir.

iOS ve Android push izin istemleri

2

OneSignal kontrol panelinizi kontrol edin

İstemi kabul etmeden önce, OneSignal kontrol panelini kontrol edin:
  • Audience > Subscriptions bölümüne gidin.
  • “Never Subscribed” durumu ile yeni bir giriş görmelisiniz.

'Never Subscribed' durumu ile aboneliği gösteren kontrol paneli

3

Uygulamaya dönün ve istem üzerinde Allow'a dokunun.

4

OneSignal kontrol paneli Abonelik sayfasını yenileyin.

Abonelik durumu artık Subscribed göstermelidir.

'Subscribed' durumu ile aboneliği gösteren kontrol paneli

Başarıyla bir mobil abonelik oluşturdunuz. Mobil abonelikler, kullanıcılar bir cihazda uygulamanızı ilk kez açtığında veya aynı cihazda uygulamanızı kaldırıp yeniden yüklediklerinde oluşturulur.

Test aboneliklerini ayarlayın

Test abonelikleri, bir mesaj göndermeden önce push bildirimi test etmek için faydalıdır.
1

Test Aboneliklerine Ekleyin.

Kontrol panelinde, aboneliğin yanındaki Options (üç nokta) düğmesine tıklayın ve Add to Test Subscriptions seçeneğini seçin.

Bir cihazı Test Aboneliklerine ekleme

2

Aboneliğinizi adlandırın.

Test Subscriptions tab sekmesinde cihazınızı kolayca tanıyabilmek için aboneliği adlandırın.

'Name your subscription' alanını gösteren kontrol paneli

3

Bir test kullanıcıları segmenti oluşturun.

Audience > Segments > New Segment bölümüne gidin.
4

Segmenti adlandırın.

Segmenti Test Users olarak adlandırın (ad önemlidir çünkü daha sonra kullanılacaktır).
5

Test Users filtresini ekleyin ve Create Segment üzerine tıklayın.

Test Users filtresi ile bir 'Test Users' segmenti oluşturma

Başarıyla bir test kullanıcıları segmenti oluşturdunuz. Artık bu bireysel cihaza ve test kullanıcı gruplarına mesaj göndermeyi test edebiliriz.

API aracılığıyla test push gönderin

1

App API Key ve App ID'nizi alın.

OneSignal kontrol panelinizde Settings > Keys & IDs bölümüne gidin.
2

Sağlanan kodu güncelleyin.

Aşağıdaki kodda YOUR_APP_API_KEY ve YOUR_APP_ID yerine gerçek anahtarlarınızı yazın. Bu kod, daha önce oluşturduğumuz Test Users segmentini kullanır.
curl -X \
POST --url 'https://api.onesignal.com/notifications' \
 --header 'content-type: application/json; charset=utf-8' \
 --header 'authorization: Key YOUR_APP_API_KEY' \
 --data \
 '{
  "app_id": "YOUR_APP_ID",
  "target_channel": "push",
  "name": "Testing basic setup",
  "headings": {
  	"en": "👋"
  },
  "contents": {
    "en": "Hello world!"
  },
  "included_segments": [
    "Test Users"
  ],
  "ios_attachments": {
    "onesignal_logo": "https://avatars.githubusercontent.com/u/11823027?s=200&v=4"
  },
  "big_picture": "https://avatars.githubusercontent.com/u/11823027?s=200&v=4"
}'
3

Kodu çalıştırın.

Kodu terminalinizde çalıştırın.
4

Görselleri ve onaylanmış teslimatı kontrol edin.

Tüm kurulum adımları başarıyla tamamlandıysa, test abonelikleri görsel içeren bir bildirim almalıdır:

iOS ve Android'de görsel içeren push bildirimi

Görseller daraltılmış bildirim görünümünde küçük görünecektir. Tam görseli görmek için bildirimi genişletin.
5

Onaylanmış teslimatı kontrol edin.

Kontrol panelinizde Delivery > Sent Messages bölümüne gidin, ardından istatistikleri görüntülemek için mesaja tıklayın.confirmed istatistiğini görmelisiniz, bu cihazın push’u aldığı anlamına gelir.

Onaylanmış teslimatı gösteren teslimat istatistikleri

Professional plan veya daha üst bir plandaysanız, abonelik düzeyinde onay görmek için Audience Activity bölümüne gidin:

Audience Activity'de cihaz düzeyinde onaylanmış teslimat

API’miz aracılığıyla bir segmente başarıyla bildirim gönderdiniz.
  • Onaylanmış teslimat yok mu? Sorun giderme kılavuzunu buradan inceleyin.
  • Sorun mu yaşıyorsunuz? API isteğini ve uygulama başlatmanın başından sonuna kadar olan günlüğü bir .txt dosyasına kopyalayıp yapıştırın. Ardından her ikisini de support@onesignal.com ile paylaşın.

Uygulama içi mesaj gönderin

Uygulama içi mesajlar, kullanıcılar uygulamanızı kullanırken onlarla iletişim kurmanızı sağlar.
1

Uygulamanızı cihazda kapatın veya arka plana alın.

Bunun nedeni, kullanıcıların yeni bir oturum başlamadan önce uygulama içi kitle kriterlerini karşılaması gerektiğidir. OneSignal’da, kullanıcı uygulamanızı arka planda veya kapalı olduktan en az 30 saniye sonra açtığında yeni bir oturum başlar. Daha fazla ayrıntı için uygulama içi mesajların nasıl görüntülendiği kılavuzumuza bakın.
2

Bir uygulama içi mesaj oluşturun.

  • OneSignal kontrol panelinizde Messages > In-App > New In-App bölümüne gidin.
  • Welcome mesajını bulun ve seçin.
  • Kitlenizi daha önce kullandığımız Test Users segmenti olarak ayarlayın.

Uygulama içi mesajla 'Test Users' segmentini hedefleme

3

İstenirse mesaj içeriğini özelleştirin.

Uygulama içi Welcome mesajının örnek özelleştirmesi

4

Tetikleyiciyi 'On app open' olarak ayarlayın.

5

Sıklığı planlayın.

Schedule > How often do you want to show this message? altında Every time trigger conditions are satisfied seçeneğini seçin.

Uygulama içi mesaj zamanlama seçenekleri

6

Mesajı yayına alın.

Uygulama her açıldığında Test Kullanıcılarınız için kullanılabilir olması için Make Message Live üzerine tıklayın.
7

Uygulamayı açın ve mesajı görün.

Uygulama içi mesaj yayına alındıktan sonra uygulamanızı açın. Görüntülenen mesajı görmelisiniz:

Cihazlarda gösterilen Welcome uygulama içi mesajı

Mesajı görmüyor musunuz?
  • Yeni bir oturum başlatın
  • Hala Test Users segmentinde misiniz?
    • Yeniden yüklediyseniz veya cihaz değiştirdiyseniz, cihazı Test Aboneliklerine yeniden ekleyin ve Test Users segmentinin bir parçası olduğunu onaylayın.
  • Sorun mu yaşıyorsunuz?
    • Yukarıdaki adımları yeniden üretirken Debug Log Alma bölümünü takip edin. Bu, support@onesignal.com ile paylaşabileceğiniz ek günlük kaydı oluşturacaktır ve biz de neler olduğunu araştırmaya yardımcı olacağız.
OneSignal SDK’yı başarıyla kurdunuz ve şu gibi önemli kavramları öğrendiniz:Uygulamanızdaki kullanıcıları tanımlamak ve ek özellikler ayarlamak için bu kılavuza devam edin.

Kullanıcı kimlik doğrulaması

Daha önce, mobil Abonelikler oluşturmayı gösterdik. Şimdi OneSignal SDK’yı kullanarak Kullanıcıları tüm abonelikleri (push, e-posta ve SMS dahil) genelinde tanımlamaya geçeceğiz. Kullanıcıları platformlar arasında birleştirmenize ve etkileşim kurmanıza yardımcı olmak için External ID’ler, etiketler, çok kanallı abonelikler, gizlilik ve olay takibi konularını ele alacağız.

External ID atama

Arka ucunuzun kullanıcı kimliğini kullanarak kullanıcıları cihazlar, e-posta adresleri ve telefon numaraları genelinde tutarlı bir şekilde tanımlamak için bir External ID kullanın. Bu, mesajlaşmanızın kanallar ve 3. taraf sistemler genelinde birleşik kalmasını sağlar (Entegrasyonlar için özellikle önemlidir). Kullanıcılar uygulamanız tarafından her tanımlandığında SDK’mızın login metodu ile External ID’yi ayarlayın.
OneSignal, abonelikler (Subscription ID) ve kullanıcılar (OneSignal ID) için benzersiz salt okunur ID’ler oluşturur.Kullanıcılar uygulamanızı farklı cihazlara indirdikçe, web sitenize abone oldukça ve/veya uygulamanızın dışında size e-posta adresleri ve telefon numaraları sağladıkça yeni abonelikler oluşturulacaktır.Kullanıcıları nasıl oluşturulduklarına bakılmaksızın tüm abonelikleri genelinde tanımlamak için SDK’mız aracılığıyla External ID’yi ayarlamak şiddetle önerilir.

Veri etiketleri ekleme

Etiketler, kullanıcı özelliklerini (username, role veya tercihler gibi) ve olayları (purchase_date, game_level veya kullanıcı etkileşimleri gibi) depolamak için kullanabileceğiniz anahtar-değer çifti dize verileridir. Etiketler, daha gelişmiş kullanım durumlarına izin veren gelişmiş Mesaj Kişiselleştirme ve Segmentasyon özelliklerini destekler. Uygulamanızda olaylar meydana geldikçe SDK’mızın addTag ve addTags metodları ile etiketleri ayarlayın. Bu örnekte, kullanıcı current_level adlı etiket tarafından 6 değerine ayarlanarak tanımlanabilir 6. seviyeye ulaşmıştır.

"current_level" adlı bir etiketin "6" değerine ayarlandığı OneSignal'da bir kullanıcı profili

5 ile 10 arasında bir seviyeye sahip kullanıcılardan oluşan bir segment oluşturabilir ve bunu hedefli ve kişiselleştirilmiş mesajlar göndermek için kullanabiliriz:

4'ten büyük ve 10'dan küçük bir current_level değerine sahip kullanıcıları hedefleyen bir segmenti gösteren segment düzenleyici


Kişiselleştirilmiş bir mesajla Level 5-10 segmentini hedefleyen bir push bildirimi gösteren ekran görüntüsü


Kişiselleştirilmiş içerik ile bir iOS ve Android cihazda alınan push bildirimi

E-posta ve/veya SMS abonelikleri ekleme

Daha önce SDK’mızın push ve uygulama içi mesajlar göndermek için nasıl mobil abonelikler oluşturduğunu gördük. İlgili abonelikleri oluşturarak kullanıcılara e-posta ve SMS kanalları üzerinden de ulaşabilirsiniz. E-posta adresi ve/veya telefon numarası OneSignal uygulamasında zaten mevcutsa, SDK bunu mevcut kullanıcıya ekleyecektir, çoğaltmalar oluşturmayacaktır. Birleştirilmiş kullanıcıları kontrol panelinde Audience > Users üzerinden veya View user API ile görüntüleyebilirsiniz.

External ID tarafından birleştirilmiş push, e-posta ve SMS abonelikleri olan bir kullanıcı profili

Çok kanallı iletişim için en iyi uygulamalar
  • E-posta veya SMS abonelikleri eklemeden önce açık onay alın.
  • Her iletişim kanalının faydalarını kullanıcılara açıklayın.
  • Kullanıcıların hangi kanalları tercih ettiklerini seçebilmeleri için kanal tercihleri sağlayın.

Gizlilik ve kullanıcı onayı

OneSignal’ın kullanıcı verilerini ne zaman topladığını kontrol etmek için SDK’nın onay geçitleme metodlarını kullanın: Daha fazlası için Gizlilik ve güvenlik belgelerimize bakın:

Push izinleri için istem gösterme

Uygulama açıldığında hemen requestPermission() çağırmak yerine, daha stratejik bir yaklaşım benimseyin. İzin istemeden önce push bildirimlerinin değerini açıklamak için bir uygulama içi mesaj kullanın. En iyi uygulamalar ve uygulama detayları için Push izinleri için istem gösterme kılavuzumuza bakın.

Push, kullanıcı ve uygulama içi olayları dinleme

Kullanıcı eylemlerine ve durum değişikliklerine tepki vermek için SDK dinleyicilerini kullanın. SDK, bağlanabileceğiniz birkaç olay dinleyicisi sağlar. Daha fazla ayrıntı için SDK referans kılavuzumuza bakın.

Push bildirimi olayları

Tam özelleştirme için Mobil Servis Uzantıları bölümüne bakın.

Kullanıcı durum değişiklikleri

Uygulama içi mesaj olayları

  • addClickListener(): Uygulama içi tıklama eylemlerini yönetir. Derin bağlantı veya olayları izleme için idealdir.
  • addLifecycleListener(): Uygulama içi mesajların tam yaşam döngüsünü izler (gösterildi, tıklandı, kapatıldı vb.).

Gelişmiş kurulum ve yetenekler

Entegrasyonunuzu geliştirmek için daha fazla yeteneği keşfedin:

Mobil SDK kurulumu ve referansı

Mobil push kurulumu kılavuzunu gözden geçirerek tüm temel özellikleri etkinleştirdiğinizden emin olun. Mevcut metodlar ve yapılandırma seçenekleri hakkında tam ayrıntılar için Mobil SDK referansını ziyaret edin.

Özel Bildirim Düzeni

Android 12 ve üzeri, özel bildirimler için sistem şablonlarını zorunlu kılar. Ancak, Android’in standart bildirim stillerini kullanarak düzeninizi özelleştirebilirsiniz.
Android 12+ hedefleyen uygulamalar davranış değişiklikleri nedeniyle tamamen özel düzenler kullanamaz. Mevcut özelleştirmeler için Notification.DecoratedCustomViewStyle bölümüne bakın.
Düzeninizi özelleştirmek için:

Varsayılan açma davranışını devre dışı bırakma

Bir bildirime tıklandığında, OneSignal uygulamanızı sürdürecek veya uygulamanız kapatılmışsa launcher Activity’nizi açacaktır. Bir bildirime tıklandığında OneSignal’ın launcher Activity’nizi otomatik olarak açmasını engellemek için AndroidManifest.xml dosyanıza bunu ekleyin:
AndroidManifest.xml
  <application ...>
     <meta-data android:name="com.onesignal.NotificationOpened.DEFAULT" android:value="DISABLE" />
  </application>
Application sınıfınızdaki onCreate metodunda özel bir Bildirim Açıldı Dinleyicisi uygulamalısınız. Kullanıcıyı hedeflenen Activity’nize götürmek için bu geri aramadan startActivity çağırmanız gerekecektir.

Arka plan verileri ve push geçersiz kılmaları

Sağdan Sola (RTL) dil desteği

Bildirimlerde ve kullanıcı arayüzünde RTL dillerini desteklemek için AndroidManifest.xml dosyanıza bunu ekleyin:
AndroidManifest.xml
  <application
    android:supportsRtl="true"
    ...
  </application>
Doğru RTL davranışını doğrulamak için tüm Activity’leri ve görünümleri test ettiğinizden emin olun. Daha fazla bilgi için Android’in uygulamanızı yerelleştirme belgesine bakın.

Need help?Chat with our Support team or email support@onesignal.comPlease include:
  • Details of the issue you’re experiencing and steps to reproduce if available
  • Your OneSignal App ID
  • The External ID or Subscription ID if applicable
  • The URL to the message you tested in the OneSignal Dashboard if applicable
  • Any relevant logs or error messages
We’re happy to help!