Skip to main content

Genel Bakış

OneSignal kullanarak Unity uygulamanız için push bildirimleri kurma

Push bildirimlerini Unity uygulamanıza entegre etmek, kullanıcı etkileşimini ve elde tutmayı artırmanın güçlü bir yoludur. OneSignal’in Unity SDK’sı iOS (APNs), Android (FCM), Amazon (ADM) ve Huawei cihazlarını destekler, minimum çabayla gerçek zamanlı mesajlaşmayı sağlar. Mobil oyunlar veya etkileşimli uygulamalar geliştiriyor olun, bu kılavuz OneSignal’i hızlı ve güvenilir bir şekilde entegre etmenize yardımcı olur.

Gereksinimler

  • Unity 2022.3 veya daha yenisi
  • Yapılandırılmış OneSignal uygulaması ve platformu
iOS Gereksinimleri
  • Xcode 14+ ile macOS (kurulum talimatları Xcode 16.2 kullanır)
  • iOS 12+, iPadOS 12+ veya iOS 16.2+ çalıştıran Xcode simülatörü ile cihaz
Android Gereksinimleri
  • Google Play Store (Hizmetleri) yüklü Android 7.0+ cihaz veya emülatör

OneSignal uygulamanızı ve platformunuzu yapılandırın

OneSignal uygulamanızı desteklediğiniz platformlarla yapılandırın — Apple (APNs), Google (FCM), Huawei (HMS) ve/veya Amazon (ADM).
Kuruluşunuzun zaten bir OneSignal hesabı varsa, Kuruluşa davet edilmeyi isteyin. Aksi takdirde, başlamak için ücretsiz bir hesaba kaydolun.
1

Uygulamanızı oluşturun veya seçin

New App/Website’e tıklayarak yeni bir uygulama oluşturun veya Ayarlar > Push & Uygulama İçi’nde mevcut bir uygulamaya platform ekleyin. Yapılandırmak istediğiniz platform(ları) seçin ve İleri: Platformunuzu Yapılandırın’a tıklayın.
Kuruluş adı, uygulama adı ve kanal seçimini içeren yeni uygulama kurulum akışını gösteren OneSignal panosu

İlk OneSignal uygulamanızı, Kuruluşunuzu ve kanalınızı kurma.

2

Platform kimlik bilgilerini yapılandırın

Platformunuz için kimlik bilgilerini girin:Kimlik bilgilerinizi girdikten sonra Kaydet ve Devam Et’e tıklayın.
3

Uygulama ID'nizi kaydedin ve SDK'yı yükleyin

Uygulama ID’niz son ekranda görüntülenir. Kopyalayıp kaydedin — SDK’yı başlatırken ihtiyacınız olacak. SDK platformunuzu seçin, ardından kurulum kılavuzunu izleyin.
Kurulum sonrasında Uygulama ID'sini ve ekip davet seçeneğini gösteren OneSignal panosu

Uygulama ID'nizi kaydedin ve ek ekip üyelerini davet edin.


Kurulum

1. OneSignal Unity SDK’sını ekleyin

İki kurulum yöntemi mevcuttur:
  1. Add to My Assets aracılığıyla SDK’yı hesabınıza ekleyin.
  2. Unity Editor ve Package Manager’ı başlatmak için Open in Unity’ye tıklayın.
  3. SDK’yı indirin ve Import edin.

My Assets'te OneSignal Unity SDK

  1. Tüm dosyaları içe aktarma istemini kabul edin.
  2. Window > OneSignal SDK Setup’a gidin ve kontrol listesini, özellikle Import OneSignal packages’ı izleyin.
  3. İçe aktarmadan sonra, Unity kayıt defterini güncelleyecektir. Kurulum penceresinde gösterilen kalan kurulum adımlarını tamamlayın.

OneSignal SDK Kurulum Penceresi

2. Platform kurulumu

Uygulamanızın desteklediği tüm platformları ekleyin.

iOS kurulumu

SDK’mız gerekli Xcode ayarlarını otomatik olarak yapılandırır. Provisioning yaklaşımınızı seçin:
  1. File > Build Settings > Player Settings’e gidin.
  2. Other Settings altında Automatically Sign’ı işaretleyin.

Unity'de otomatik imzalamayı etkinleştirin

Android kurulumu

  1. Edit > Project Settings > Player > Android’e gidin.
  2. Publishing Settings altında şunları etkinleştirin:
  • Custom Main Gradle Template
  • Custom Gradle Properties Template
  1. Assets > External Dependency Manager > Android Resolver > Force Resolve’u çalıştırın.
