Öğretici: Firebase SDK sürüm 0,6 kullanarak Android cihazlarına 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 ' nin 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.
Bu öğreticinin tamamlanan kodu GitHub ' danindirilebilir.
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ğlayın.
- Uygulamayı test etme.
Önkoşullar
Bu öğreticiyi tamamlamak için etkin bir Azure hesabınızın olması gerekir. Bir hesabınız yoksa, yalnızca birkaç dakika içinde ücretsiz bir deneme hesabı oluşturabilirsiniz. Ayrıntılı bilgi için bkz. Azure Ücretsiz Deneme Sürümü.
Ayrıca aşağıdaki öğeler de gereklidir:
- Android Studio en son sürümü
- Firebase Cloud Messaging için Android 2,3 veya üzeri
- Firebase Cloud Messaging için Google Repository düzeltme 27 veya üzeri
- Firebase Cloud Messaging için 9.0.2 veya üzeri Google Play Hizmetleri
Bu öğreticiyi tamamlamak, Android uygulamalarına yönelik diğer tüm Notification Hubs öğreticileri gerçekleştirmek için bir önkoşuldur.
Android Studio Projesi oluşturma
- Android Studio başlatın.
- Dosya' yı seçin, Yeni üzerine gelin ve ardından Yeni proje' yi seçin.
- Projenizi seçin sayfasında boş etkinlik' i seçin ve ardından İleri' yi seçin.
- Projenizi yapılandırın sayfasında, aşağıdaki adımları uygulayın:
Uygulama için bir ad girin.
Proje dosyalarının kaydedileceği bir konum belirtin.
Son'u 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ı uygulayın:
Android paket adı için uygulamanızın Build. Gradle dosyasına ApplicationId değerini kopyalayın. Bu örnekte,
com.fabrikam.fcmtutorial1app.
Uygulamayı kaydet' i seçin.
google-services.jskarşıdan yükle' yi seçin, dosyayı projenizin uygulama klasörüne kaydedin ve sonra İleri' yi seçin.

Android Studio 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 ifadeyi ekleyin.
classpath 'com.google.gms:google-services:4.0.1'Uygulama düzeyi Build. Gradle dosyanızda ( < Project > / < App-Module > /Build.Gradle), aşağıdaki deyimlerini Bağımlılıklar bölümüne 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.

Dosyadaki google-services.jsAndroid Studio projenizin uygulama klasörüne indirmediyseniz, bu sayfada bunu yapabilirsiniz.
En üstteki bulut mesajlaşma sekmesine geçin.
Daha sonra kullanmak üzere sunucu anahtarını kopyalayın ve kaydedin. Bu değeri, hub 'ınızı yapılandırmak için kullanırsınız.
Hub yapılandırma
Azure Portal’ında oturum açın.
Sol taraftaki menüden tüm hizmetler ' i seçin ve ardından Mobil bölümünde Notification Hubs ' yi seçin. Hizmet adının yanındaki yıldız simgesini seçerek hizmeti Sol menüdeki Sık Kullanılanlar bölümüne ekleyin. Sık kullanılanlara Notification Hubs ekledikten sonra, soldaki menüden 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' da, kullanmak istediğiniz Azure aboneliğinin adını seçin ve ardından var olan bir kaynak grubunu seçin veya yeni bir tane oluşturun.
Ad alanı ayrıntılarında yeni ad alanı için benzersiz bir ad girin.
Bir ad alanı bir veya daha fazla Bildirim Hub 'ı içeriyorsa, Bildirim Hub 'ı ayrıntılarında Hub için bir ad yazın. Veya açılan listeden mevcut bir ad alanını seçin.
Konum açılan liste kutusundan bir değer seçin. Bu değer, hub 'ı oluşturmak istediğiniz konumu belirtir.
Oluştur’u seçin.

Bildirimleri (zil simgesi) seçin ve ardından Kaynağa Git' i seçin. Ayrıca Notification Hubs sayfasında listeyi yenileyebilir ve hub 'ınızı seçebilirsiniz.

Listeden Erişim İlkeleri'ni seçin. İki bağlantı dizesinin sizin için kullanılabilir olduğunu unutmayın. Anında iletme bildirimlerini işlemek için onlara daha sonra ihtiyacınız olacak.
Önemli
Uygulamanızda Defaultfullsharedaccesssignature ilkesini kullanmayın. Bu, yalnızca arka uçta kullanılmak üzere tasarlanmıştır.

Hub için Firebase Cloud Messaging ayarlarını yapılandırma
Sol bölmede, 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,, hub 'ın başarıyla güncelleştirildiği uyarılarda bir ileti görüntüler. Kaydet düğmesi devre dışı bırakıldı.
Hub 'ınız şimdi Firebase Cloud Messaging ile çalışacak şekilde yapılandırılmıştır. Ayrıca, bir cihaza bildirim göndermek ve bildirim almak için bir uygulamayı kaydetmek için gerekli olan bağlantı dizelerine sahip olursunuz.
Uygulamanızı Bildirim Hub 'ına bağlama
Projeye Google Play hizmetlerini ekleme
Android Studio menüsünde Araçlar ' ı seçin ve ardından SDK yöneticisi' ni seçin.
Projenizde kullanılan Android SDK hedef sürümünü seçin. Ardından Paket ayrıntılarını göster' i seçin.

Zaten yüklenmemişse Google API 'leri seçin.

SDK Tools sekmesine geçin. Google Play Hizmetleri zaten yüklemediyseniz, aşağıdaki görüntüde gösterildiği gibi Google Play hizmetleri 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üklüyor. 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 ardından aşağıdaki etiketi uygulama etiketine ekleyin.
<meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version" />
Azure Notification Hubs kitaplıklarını ekleme
Uygulamanın Build. Gradle dosyasında, 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, zaten mevcut değilse, 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'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 kaydetmekiçin bunu kullanırsınız. Adlandırılmış bir kullanarak bu kaydı arka planda destekleyebilirsiniz
IntentServiceRegistrationIntentService. Bu hizmet, FCM kayıt belirtecinizi de yeniler. Ayrıca, bir alt sınıfı olarak adlandırılan bir sınıf oluştururFirebaseServiceFirebaseMessagingServiceveonMessageReceivedbildirimleri almak ve işlemek için yöntemi geçersiz kılar.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 gerekli FCM ile ilgili izinleri etiketinin altına ekleyin
</application>.<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 Ekle
Proje görünümünde, uygulama > src > Main > Java' yı genişletin. Java altındaki paket klasörünüze sağ tıklayın, Yeni' yi seçin ve ardından Java sınıfı' nı seçin. Ad için Notificationsettings yazın ve ardından Tamam' ı seçin.
Aşağıdaki kodda
NotificationSettingssınıfı için bu üç yer tutucuyu güncelleştirdiğinizden emin olun:HubListenConnectionString: Hub'ınız için DefaultListenAccessSignature bağlantı dizesi. [Azure Portal]hub 'ınızdaki erişim ilkeleri ' ne tıklayarak bu bağlantı dizesini kopyalayabilirsiniz.
Hubname: [Azure Portal]hub sayfasında görünen hub 'ınızın adını kullanın.
NotificationSettingskodu: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 adını girin.
RegistrationIntentServiceadlı projenize başka bir yeni sınıf ekleyin. Bu sınıf,IntentServicearabirimini uygular. Ayrıca , FCM belirtecini yenilemeyi ve Bildirim Hub 'ına kaydetmeyide gerçekleştirir.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); } } }MainActivitySınıfında,importsınıf bildiriminin üzerine aşağıdaki deyimlerini 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;Aşağıdaki üyeleri sınıfının üst kısmına 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;MainActivitySınıfında Google Play hizmetleri 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; }Sınıfında,
MainActivityIntentServiceFCM kayıt belirtecinizi almak ve merkezinizle kaydettirmek için ' i çağırmadan önce Google Play hizmetleri denetleyen 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); } }OnCreateMainActivitySınıfının yönteminde, 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()); }Uygulama durumunu doğrulamak ve uygulamanızda durumu raporlamak için bu ek yöntemleri şu şekilde ekleyin
MainActivity:@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); } }); }ToastNotifyyöntemi, uygulamada kalıcı olarak durumu ve bildirimleri raporlamak için "Hello World"TextViewdenetimini kullanır. Kaynak > düzeni > activity_main.xml düzeninde, bu denetim için aşağıdaki kimliği ekleyin.android:id="@+id/text_hello"
Daha sonra, AndroidManifest.xml tanımladığınız alıcı için bir alt sınıf eklersiniz.
FirebaseServiceadlı 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 ekleyin
FirebaseService, bunun bir alt sınıfı haline gelirFirebaseMessagingService.Bu kod,
onMessageReceivedalınan yöntemi ve rapor bildirimlerini geçersiz kılar. Ayrıca, yöntemini kullanarak Android Notification Manager 'a anında iletme bildirimi gönderirsendNotification().sendNotification()Uygulama çalışmadığı zaman ve bir bildirim alındığında yöntemi ç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 > kodunuzda herhangi bir hata olmadığından emin olmak için, menü çubuğunda, Oluştur projeyi derle ' yi seçin. Simge hakkında bir hata alırsanız
ic_launcher, aşağıdaki ifadeyi AndroidManifest.xml dosyasından kaldırın:android:icon="@mipmap/ic_launcher"Uygulamayı çalıştırmak için bir sanal cihazınıza sahip olduğunuzdan emin olun. Yoksa, aşağıdaki gibi bir tane ekleyin:
Seçili cihazınızda uygulamayı çalıştırın ve hub 'a başarıyla kaydedildiğinizi doğrulayın.
Not
Kayıt,
onTokenRefresh()örnek kimliği hizmetinin yöntemi çağrılana kadar ilk başlatma sırasında 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] anında iletme bildirimleri gönderebilirsiniz:
Azure portal, hub 'ınız için Bildirim Hub 'ı sayfasında, sorun giderme bölümünde Test gönder ' i seçin.
Platformlar için Android’i seçin.
Gönder’i seçin. Mobil uygulamayı üzerinde çalıştırmadığınız için henüz Android cihazında bir bildirim görmezsiniz. Mobil uygulamayı çalıştırdıktan sonra bildirim iletisini görmek için Gönder düğmesini tekrar seçin.
En alttaki listede işlemin sonucunu görürsünüz.

Uyarı iletisini cihazınızda 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 uçta bir kitaplık yoksa, bildirim iletilerini göndermek için doğrudan REST API de kullanabilirsiniz.
Bildirim göndermek için gözden geçirmek isteyebileceğiniz diğer bazı öğreticilerin listesi aşağıda verilmiştir:
- Azure Mobile Apps: Notification Hubs ile tümleştirilmiş Mobile Apps arka uçta bildirimlerin nasıl gönderileceği hakkında bir örnek Için bkz. IOS uygulamanıza anında Iletme 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 test edilmiştir.
- PHP: PHP'ye ait Notification Hubs nasıl kullanılır.
Öykünücü üzerinde mobil uygulamayı çalıştırma
Bir ö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. Görüntünüz yerel Google API 'Lerini desteklemiyorsa hizmet _ _ kullanılamıyor özel durumunu alabilirsiniz.
Ayrıca, Google hesabınızı, Ayarlar hesaplar bölümünde çalışan öykünücüsünüzün içine eklediğinizden emin olun > . Aksi halde, FCM ile kaydolma girişimleri, kimlik doğrulama _ başarısız özel durumuyla sonuçlanabilir.
Sonraki adımlar
Bu öğreticide, hizmet ile kaydedilmiş tüm Android cihazlara bildirim yayımlamak için Firebase bulut mesajlaşma 'yı kullandınız. Belirli cihazlara nasıl anında iletme bildirimleri gönderileceğini öğrenmek için aşağıdaki öğreticiye ilerleyin:

