Öğretici: Firebase SDK sürüm 0.6 kullanarak Android cihazlara anında iletme bildirimleri gönderme
Bu öğreticide, Bir Android uygulamasına anında iletme bildirimleri göndermek için Azure Notification Hubs ve Firebase Cloud Messaging (FCM) SDK sürüm 0.6'nın nasıl kullanılacağı gösterilmektedir. Bu öğreticide Firebase Cloud Messaging (FCM) kullanarak anında iletme bildirimleri alan bir Android uygulaması oluşturacaksınız.
Önemli
Google, 20 Haziran 2024'te FCM'nin eski HTTP'sini desteklemeyi durduracaktır. Daha fazla bilgi için bkz . Azure Notification Hubs ve Google Firebase Cloud Messaging geçişi.
Bu öğreticinin tamamlanmış kodu GitHub'dan indirilebilir.
Bu öğreticide, aşağıdaki adımları gerçekleştireceksiniz:
- Android Studio projesi oluşturma.
- Firebase Cloud Messaging’i destekleyen bir Firebase projesi oluşturma.
- Bir hub oluşturun.
- Uygulamanızı hub'a Bağlan.
- Uygulamayı test etme.
Önkoşullar
Bu öğreticiyi tamamlamak için etkin bir Azure hesabınızın olması gerekir. Hesabınız yoksa yalnızca birkaç dakika içinde ücretsiz bir deneme hesabı oluşturabilirsiniz. Ayrıntılar için bkz. Azure Ücretsiz Deneme.
Ayrıca aşağıdaki öğelere de ihtiyacınız vardır:
- Android Studio'nun en son sürümü
- Firebase Cloud Messaging için Android 2.3 veya üzeri
- Firebase Cloud Messaging için Google Repository düzeltmesi 27 veya üzeri
- Firebase Cloud Messaging için Google Play Services 9.0.2 veya üzeri
Bu öğreticiyi tamamlamak, Android uygulamaları için diğer tüm Notification Hubs öğreticilerini gerçekleştirmenin önkoşullarından biridir.
Android Studio Projesi oluşturma
- Android Studio'yu başlatın.
- Dosya'yı seçin, Yeni'nin üzerine gelin ve ardından Yeni Proje'yi seçin.
- Projenizi seçin sayfasında Boş Etkinlik'i ve ardından İleri'yi seçin.
- Projenizi yapılandırın sayfasında aşağıdaki adımları izleyin:
Uygulama için bir ad girin.
Proje dosyalarının kaydedildiği konumu belirtin.
Bitir'i seçin.
FCM’yi destekleyen bir Firebase projesi oluşturma
Firebase konsolunda oturum açın. Henüz bir tane yoksa yeni bir Firebase projesi oluşturun.
Projenizi oluşturduktan sonra Firebase’i Android uygulamanıza ekleyin’i seçin.
Android uygulamanıza Firebase ekleme sayfasında aşağıdaki adımları izleyin:
Android paket adı için uygulamanızın build.gradle dosyasında applicationId değerini kopyalayın. Bu örnekte, şeklindedir
com.fabrikam.fcmtutorial1app
.Uygulamayı kaydet'i seçin.
google-services.json İndir'i seçin, dosyayı projenizin uygulama klasörüne kaydedin ve ardından İleri'yi seçin.
Android Studio'da projenizde aşağıdaki yapılandırma değişikliklerini yapın.
Proje düzeyi build.gradle dosyanızda (<project>/build.gradle), bağımlılıklar bölümüne aşağıdaki deyimi ekleyin.
classpath 'com.google.gms:google-services:4.0.1'
Uygulama düzeyi build.gradle dosyanızda (<project>/<app-module>/build.gradle), bağımlılıklar bölümüne aşağıdaki deyimleri ekleyin.
implementation 'com.google.firebase:firebase-core:16.0.8' implementation 'com.google.firebase:firebase-messaging:17.3.4'
Bağımlılıklar bölümünden sonra uygulama düzeyi build.gradle dosyasının sonuna aşağıdaki satırı ekleyin.
apply plugin: 'com.google.gms.google-services'
Araç çubuğunda Şimdi eşitle'yi seçin.
İleri'yi seçin.
Bu adımı atla'yı seçin.
Firebase konsolunda projenizin dişli simgesini seçin. Sonra, Proje Ayarları’nı seçin.
google-services.json dosyasını Android Studio projenizin uygulama klasörüne indirmediyseniz, bunu bu sayfada yapabilirsiniz.
Üst kısımdaki Cloud Messaging sekmesine geçin.
Sunucu anahtarını kopyalayıp daha sonra kullanmak üzere kaydedin. Hub'ınızı yapılandırmak için bu değeri kullanırsınız.
Firebase Cloud Messaging sekmesinde bir Sunucu anahtarı görmüyorsanız bu ek adımları izleyin.
- "Cloud Messaging API (Eski) Devre Dışı" 🚫 Başlığının üç noktalı menüsüne tıklayın
- "Google Cloud Console'da API'yi yönetme" için sunulan bağlantıyı izleyin.
- google cloud console'da googlecloudmessaging API'sini etkinleştirmek için düğmeye basın.
- Birkaç dakika bekleyin.
- Firebase konsol projeniz Cloud Messaging sekmesine dönün ve sayfayı yenileyin.
- Cloud Messaging API üst bilgisinin "Cloud Messaging API (Eski) Etkin" ✅ olarak değiştirildiğini ve şimdi bir Sunucu Anahtarı gösterdiğini görün.
Hub yapılandırma
Azure Portal’ında oturum açın.
Soldaki menüden Tüm hizmetler'i seçin.
Hizmetleri filtrele metin kutusuna Notification Hubs yazın. Hizmeti soldaki menüden SıK KULLANıLANLAR bölümüne eklemek için hizmet adının yanındaki yıldız simgesini seçin. Notification Hubs'ı seçin.
Notification Hubs sayfasında araç çubuğunda Oluştur'u seçin.
Bildirim Hub'ı sayfasındaki Temel Bilgiler sekmesinde aşağıdaki adımları uygulayın:
Abonelik'te, kullanmak istediğiniz Azure aboneliğinin adını seçin ve ardından mevcut bir kaynak grubunu seçin veya yeni bir kaynak grubu oluşturun.
Ad Alanı Ayrıntıları'nda yeni ad alanı için benzersiz bir ad girin.
Ad alanı bir veya daha fazla bildirim hub'ı içerdiğinden, Bildirim Hub'ı Ayrıntıları'na hub için bir ad yazın.
Konum açılan liste kutusundan bir değer seçin. Bu değer, hub'ı oluşturmak istediğiniz konumu belirtir.
Kullanılabilirlik Alanları seçeneğini gözden geçirin. Kullanılabilirlik alanları olan bir bölge seçtiyseniz, onay kutusu varsayılan olarak seçilidir. Kullanılabilirlik Alanları ücretli bir özellik olduğundan katmanınıza ek ücret eklenir.
Olağanüstü durum kurtarma seçeneğini belirleyin: Yok, Eşleştirilmiş kurtarma bölgesi veya Esnek kurtarma bölgesi. Eşleştirilmiş kurtarma bölgesi'ni seçerseniz yük devretme bölgesi görüntülenir. Esnek kurtarma bölgesi'ni seçerseniz, kurtarma bölgeleri listesinden seçim yapmak için açılan listeyi kullanın.
Oluştur'u belirleyin.
Dağıtım tamamlandığında Kaynağa git'i seçin.
Hub için Firebase Cloud Messaging ayarlarını yapılandırma
Sol bölmedeki Ayarlar altında Google (GCM/FCM) öğesini seçin.
Daha önce kaydettiğiniz FCM projesinin sunucu anahtarını girin.
Araç çubuğunda Kaydet'i seçin.
Azure portalı uyarılarda hub'ın başarıyla güncelleştirildiğini belirten bir ileti görüntüler. Kaydet düğmesi devre dışı bırakıldı.
Hub'ınız artık Firebase Cloud Messaging ile çalışacak şekilde yapılandırıldı. Ayrıca, bir cihaza bildirim göndermek ve bildirim almak için bir uygulama kaydetmek için gereken bağlantı dizesi sahipsiniz.
Uygulamanızı bildirim hub'ına bağlama
Projeye Google Play hizmetlerini ekleme
Android Studio'da, menüde Araçlar'ı ve ardından SDK Yöneticisi'ni seçin.
Projenizde kullanılan Android SDK'sının hedef sürümünü seçin. Ardından Paket Ayrıntılarını Göster'i seçin.
Henüz yüklü değilse Google API'leri'ni seçin.
SDK Araçları sekmesine geçin. Google Play Hizmetleri'ni henüz yüklemediyseniz aşağıdaki görüntüde gösterildiği gibi Google Play Hizmetleri'ni seçin. Ardından Yüklemek için Uygula'yı seçin. SDK yolunun sonraki bir adım için olduğunu unutmayın.
Değişikliği Onayla iletişim kutusunu görürseniz Tamam'ı seçin. Bileşen Yükleyicisi istenen bileşenleri yükler. Bileşenler yüklendikten sonra Son'u seçin.
Yeni Projeler için Ayarlar iletişim kutusunu kapatmak için Tamam'ı seçin.
AndroidManifest.xml dosyasını açın ve uygulama etiketine aşağıdaki etiketi ekleyin.
<meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version" />
Azure Notification Hubs kitaplıkları ekleme
Uygulamanın Build.Gradle dosyasına bağımlılıklar bölümüne aşağıdaki satırları ekleyin.
implementation 'com.microsoft.azure:notification-hubs-android-sdk:0.6@aar'
Bağımlılıklar bölümünden sonra aşağıdaki depoyu ekleyin.
repositories { maven { url "https://dl.bintray.com/microsoftazuremobile/SDK" } }
Google Firebase desteği ekleme
Uygulamanın Build.Gradle dosyasında, henüz yoksa bağımlılıklar bölümüne aşağıdaki satırları ekleyin.
implementation 'com.google.firebase:firebase-core:16.0.8' implementation 'com.google.firebase:firebase-messaging:17.3.4' implementation 'com.google.firebase:firebase-iid:21.1.0'
Dosya henüz orada değilse dosyanın sonuna aşağıdaki eklentiyi ekleyin.
apply plugin: 'com.google.gms.google-services'
Araç çubuğunda Şimdi Eşitle'yi seçin.
AndroidManifest.xml dosyasını güncelleştirme
FCM kayıt belirtecinizi aldıktan sonra Azure Notification Hubs'a kaydolmak için kullanırsınız. Adlı
RegistrationIntentService
birIntentService
kullanarak arka planda bu kaydı desteklersiniz. Bu hizmet, FCM kayıt belirtecinizi de yeniler. Ayrıca, alt sınıfıFirebaseMessagingService
olarak adlıFirebaseService
bir sınıf oluşturur ve bildirimleri almak ve işlemek için yöntemini geçersiz kılarsınızonMessageReceived
.Aşağıdaki hizmet tanımını AndroidManifest.xml dosyasında
<application>
etiketinin içine ekleyin.<service android:name=".RegistrationIntentService" android:exported="false"> </service> <service android:name=".FirebaseService" android:exported="false"> <intent-filter> <action android:name="com.google.firebase.MESSAGING_EVENT" /> </intent-filter> </service>
Aşağıdaki FCM ile ilgili gerekli izinleri etiketin
</application>
altına ekleyin.<uses-permission android:name="android.permission.INTERNET"/> <uses-permission android:name="android.permission.GET_ACCOUNTS"/> <uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
Kod ekleme
Proje Görünümü'nde app>src>main>java'yı genişletin. Java altında paket klasörünüze sağ tıklayın, Yeni'yi ve ardından Java Sınıfı'yı seçin. Ad için Bildirim Ayarlar girin ve Tamam'ı seçin.
Sınıfı için aşağıdaki kodda yer alan bu iki yer tutucuyu güncelleştirdiğinden
NotificationSettings
emin olun:HubListenConnectionString: Hub'ınız için DefaultListenAccessSignature bağlantı dizesi. Azure portalında hub'ınızdaki Erişim İlkeleri'ne tıklayarak bu bağlantı dizesi kopyalayabilirsiniz.
HubName: Azure portalındaki hub sayfasında görünen hub'ınızın adını kullanın.
NotificationSettings
kodu:public class NotificationSettings { public static String HubName = "<Your HubName>"; public static String HubListenConnectionString = "<Enter your DefaultListenSharedAccessSignature connection string>"; }
Önemli
Devam etmeden önce hub'ınızın adını ve DefaultListenSharedAccessSignature değerini girin.
RegistrationIntentService
adlı projenize başka bir yeni sınıf ekleyin. Bu sınıf arabiriminiIntentService
uygular. Ayrıca FCM belirtecinin yenilenmesini ve bildirim hub'ına kaydedilmesini de işler.Bu sınıf için aşağıdaki kod kullanın.
import android.app.IntentService; import android.content.Intent; import android.content.SharedPreferences; import android.preference.PreferenceManager; import android.util.Log; import com.google.android.gms.tasks.OnSuccessListener; import com.google.firebase.iid.FirebaseInstanceId; import com.google.firebase.iid.InstanceIdResult; import com.microsoft.windowsazure.messaging.NotificationHub; import java.util.concurrent.TimeUnit; public class RegistrationIntentService extends IntentService { private static final String TAG = "RegIntentService"; String FCM_token = null; private NotificationHub hub; public RegistrationIntentService() { super(TAG); } @Override protected void onHandleIntent(Intent intent) { SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(this); String resultString = null; String regID = null; String storedToken = null; try { FirebaseInstanceId.getInstance().getInstanceId().addOnSuccessListener(new OnSuccessListener<InstanceIdResult>() { @Override public void onSuccess(InstanceIdResult instanceIdResult) { FCM_token = instanceIdResult.getToken(); Log.d(TAG, "FCM Registration Token: " + FCM_token); } }); TimeUnit.SECONDS.sleep(1); // Storing the registration ID that indicates whether the generated token has been // sent to your server. If it is not stored, send the token to your server. // Otherwise, your server should have already received the token. if (((regID=sharedPreferences.getString("registrationID", null)) == null)){ NotificationHub hub = new NotificationHub(NotificationSettings.HubName, NotificationSettings.HubListenConnectionString, this); Log.d(TAG, "Attempting a new registration with NH using FCM token : " + FCM_token); regID = hub.register(FCM_token).getRegistrationId(); // If you want to use tags... // Refer to : https://azure.microsoft.com/documentation/articles/notification-hubs-routing-tag-expressions/ // regID = hub.register(token, "tag1,tag2").getRegistrationId(); resultString = "New NH Registration Successfully - RegId : " + regID; Log.d(TAG, resultString); sharedPreferences.edit().putString("registrationID", regID ).apply(); sharedPreferences.edit().putString("FCMtoken", FCM_token ).apply(); } // Check to see if the token has been compromised and needs refreshing. else if (!(storedToken = sharedPreferences.getString("FCMtoken", "")).equals(FCM_token)) { NotificationHub hub = new NotificationHub(NotificationSettings.HubName, NotificationSettings.HubListenConnectionString, this); Log.d(TAG, "NH Registration refreshing with token : " + FCM_token); regID = hub.register(FCM_token).getRegistrationId(); // If you want to use tags... // Refer to : https://azure.microsoft.com/documentation/articles/notification-hubs-routing-tag-expressions/ // regID = hub.register(token, "tag1,tag2").getRegistrationId(); resultString = "New NH Registration Successfully - RegId : " + regID; Log.d(TAG, resultString); sharedPreferences.edit().putString("registrationID", regID ).apply(); sharedPreferences.edit().putString("FCMtoken", FCM_token ).apply(); } else { resultString = "Previously Registered Successfully - RegId : " + regID; } } catch (Exception e) { Log.e(TAG, resultString="Failed to complete registration", e); // If an exception happens while fetching the new token or updating registration data // on a third-party server, this ensures that we'll attempt the update at a later time. } // Notify UI that registration has completed. if (MainActivity.isVisible) { MainActivity.mainActivity.ToastNotify(resultString); } } }
MainActivity
sınıfında, sınıf bildiriminin üzerine aşağıdakiimport
deyimleri ekleyin.import com.google.android.gms.common.ConnectionResult; import com.google.android.gms.common.GoogleApiAvailability; import android.content.Intent; import android.util.Log; import android.widget.TextView; import android.widget.Toast;
Sınıfın en üstüne aşağıdaki üyeleri ekleyin. Google Play Hizmetleri'nin kullanılabilirliğini Google tarafından önerildiği şekilde denetlemek için bu alanları kullanırsınız.
public static MainActivity mainActivity; public static Boolean isVisible = false; private static final String TAG = "MainActivity"; private static final int PLAY_SERVICES_RESOLUTION_REQUEST = 9000;
MainActivity
sınıfında, Google Play Hizmetleri'nin kullanılabilirliğini denetlemek için aşağıdaki yöntemi ekleyin./** * Check the device to make sure it has the Google Play Services APK. If * it doesn't, display a dialog box that enables users to download the APK from * the Google Play Store or enable it in the device's system settings. */ private boolean checkPlayServices() { GoogleApiAvailability apiAvailability = GoogleApiAvailability.getInstance(); int resultCode = apiAvailability.isGooglePlayServicesAvailable(this); if (resultCode != ConnectionResult.SUCCESS) { if (apiAvailability.isUserResolvableError(resultCode)) { apiAvailability.getErrorDialog(this, resultCode, PLAY_SERVICES_RESOLUTION_REQUEST) .show(); } else { Log.i(TAG, "This device is not supported by Google Play Services."); ToastNotify("This device is not supported by Google Play Services."); finish(); } return false; } return true; }
MainActivity
sınıfında, FCM kayıt belirtecinizi almak ve hub'ınıza kaydolmak için öğesini çağırmadan önce Google Play Hizmetleri'niIntentService
denetleen aşağıdaki kodu ekleyin:public void registerWithNotificationHubs() { if (checkPlayServices()) { // Start IntentService to register this application with FCM. Intent intent = new Intent(this, RegistrationIntentService.class); startService(intent); } }
OnCreate
sınıfının yöntemindeMainActivity
, etkinlik oluşturulduğunda kayıt işlemini başlatmak için aşağıdaki kodu ekleyin:@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mainActivity = this; registerWithNotificationHubs(); FirebaseService.createChannelAndHandleNotifications(getApplicationContext()); }
Uygulamanızda uygulama durumunu ve rapor durumunu doğrulamak için şu ek yöntemleri öğesine
MainActivity
ekleyin:@Override protected void onStart() { super.onStart(); isVisible = true; } @Override protected void onPause() { super.onPause(); isVisible = false; } @Override protected void onResume() { super.onResume(); isVisible = true; } @Override protected void onStop() { super.onStop(); isVisible = false; } public void ToastNotify(final String notificationMessage) { runOnUiThread(new Runnable() { @Override public void run() { Toast.makeText(MainActivity.this, notificationMessage, Toast.LENGTH_LONG).show(); TextView helloText = (TextView) findViewById(R.id.text_hello); helloText.setText(notificationMessage); } }); }
ToastNotify
yöntemi, uygulamada kalıcı olarak durumu ve bildirimleri raporlamak için "Hello World"TextView
denetimini kullanır. Res>düzeni> activity_main.xml düzeninize bu denetim için aşağıdaki kimliği ekleyin.android:id="@+id/text_hello"
Ardından, AndroidManifest.xml tanımladığınız alıcı için bir alt sınıf eklersiniz.
FirebaseService
adlı projenize başka bir yeni sınıf ekleyin.FirebaseService.java
'in üst kısmına şu içeri aktarma deyimlerini ekleyin:import com.google.firebase.messaging.FirebaseMessagingService; import com.google.firebase.messaging.RemoteMessage; import android.util.Log; import android.app.NotificationChannel; import android.app.NotificationManager; import android.app.PendingIntent; import android.content.Context; import android.content.Intent; import android.media.RingtoneManager; import android.net.Uri; import android.os.Build; import android.os.Bundle; import androidx.core.app.NotificationCompat;
sınıfı için aşağıdaki kodu ekleyerek öğesinin
FirebaseService
FirebaseMessagingService
alt sınıfına ekleyin.Bu kod yöntemi geçersiz kılar
onMessageReceived
ve alınan bildirimleri raporlar. ayrıca yöntemini kullanarak anında iletme bildirimini Android bildirim yöneticisinesendNotification()
gönderir.sendNotification()
Uygulama çalışmadığında ve bir bildirim alındığında yöntemini çağırın.public class FirebaseService extends FirebaseMessagingService { private String TAG = "FirebaseService"; public static final String NOTIFICATION_CHANNEL_ID = "nh-demo-channel-id"; public static final String NOTIFICATION_CHANNEL_NAME = "Notification Hubs Demo Channel"; public static final String NOTIFICATION_CHANNEL_DESCRIPTION = "Notification Hubs Demo Channel"; public static final int NOTIFICATION_ID = 1; private NotificationManager mNotificationManager; NotificationCompat.Builder builder; static Context ctx; @Override public void onMessageReceived(RemoteMessage remoteMessage) { // ... // TODO(developer): Handle FCM messages here. // Not getting messages here? See why this may be: https://goo.gl/39bRNJ Log.d(TAG, "From: " + remoteMessage.getFrom()); String nhMessage; // Check if message contains a notification payload. if (remoteMessage.getNotification() != null) { Log.d(TAG, "Message Notification Body: " + remoteMessage.getNotification().getBody()); nhMessage = remoteMessage.getNotification().getBody(); } else { nhMessage = remoteMessage.getData().values().iterator().next(); } // Also if you intend on generating your own notifications as a result of a received FCM // message, here is where that should be initiated. See sendNotification method below. if (MainActivity.isVisible) { MainActivity.mainActivity.ToastNotify(nhMessage); } sendNotification(nhMessage); } private void sendNotification(String msg) { Intent intent = new Intent(ctx, MainActivity.class); intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); mNotificationManager = (NotificationManager) ctx.getSystemService(Context.NOTIFICATION_SERVICE); PendingIntent contentIntent = PendingIntent.getActivity(ctx, 0, intent, PendingIntent.FLAG_ONE_SHOT); Uri defaultSoundUri = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION); NotificationCompat.Builder notificationBuilder = new NotificationCompat.Builder( ctx, NOTIFICATION_CHANNEL_ID) .setContentText(msg) .setPriority(NotificationCompat.PRIORITY_HIGH) .setSmallIcon(android.R.drawable.ic_popup_reminder) .setBadgeIconType(NotificationCompat.BADGE_ICON_SMALL); notificationBuilder.setContentIntent(contentIntent); mNotificationManager.notify(NOTIFICATION_ID, notificationBuilder.build()); } public static void createChannelAndHandleNotifications(Context context) { ctx = context; if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { NotificationChannel channel = new NotificationChannel( NOTIFICATION_CHANNEL_ID, NOTIFICATION_CHANNEL_NAME, NotificationManager.IMPORTANCE_HIGH); channel.setDescription(NOTIFICATION_CHANNEL_DESCRIPTION); channel.setShowBadge(true); NotificationManager notificationManager = context.getSystemService(NotificationManager.class); notificationManager.createNotificationChannel(channel); } } }
Android Studio'da, kodunuzda hata olmadığından emin olmak için menü çubuğunda Projeyi Yeniden Derle'yi>seçin. Simgeyle ilgili
ic_launcher
bir hata alırsanız, AndroidManifest.xml dosyasından aşağıdaki deyimi kaldırın:android:icon="@mipmap/ic_launcher"
Uygulamayı çalıştırmak için bir sanal cihazınız olduğundan emin olun. Yoksa, aşağıdaki gibi bir tane ekleyin:
Uygulamayı seçtiğiniz cihazda çalıştırın ve hub'a başarıyla kaydedildiğini doğrulayın.
Not
Örnek kimliği hizmetinin yöntemi çağrılana
onTokenRefresh()
kadar ilk başlatma sırasında kayıt başarısız olabilir. Yenileme işlemi bildirim hub'ına başarılı bir kayıt başlatmalıdır.
Bildirim hub’ından bildirim göndermeyi test edin
Aşağıdaki adımları uygulayarak Azure portalından anında iletme bildirimleri gönderebilirsiniz:
Azure portalında, hub'ınızın Bildirim Hub'ı sayfasında Sorun Giderme bölümünde Göndermeyi Sına'yı seçin.
Platformlar için Android’i seçin.
Gönder'i seçin. Android cihazda mobil uygulamayı çalıştırmadığınız için henüz bir bildirim görmezsiniz. Mobil uygulamayı çalıştırdıktan sonra, bildirim iletisini görmek için Gönder düğmesini yeniden seçin.
En alttaki listede işlemin sonucunu görürsünüz.
Cihazınızda bildirim iletisini görürsünüz.
Anında iletme bildirimleri normal olarak, uyumlu bir kitaplık kullanılarak Mobile Apps veya ASP.NET gibi bir arka uç hizmetine gönderilir. Arka ucunuz için bir kitaplık kullanılamıyorsa, bildirim iletileri göndermek için doğrudan REST API'yi de kullanabilirsiniz.
Bildirim göndermek için gözden geçirmek isteyebileceğiniz diğer öğreticilerin listesi aşağıdadır:
- Azure Mobile Apps: Notification Hubs ile tümleştirilmiş bir Mobile Apps arka ucundan bildirim gönderme örneği için bkz . iOS Uygulamanıza Anında İletme Bildirimleri Ekleme.
- ASP.NET: Bildirimleri kullanıcılara göndermek için Notification Hubs'ı kullanın.
- Azure Notification Hub Java SDK: Java bildirim göndermek için bkz. Java’ya ait Notification Hubs nasıl kullanılır. Android geliştirmesi için Eclipse'te sınanmıştır.
- PHP: PHP'ye ait Notification Hubs nasıl kullanılır.
Öykünücüde mobil uygulamayı çalıştırma
Öykünücü içinde anında iletme bildirimlerini test etmeden önce öykünücü görüntünüzün uygulamanız için seçtiğiniz Google API düzeyini desteklediğinden emin olun. Resminiz yerel Google API'lerini desteklemiyorsa SERVICE_NOT_AVAILABLE özel durumunu alabilirsiniz.
Ayrıca, Ayarlar Accounts altında çalışan öykünücünüze Google hesabınızı eklediğinizden> emin olun. Aksi takdirde, FCM'ye kaydolma girişimleriniz AUTHENTICATION_FAILED özel durumla sonuçlanabilir.
Sonraki adımlar
Bu öğreticide, hizmete kayıtlı tüm Android cihazlarına bildirim yayınlamak için Firebase Cloud Messaging'i kullandınız. Belirli cihazlara nasıl anında iletme bildirimleri gönderileceğini öğrenmek için aşağıdaki öğreticiye ilerleyin: