Firebase Cloud Messaging ile Android anında iletme bildirimleri gönderme

Yazar: Louise Ward
Yaratılış Tarihi: 4 Şubat 2021
Güncelleme Tarihi: 1 Temmuz 2024
Anonim
Firebase Cloud Messaging ile Android anında iletme bildirimleri gönderme - Uygulamaların
Firebase Cloud Messaging ile Android anında iletme bildirimleri gönderme - Uygulamaların

İçerik


Bu eğitimin kapsamı dışında olmasına rağmen, FCM'yi müşteri uygulamasından bir aldın mı, karşıdan yüklenebilecek yeni veriler olduğunda uygulamanızı bildirmek için de yukarı bildirimler için FCM'yi kullanabilirsiniz. Bu şekilde, uygulama sunucunuz ile istemci uygulaması arasındaki iletişimi yalnızca gerekli olduğunda gerçekleşmesini sağlayabilirsiniz; bu, düzenli aralıklarla sunucuya ulaşan istemci uygulamasından çok daha verimlidir;

FCM, Firebase'in bir parçası olduğu için, diğer Firebase servisleriyle de iyi bir şekilde oynuyor. FCM gerekliliklerine hakim olduktan sonra, hangi bildirimlerin en etkili olduğunu belirlemek için A / B Testini kullanmak veya çeşitli FCM kampanyalarınızdan oluşturulan tüm analitik verilerinize güçlü bir makine öğrenmesi uygulamak için Firebase Tahminlerini kullanmak isteyebilirsiniz.

FCM iki tür s destekler:

  • Bildirim s. Müşteri uygulaması, FCM'yi aldığında arka planda mı yoksa ön planda mı olduğuna bağlı olarak farklı davranacaktır. Uygulamanız arka planda ise, Firebase SDK cihazı otomatik olarak işler ve cihazın sistem tepsisinde bir bildirim olarak görüntüler. Android sistemi sizin için bir bildirim oluşturduğundan, kullanıcılarınıza anında iletme bildirimi göndermenin en kolay yollarından biridir. Uygulamanız ön plandayken bir FCM alırsa, sistem alışkanlık uygulamanızın onReceived () geri çağrısında işlem yapmanıza izin vererek bu bildirimi otomatik olarak kullanın. Bu eğitici yazının ilerleyen saatlerindeReceived () bölümünü inceleyeceğiz, ancak şimdilik uygulamanızın bir süre ön planda kalması durumunda, varsayılan olarak bu kullanıcının gösterilmeyeceğini unutmayın.
  • Veri s. Bildirimin aksine, istemci uygulamasına özel veri öğeleri göndermek için verileri kullanabilirsiniz. Bununla birlikte, FCM bu veriler için 4 KB sınır koyar; bu nedenle, yükünüz 4 KB'yi aşarsa, WorkManager veya JobScheduler API'sini kullanarak ek verileri getirmeniz gerekir.

Bu derste, bildirimlere odaklanacağız.


Peki ya Google Cloud Messaging?

Google Cloud Messaging (GCM) sunucusu ve müşteri API'lerini kullanıyorsanız, bazı kötü haberler var: bu hizmet zaten kullanımdan kaldırıldı ve Google, Nisan 2019’da “çoğu” GCM hizmetini kapatmayı planlıyor. GCM’yi kullanarak projelerinizi şimdi FCM’ye taşımaya başlamalı ve geçiş işleminizi Nisan 2019’a kadar tamamlamış olmalısınız.

Firebase'i Android projenize ekleme

Uygulamanıza temel FCM desteği eklemenin ne kadar kolay olduğunu görelim ve ardından kullanıcılarınıza anında iletme bildirimleri göndermek için kullanın.

FCM bir Firebase hizmeti olduğundan, uygulamanıza Firebase eklemeniz gerekir:

  • Firebase Konsoluna gidin.
  • “Proje ekle” yi seçin ve projenize bir ad verin.
  • Hüküm ve koşulları okuyun. Devam etmekten memnuniyet duyarsanız, “Kabul ediyorum…” ve ardından “Proje oluştur” u seçin.
  • "Android uygulamanıza Firebase Ekle" yi seçin.
  • Projenizin paket adını girin ve ardından "Uygulamayı kaydet" i tıklayın.
  • “Google-services.json'u indir” seçeneğini seçin.
  • Android Studio'da, google-services.json dosyasını sürükleyip projenizin “app” dizinine bırakın.
  • Proje düzeyinde build.gradle dosyanızı açın ve aşağıdakileri ekleyin:

classpath com.google.gms: google hizmetleri: 4.0.1

  • Uygulama düzeyinde build.gradle dosyanızı açın ve Google hizmetleri eklentisini ve Firebase Core ile FCM'nin bağımlılıklarını ekleyin:

// Google hizmetleri eklentisini ekleyin // eklentisini uygulayın: com.google.gms.google-services……… bağımlılıklar {application fileTree (dir: libs, include:) // Firebase Çekirdek // uygulama com.google.firebase ekleyin: firebase-core: 16.0.1 // FCM ekle // uygulama com.google.firebase: firebase-messaging: 17.3.4

  • İstendiğinde, değişikliklerinizi senkronize edin.
  • Ardından, Firebase Konsoluna projenize Firebase'i başarıyla eklediğinizi bildirmeniz gerekir. Uygulamanızı fiziksel bir Android akıllı telefona veya tablete veya bir Android Sanal Aygıtına (AVD) yükleyin.
  • Firebase Konsoluna geri döndüğünüzde, “Kurulumu doğrulamak için uygulamayı çalıştır” seçeneğini seçin.
  • Firebase uygulamanızı tespit ettikten sonra, bir "Tebrikler" göreceksiniz. “Konsola devam et” seçeneğini seçin.

Firebase ile ilk push bildirimi gönderme

Ve bu kadar! Artık kullanıcılarınıza anında iletme bildirimi gönderebilirsiniz; bu bildirim cihazın sistem tepsisinde görünecektir (şimdilik, uygulamanızın teslim edildiğinde ön planda olmadığını varsayalım).


Firebase Konsolu üzerinden kullanılabilen Bildirimler Oluşturucu'yu kullanarak FCM bildirimleri oluşturursunuz:

  • Uygulamanızın yüklendiğinden ve arka planda çalıştığından ve cihazınızın etkin bir İnternet bağlantısına sahip olduğundan emin olun.
  • Firebase Konsolunda, soldaki menüden “Bulut Mesajlaşma” yı seçin.

  • “İlkini gönder” i seçin.
  • Başlığınızı ve bazı gövde metninizi verin ve ardından “İleri” düğmesini tıklayın.

  • “Uygulama seç” açılır penceresini açın ve listeden uygulamanızı seçin. Bu bölüm, uygulama sürümü, cihazın yerel ayarı ve uygulamanızla en son ilgilenen kullanıcı gibi faktörlere bağlı olarak, hedefli bildirimler oluşturmak için kullanabileceğiniz bazı gelişmiş seçenekler de içerir. Test bildirimimizde bu seçeneklerin hiçbirini kullanmayacağız, ancak neyin uygun olduğunu görmek istiyorsanız, “ve…” seçeneğini seçin ve ardından açılır listeyi inceleyin.

  • Bu bölümü düzenlemeyi tamamladığınızda, “İleri” düğmesini tıklayın.
  • Bunu hemen göndermek istediğinizi varsayarak, “Uygun kullanıcılara gönder” açılır penceresini açın ve “Şimdi” seçeneğini seçin.
  • Ekranın sağ alt kısmında “Yayınla” yı tıklayın.
  • Sonraki açılır penceredeki tüm bilgileri kontrol edin ve devam etmekten memnunsanız, “Yayınla” yı seçin.

Birkaç dakika sonra, hedeflediğiniz tüm istemci cihazların bu bildirimi sistem tepsilerinde alması gerekir.

Çoğu zaman, FCM bildirimleri derhal teslim edilir, ancak zaman zaman a'nın ulaşması birkaç dakika sürebilir, bu nedenle bildiriminiz ertelenirse panik yapmayın.

Bazı hedefler belirlemek: Bildirim dönüştürme etkinlikleri

Bir bildirim oluştururken, genellikle kullanıcıları uygulamanıza geri döndürüyor, uygulama içi bir satın alımda sıçramaya ikna etmek veya yalnızca bildiriminizi açmak için ikna etmek isteyeceğiniz bir hedefiniz olacaktır.

Bildirim Oluşturucu'yu kullanarak bildiriminize bir hedef atayabilir ve ardından bu bildirimin performansını FCM raporlama panosunda izleyebilirsiniz.

Bir hedef belirlemek için, Navigasyon Besteci’nin “Dönüşüm etkinlikleri” bölümünü genişletmek için tıklayın, ardından beraberindeki açılır menüyü açın ve mevcut dönüşüm etkinliklerinden birini seçin.

Bildiriminiz başarılı mıydı?

Bir bildirim gönderdikten sonra, FCM raporlama panosundaki performansını analiz edebilir, her yeni gönderimde otomatik olarak yüklenebilir veya panoya doğrudan erişebilirsiniz.

Açıkça bir dönüşüm hedefi belirlememiş olsanız bile, kullanıcıların bildirimlerinize göre hareket edip etmediklerini, sunulanların sayısını, açılanların sayısıyla karşılaştırarak ölçebilirsiniz.

Ayrıca gönderme, açma ve dönüştürme verilerini grafik olarak görmek için bu listeden herhangi birini seçebilirsiniz. Herhangi bir dönüşüm hedefi belirlerseniz, o zaman bu hedeflerle ilgili istatistikleri bulacağınız yer burasıdır.

Uygulamam ön plandaysa ne olur?

FCM bildirimleri, istemci uygulamasının durumuna bağlı olarak farklı davranır.

Varsayılan olarak, uygulamanız ön plandayken aldığı herhangi bir FCM’yi görüntülemeyecektir, bu nedenle bir gönderdiğinizde kullanıcılarınızın gerçekte olacağının garantisi yoktur. görmek bu.

Uygulamanız, ön plan, FirebaseMessagingService'i uzatmanız, onReceived yöntemini geçersiz kılmanız ve ardından verilerle veya bildirimle veya çalışarak çalışmanıza bağlı olarak getNotification veya getData öğesini kullanarak içeriğini almanız gerekir.

“MyFirebaseMessagingService” adlı yeni bir Java sınıfı oluşturun ve sonra aşağıdakileri ekleyin:

kamu sınıfı MyFirebaseMessagingService, FirebaseMessagingService {@Override public void onReceived (Remote) {super.onReceived (remote);

Ayrıca bir bildirim nesnesi oluşturmanız gerekecek. Bu, bildiriminizi kişiselleştirme şansınızdır; örneğin, kullanıcı bu bildirimi aldığında çalması gereken sesi seçme veya özel bildirim simgesi uygulama. Ayrıca verileri veriden veya bildirimden almanız gerekir, örneğin:

NotificationCompat. Builder (Not: Compat.ilder) Yeni NotificationCompat.ilder (bu, "channel_id") .setContentTitle (remote.getNotification (). GetTitle ()) .setContentText (remote.getNotification (). GetBody ()) .setPriority (remote.getNotification (). setStyle (yeni NotificationCompat.BigTextStyle ()) .setSound (RingtoneManager.getDefaultUri (RingtoneManager.TYPE_NOTIFICATION)) .setSmallIcon (R.mipmap.ic_launcher) .setSmallIcon (R.mipmap.ic_launcher) .setAutoCancel (gerçek); NotificationManager warningManager = (NotificationManager) getSystemService (Context.NOTIFICATION_SERVICE); warningManager.notify (0, warningBuilder.build ()); }}

Hizmetinizi oluşturduktan sonra, bildirinize eklemeyi unutmayın:

Artık, uygulamanız ön plandayken bir FCM aldığında, onReceived () işleyicisine teslim edilir ve uygulamanız bildirimi yayınlamak veya uygulamanızın içeriğini güncellemek gibi sizin tarafınızdan tanımlanmış olan eylemi gerçekleştirir.

Daha ilgi çekici bildirimler: Kullanıcılarınızı hedefleme

Şimdiye kadar aynı bildirimi tüm kullanıcı tabanımıza gönderiyoruz, ancak bildirimler belirli kullanıcıları hedeflediklerinde çok daha ilgi çekici oluyor.

Kullanıcı tabanınızın farklı bölümlerine farklı bildirimler göndermek için Bildirim Oluşturucu'yu kullanabilirsiniz. Bildirim Oluşturucu’ya gidin ve bildiriminizi normal olarak oluşturun, ancak “Hedef” bölümünde, “ve” düğmesini tıklayın. Bu, aşağıdaki seçenekleri içeren yeni bir açılır menüye erişmenizi sağlar:

  • Sürüm. Bu, uygulamanızın belirli sürümlerini çalıştıran cihazları hedeflemenizi veya hariç tutmanızı sağlar. Örneğin, ücretsiz sürümü çalıştıran kişilere bildirim göndererek uygulamanızın Premium sürümüne yükseltme yapmalarını sağlayabilirsiniz.
  • Dil. Bu ayarı, farklı zaman dilimleri veya diller için uyarlanmış bildirimler oluşturmak gibi uygulamanızın desteklediği farklı dilleri ve yerel ayarları hedeflemek veya hariç tutmak için kullanabilirsiniz.
  • Kullanıcı kitlesi. Bu, hedef kitlenizin farklı bölümlerini hedeflemenizi veya hariç tutmanızı sağlar. Örneğin, bu ayarı uygulama içi satın alma geçmişi olan kişileri teşvik etmek, onlara bir indirim sunarak veya dikkatlerini henüz yayınladığınız tüm şaşırtıcı yeni uygulama içi ürünlere çekerek kullanabilirsiniz.
  • Kullanıcı özelliği Firebase Analytics'i kurduysanız, kullanıcı özellikleri aracılığıyla kitleniz hakkında çeşitli bilgilere erişebileceksiniz. Bu özellikleri, 25-34 yaş aralığındaki sporlarla ilgilenen insanlar gibi, kullanıcı tabanınızın çok özel bölümlerine hedeflenmiş bildirimler göndermek için FCM ile birlikte kullanabilirsiniz.
  • Tahmin. Firebase Tahminleri ayarladıysanız, kullanıcıları önümüzdeki 7 gün içinde belirli bir davranışa katılma olasılıklarına göre hedefleyebilirsiniz. Örneğin, Tahminler, bir kişinin mobil oyununuzdan ayrılmasının muhtemel olduğu konusunda uyarırsa, onları yeni bir göreve katılmaya davet etmek veya oyun içi bir para birimi göndermek için FCM'yi kullanabilirsiniz.
  • Son uygulama etkileşimi. Bir kullanıcı uygulamanızı bir süredir başlatmadıysa, onlara yalnızca uygulamanızın sunduğu tüm harika içeriği hatırlatmak için birkaç bildirim göndermek için bu ayarı kullanabilirsiniz.
  • İlk açık. Bu, kullanıcının uygulamanızı ilk açışına bağlı olarak bildirim göndermenizi sağlar; örneğin, yeni kullanıcıların yararlı ipuçları ve tavsiyeler içeren bildirimler göndererek hızlanmalarına yardımcı olabilirsiniz.

Kayıt belirteçleriyle tek bir cihazı hedefleme

Kullanıcının yaşı, ilgi alanları ve uygulamanızla en son ne zaman ilgilendikleri gibi faktörlere göre hedeflenmiş bildirimlerin nasıl gönderileceğini zaten gördük, ancak eşit olmak daha özel. Bu son bölümde, size bir FCM bildiriminin nasıl gönderileceğini göstereceğim. tek cihaz.

Kullanıcı uygulamanızı ilk kez başlattığında, FCM SDK bu müşteri uygulaması örneği için bir kayıt belirteci oluşturur. Bu kayıt belirtecini yakalamak için FirebaseInstanceId.getInstance (). GetInstanceId () öğesini kullanabilir ve ardından bu belirteci için bir bildirim gönderebilirsiniz.

Gerçek dünyadaki bir projede, genellikle uygulama sunucunuza göndererek ve tercih ettiğiniz yöntemi kullanarak saklayarak bir jeton yakalayacağınızı, ancak işleri daha kolay tutmaya yardımcı olmak için bu kodu Android Studio’nun Logcat’ine basacağımı unutmayın.

İşte tamamladığım MainActivity:

android.support.v7.app.AppCompatActivity içeri aktarma; android.os.Bundle alma; android.support.annotation.NonNull dosyasını içe aktarın; android.util.Log dosyasını içe aktarın; com.google.android.gms.tasks.OnCompleteListener öğesini içe aktarın; com.google.android.gms.tasks.Task dosyasını içe aktarın; com.google.firebase.iid.FirebaseInstanceId dosyasını içe aktarın; com.google.firebase.iid.InstanceIdResult alma; genel sınıf MainActivity, AppCompatActivity'yi genişletir {private static final String TAG = "MainActivity"; @ Override korumalı geçersiz onCreate (Bundle savedInstanceState) {super.onCreate (savedInstanceState); setContentView (R.layout.activity_main); FirebaseInstanceId.getInstance (). GetInstanceId () .addOnCompleteListener (yeni OnCompleteListener)() {@Override public void onComplete (@NonNull Task) görev) {if (! task.isSuccessful ()) {// Yapmak // dönüş; } // Örnek Kimliğini Alın token // String token = task.getResult (). GetToken (); String msg = getString (R.string.fcm_token, token); Log.d (TAG, msg); }}); }}

Strings.xml dosyanızı açın ve MainActivity'de referansta bulunduğumuz “fcm_token” string kaynağını oluşturun:

FCM Token:% s

Artık cihazınızın benzersiz belirtecini alabilirsiniz:

  • Projenizi bağlı Android cihazına veya AVD'ye yükleyin.
  • “Logcat” sekmesini seçerek (imlecin aşağıdaki ekran görüntüsünde konumlandırıldığı) Android Studio’nun Logcat’ini açın.

  • Cihazınızın jetonu Logcat’ın “Debug” bölümüne yazdırılır, bu nedenle açılır menüyü açın ve “Debug” ı seçin.

Logcat'ınızdaki bilgi miktarına bağlı olarak, aradığınız çizgiyi tespit etmek zor olabilir. Eğer mücadele ediyorsanız, “token” kelimesini aratın ya da uygulamayı kapatıp tekrar başlatmayı deneyin.

Göstergeyi aldıktan sonra, bu belirli cihaza bir anında iletme bildirimi göndermek için kullanabilirsiniz:

  • Firebase Konsoluna gidin ve daha önce yapmadıysanız, aşağı açılır menüden projenizi seçin.
  • Soldaki menüden “Cloud Messaging” i seçin.
  • “Yeni bildirim” düğmesine tıklayın.
  • Başlığınızı ve metninizi normal olarak girin, ancak daha sonra “Cihazda test et” i tıklayın.

  • Simgenizi kopyalayın / “Örnek ekle…” alanına yapıştırın ve ardından beliren küçük mavi “+” simgesini tıklayın.
  • Kartın beraberindeki onay kutusunu işaretleyin.

  • “Test” düğmesini tıklayın.

Bu bildirim şimdi yalnızca hedeflenen istemci cihazında görünecektir.

Sarma

Bu makalede, Firebase Cloud Messaging kullanarak Android push bildirimlerini nasıl göndereceğinizi ve kullanıcı tabanınızın farklı bölümlerini hedefleyen bildirimleri nasıl oluşturacağınızı gösterdim.

FCM'yi kendi Android projelerinizde kullanacak mısınız? Aşağıdaki yorumlarda bize bildirin!

Bugün İngiltere'de mağaza raflarında çok ayıda harika telefon var, ancak birçoğu düpedüz atın almak için £ 700 veya daha pahalıya mal oluyor veya pahalı iki yıll...

Yeni Yıl kararınız bir kodlamada gelecekHazırlanmak için henüz erken değil. Bu, Premium 2020 Kod Paketini Öğrenmeyi adece 45 $ 'dan alma fıratınızdır. avantajlı başlamak....

Bugün Patladı