Ek hususlar:
  • Target API Level 33+ olmalıdır (v5.0.6+).
  • Minify etkinse, OneSignalConfig.androidlib kullanmak için OneSignal SDK Setup’tan Copy Android plugin to Assets’i çalıştırın.
  • Assets/Plugins/Android/OneSignalConfig.androidlib/src/main/res içindeki varsayılan simgeleri kendinizinkilerle değiştirin (yalnızca küçük harf dosya adları, alt çizgiye izin verilir). Daha fazla bilgi için Bildirim Simgelerini Özelleştir bölümüne bakın.

Amazon kurulumu

Yalnızca Amazon App Store aracılığıyla sunulan Amazon uygulamaları için gereklidir.
  1. Plugins/Android/AndroidManifest.xml dosyasını düzenleyin veya oluşturun.
  2. Ad alanı ekleyin:
  1. İzinleri ekleyin:
  1. <application> etiketine aşağıdakileri ekleyin:
  1. Tüm COM.YOUR.PACKAGE_NAME örneklerini gerçek paket adınızla değiştirin.
  2. api_key.txt dosyanızı Assets/Plugins/Android/OneSignalConfig.androidlib/src/main/assets altına yerleştirin

Huawei kurulumu

Yalnızca Huawei App Gallery aracılığıyla sunulan Huawei uygulamaları için gereklidir.Daha fazla bilgi için Huawei Unity SDK kurulumu bölümüne bakın.

İsteğe bağlı: Konum modülünü devre dışı bırakın

OneSignal Unity SDK 5.3.0’dan itibaren, uygulamanız OneSignal.Location kullanmıyorsa OneSignal’ın yerel konum modülünü iOS ve Android derlemelerinden hariç tutabilirsiniz. Varsayılan olarak SDK, konum API’lerinin ek kurulum gerektirmeden çalışması için yerel konum modülünü içerir. Android bağımlılıklarını çözmeden veya iOS derlemeden önce bayrağı ayarlayın. Hariç tutmanın iki yolu vardır:
  • Editör anahtarı (etkileşimli): Unity Editor’da Project Settings > OneSignal bölümüne gidin ve Disable Location Module seçeneğini etkinleştirin. Ayar ProjectSettings/OneSignalSettings.json dosyasına kaydedilir.
  • Ortam değişkeni (CLI/CI): Unity’yi başlatmadan önce kabukta ONESIGNAL_DISABLE_LOCATION=true (veya 1) değerini dışa aktarın. Ortam değişkeni, Editör anahtarına göre önceliklidir.
Konum modülü devre dışı bırakıldığında SDK, ayrıntılı yerel bağımlılıkları Assets/OneSignal/Editor/OneSignalAndroidDependencies.xml ve Assets/OneSignal/Editor/OneSignaliOSDependencies.xml dosyalarına yazar. Assets > External Dependency Manager > Android Resolver > Force Resolve çalıştırdıktan sonra Android, konum bileşeni olmayan OneSignal modüllerini Assets/Plugins/Android/mainTemplate.gradle dosyasına çözer. iOS derlemeleri OneSignalLocation olmadan OneSignal pod’larını kullanır. Konum modülü olmayan yerel derlemelerde OneSignal.Location.RequestPermission() ve OneSignal.Location.IsShared ataması no-op olur. OneSignal.Location.IsShared, false döndürür.

Yerel bağımlılıklar önbelleğe alındıktan sonra değişikliği uygulayın

Bu ayarı mevcut bir projede değiştirirseniz, eski yerel çıktıları temizleyin ve bayrak ayarlıyken bağımlılıkları yeniden çözün:
  • Assets/OneSignal/Editor/OneSignalAndroidDependencies.xml ve Assets/OneSignal/Editor/OneSignaliOSDependencies.xml dosyalarını silin, ardından Unity’nin bunları ProjectSettings/OneSignalSettings.json dosyasından yeniden oluşturması için projeyi yeniden açın.
  • Assets/Plugins/Android/mainTemplate.gradle dosyasının konumsuz paketleri alması için Assets > External Dependency Manager > Android Resolver > Force Resolve çalıştırın.
  • iOS Xcode projesini yeniden dışa aktarın ve gerekirse pod install çalıştırın.
  • Yeniden derlemeden önce Build/ ve diğer oluşturulan çıktıları kaldırın.
CI’da ONESIGNAL_DISABLE_LOCATION değerini Unity’yi başlatan ortamda dışa aktarın. Unity Library/, Gradle, CocoaPods ve DerivedData önbellek anahtarlarına bayrak değerini ekleyin; böylece geri yüklenen bir önbellek konum modülünü geri getirmez.

3. SDK’yı başlatın

Bu kodu uygulamanızın yaşam döngüsünün başlarında bir MonoBehaviour’ın Start() yönteminin içine ekleyin. YOUR_APP_ID yerine OneSignal panonuzun Settings > Keys & IDs bölümünde bulunan OneSignal App ID’nizi yazın.
OneSignal uygulamasına erişiminiz yoksa, Ekip Üyeleri’nden sizi davet etmelerini isteyin.
C#

OneSignal SDK entegrasyonunu test etme

Bu kılavuz, push bildirimleri, abonelik kaydı ve uygulama içi mesajlaşma test ederek OneSignal SDK entegrasyonunuzun düzgün çalıştığını doğrulamanıza yardımcı olur.
Android emülatörü ile test ediyorsanız, soğuk önyükleme ile başlamalıdır.
  1. Android Studio’da Device Manager’a gidin.
  2. Emülatör cihazınızı seçin ve Edit’e tıklayın.
  3. Additional Settings veya More’a gidin.
  4. Boot option’ı 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ı 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 panonuzu kontrol edin

İstemi kabul etmeden önce OneSignal panosunu kontrol edin:
  • Kitle > Abonelikler’e gidin.
  • “Never Subscribed” durumuna sahip yeni bir girdi görmelisiniz.

'Never Subscribed' durumuna sahip aboneliği gösteren pano

3

Uygulamaya dönün ve istemde İzin Ver'e dokunun.

4

OneSignal panosu Abonelik sayfasını yenileyin.

Aboneliğin durumu artık Abone olarak görünmelidir.

'Subscribed' durumuna sahip aboneliği gösteren pano

Başarıyla bir mobil abonelik oluşturdunuz. Mobil abonelikler, kullanıcılar uygulamanızı bir cihazda ilk kez açtığında veya uygulamanızı aynı cihazda 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 yararlıdır.
1

Test Aboneliklerine ekleyin.

Panoda, aboneliğin yanında Seçenekler (üç nokta) düğmesine tıklayın ve Test Aboneliklerine Ekle’yi seçin.

Test Aboneliklerine cihaz ekleme

2

Aboneliğinizi adlandırın.

Cihazınızı daha sonra Test Abonelikleri sekmesinde kolayca tanımlayabilmeniz için aboneliği adlandırın.
3

Test kullanıcıları segmenti oluşturun.

Kitle > Segmentler > Yeni Segment’e 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'e tıklayın.

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

Başarıyla 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

Uygulama API Anahtarınızı ve Uygulama ID'nizi alın.

OneSignal panonuzda Ayarlar > Anahtarlar & ID’ler’e gidin.
2

Sağlanan kodu güncelleyin.

Aşağıdaki koddaki YOUR_APP_API_KEY ve YOUR_APP_ID değerlerini gerçek anahtarlarınızla değiştirin. Bu kod, daha önce oluşturduğumuz Test Users segmentini kullanır.
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.

Panonuzda Teslimat > Gönderilen Mesajlar’a gidin, ardından istatistikleri görüntülemek için mesaja tıklayın.Cihazın push’u aldığını gösteren onaylandı istatistiğini görmelisiniz.
API’miz aracılığıyla bir segmente başarıyla bildirim gönderdiniz.
  • Görsel alınamadı mı? Notification Service Extension’ınız eksik olabilir.
  • 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 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

Cihazda uygulamanızı 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ı olarak en az 30 saniye geçirdikten 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

Uygulama içi mesaj oluşturun.

  • OneSignal panonuzda Mesajlar > Uygulama İçi > Yeni Uygulama İçi’ye gidin.
  • Hoş Geldiniz 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

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

Uygulama içi Hoş Geldiniz mesajının örnek özelleştirmesi

4

Tetikleyiciyi 'Uygulama açıldığında' olarak ayarlayın.

5

Sıklığı planlayın.

Zamanlama > Bu mesajı ne sıklıkla göstermek istiyorsunuz? altında Tetikleyici koşullar her karşılandığında’yı seçin.

Uygulama içi mesaj zamanlama seçenekleri

6

Mesajı yayınlayın.

Test Kullanıcılarınıza uygulam her açtıklarında erişilebilir olması için Mesajı Yayınla’ya tıklayın.
7

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

Uygulama içi mesaj yayındayken, uygulamanızı açın. Şunu görmelisiniz:

Cihazlarda gösterilen Hoş Geldiniz uygulama içi mesajı

Mesajı görmüyor musunuz?
  • Yeni bir oturum başlatın
  • Hala Test Users segmentinde misiniz?
    • Uygulamayı 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 Hata Ayıklama Günlüğü Alma kılavuzunu izleyin. Bu, support@onesignal.com ile paylaşabileceğiniz ek günlükler oluşturacak ve ne olduğunu araştırmamıza yardımcı olacağız.
OneSignal SDK’yı başarıyla kurdunuz ve şunlar gibi önemli kavramları öğrendiniz:Uygulamanızdaki kullanıcıları tanımlamak ve ek özellikleri kurmak için bu kılavuza devam edin.

Kullanıcı tanımlama

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) üzerinden tanımlamaya genişleteceğiz. Kullanıcıları platformlar arasında birleştirmenize ve etkileşime geçirmenize yardımcı olmak için Harici ID’ler, etiketler, çok kanallı abonelikler, gizlilik ve etkinlik izleme konularını ele alacağız.

Harici ID ata

Arka ucunuzun kullanıcı tanımlayıcısını kullanarak kullanıcıları cihazlar, e-posta adresleri ve telefon numaraları arasında tutarlı bir şekilde tanımlamak için Harici ID kullanın. Bu, mesajlaşmanızın kanallar ve 3. taraf sistemler arasında birleşik kalmasını sağlar (özellikle Entegrasyonlar için önemlidir). Kullanıcılar uygulamanız tarafından her tanımlandığında SDK’mızın login metodu ile Harici ID’yi ayarlayın.
OneSignal, abonelikler (Abonelik 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.Nasıl oluşturulduklarına bakılmaksızın kullanıcıları tüm abonelikleri üzerinden tanımlamak için SDK’mız aracılığıyla Harici ID’yi ayarlamak şiddetle önerilir.

Veri etiketleri ekleyin

Etiketler, kullanıcı özelliklerini (username, role veya tercihler gibi) ve etkinlikleri (purchase_date, game_level veya kullanıcı etkileşimleri gibi) depolamak için kullanabileceğiniz anahtar-değer çiftleri dizgisi verisidir. Etiketler, daha gelişmiş kullanım durumlarına olanak tanıyan gelişmiş Mesaj Kişiselleştirme ve Segmentasyonu destekler. Uygulamanızda etkinlikler gerçekleştikçe SDK’mızın addTag ve addTags metotları ile etiketleri ayarlayın. Bu örnekte, kullanıcı current_level adlı etiket tarafından 6 değerine ayarlanarak tanımlanabilen 6. seviyeye ulaştı.

OneSignal'da "current_level" adlı etiketi "6" olarak ayarlanmış bir kullanıcı profili

5 ile 10 arasında 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 current_level değerine sahip kullanıcıları hedefleyen bir segmenti gösteren segment editörü


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


Kişiselleştirilmiş içerikle iOS ve Android cihazda alınan push bildirimi

E-posta ve/veya SMS abonelikleri ekleyin

Daha önce SDK’mızın push ve uygulama içi mesajlar göndermek için mobil abonelikler oluşturduğunu gördük. İlgili abonelikleri oluşturarak kullanıcılara e-posta ve SMS kanalları aracılığıyla da ulaşabilirsiniz. E-posta adresi ve/veya telefon numarası OneSignal uygulamasında zaten mevcutsa, SDK bunu mevcut kullanıcıya ekleyecektir, kopyalar oluşturmayacaktır. Birleştirilmiş kullanıcıları panoda Kitle > Kullanıcılar aracılığıyla veya Kullanıcıyı görüntüle API’si ile görüntüleyebilirsiniz.

Harici ID tarafından birleştirilmiş push, e-posta ve SMS aboneliklerine sahip 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.
  • Kullanıcılara her iletişim kanalının faydalarını 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 kapısı metotlarını kullanın: Daha fazla bilgi için Gizlilik ve güvenlik dokümanlarımıza bakın:

Push izinleri için istem

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 ayrıntıları için Push izinleri için istem kılavuzumuza bakın.

Push, kullanıcı ve uygulama içi etkinlikleri dinleyin

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

Push bildirimi etkinlikleri

Tam özelleştirme için Mobil Servis Uzantıları’na bakın.

Kullanıcı durumu değişiklikleri

Uygulama içi mesaj etkinlikleri

  • addClickListener(): Uygulama içi tıklama eylemlerini işleyin. Derin bağlantı veya etkinlik izleme için idealdir.
  • addLifecycleListener(): Uygulama içi mesajların tam yaşam döngüsünü izleyin (gösterildi, tıklandı, reddedildi, 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 inceleyerek tüm temel özellikleri etkinleştirdiğinizden emin olun. Mevcut metotlar ve yapılandırma seçenekleri hakkında tam ayrıntılar için Mobil SDK referansı’nı ziyaret edin.
Tebrikler! Mobil SDK kurulum kılavuzunu başarıyla tamamladınız.

Yardıma mı ihtiyacınız var?Destek ekibimizle sohbet edin veya support@onesignal.com adresine e-posta gönderinLütfen şunları ekleyin:
  • Yaşadığınız sorunun ayrıntıları ve varsa yeniden üretme adımları
  • OneSignal Uygulama Kimliğiniz
  • Varsa Harici ID veya Abonelik ID
  • Varsa OneSignal Panosunda test ettiğiniz mesajın URL’si
  • İlgili günlükler veya hata mesajları
Size yardımcı olmaktan mutluluk duyarız!