FCM'ye başlamak için en basit kullanım örneğini oluşturun: Uygulama, cihazda arka planda çalışırken Bildirimler oluşturucusundan bir geliştirme cihazına bir test bildirimi mesajı göndermek. Bu sayfada, kurulumdan doğrulamaya kadar bunu başarmak için atılacak tüm adımlar listelenmektedir; FCM için bir Apple istemci uygulaması ayarladıysanız zaten tamamlamış olduğunuz adımları kapsayabilir.
Firebase'i Apple projenize ekleyin
Bu bölüm, uygulamanız için diğer Firebase özelliklerini zaten etkinleştirdiyseniz tamamlamış olabileceğiniz görevleri içerir. Özellikle FCM için, APNs kimlik doğrulama anahtarınızı yüklemeniz ve uzaktan bildirimler için kaydolmanız gerekir.
Önkoşullar
Aşağıdakileri yükleyin:
- Xcode 14.1 veya üstü
Projenizin şu gereksinimleri karşıladığından emin olun:
- Projeniz şu platform sürümlerini veya sonraki sürümleri hedeflemelidir:
- iOS 11
- macOS 10.13
- tvOS 12
- OS 6 izle
- Projeniz şu platform sürümlerini veya sonraki sürümleri hedeflemelidir:
Uygulamanızı çalıştırmak için fiziksel bir Apple aygıtı kurun ve şu görevleri tamamlayın:
- Apple Geliştirici hesabınız için bir Apple Anında Bildirim Kimlik Doğrulama Anahtarı edinin.
- App > Capabilities altında XCode'da Push Bildirimlerini etkinleştirin.
- Google hesabınızı kullanarak Firebase'de oturum açın .
Halihazırda bir Xcode projeniz yoksa ve yalnızca bir Firebase ürünü denemek istiyorsanız, hızlı başlangıç örneklerimizden birini indirebilirsiniz.
Bir Firebase projesi oluşturun
Firebase'i Apple uygulamanıza ekleyebilmeniz için uygulamanıza bağlanmak üzere bir Firebase projesi oluşturmanız gerekir. Firebase projeleri hakkında daha fazla bilgi edinmek için Firebase Projelerini Anlayın sayfasını ziyaret edin.
Uygulamanızı Firebase'e kaydedin
Firebase'i Apple uygulamanızda kullanmak için uygulamanızı Firebase projenize kaydetmeniz gerekir. Uygulamanızı kaydettirmek genellikle uygulamanızı projenize "eklemek" olarak adlandırılır.
Firebase konsoluna gidin.
Kurulum iş akışını başlatmak için projeye genel bakış sayfasının ortasındaki iOS+ simgesine tıklayın.
Firebase projenize zaten bir uygulama eklediyseniz platform seçeneklerini görüntülemek için Uygulama ekle'yi tıklayın.
Paket kimliği alanına uygulamanızın paket kimliğini girin.
Bir paket kimliği, Apple'ın ekosistemindeki bir uygulamayı benzersiz şekilde tanımlar.
Paket kimliğinizi bulun: projenizi Xcode'da açın, proje gezgininde en üst düzey uygulamayı seçin, ardından Genel sekmesini seçin.
Paket Tanımlayıcı alanının değeri, paket kimliğidir (örneğin,
com.yourcompany.yourproject
).Paket kimliği değerinin büyük/küçük harfe duyarlı olduğunu ve Firebase projenize kaydedildikten sonra bu Firebase uygulaması için değiştirilemeyeceğini unutmayın.
(İsteğe bağlı) Diğer uygulama bilgilerini girin: Uygulama takma adı ve Uygulama Mağazası Kimliği .
Uygulama takma adı : Firebase konsolunda yalnızca sizin görebileceğiniz dahili, kullanışlı bir tanımlayıcı
App Store Kimliği : Firebase Dynamic Links tarafından kullanıcıları App Store sayfanıza yönlendirmek için ve Google Analytics tarafından dönüşüm etkinliklerini Google Ads'e aktarmak için kullanılır. Uygulamanızın henüz bir App Store Kimliği yoksa, kimliği daha sonra Proje ayarlarınızdan ekleyebilirsiniz.
Uygulamayı kaydet'i tıklayın.
Bir Firebase yapılandırma dosyası ekleyin
Firebase Apple platformları yapılandırma dosyanızı (
GoogleService-Info.plist
) edinmek için GoogleService-Info.plist'i İndir'i tıklayın.Firebase yapılandırma dosyası, projeniz için benzersiz ancak gizli olmayan tanımlayıcılar içerir. Bu yapılandırma dosyası hakkında daha fazla bilgi edinmek için Firebase Projelerini Anlama sayfasını ziyaret edin.
Firebase yapılandırma dosyanızı istediğiniz zaman tekrar indirebilirsiniz.
Yapılandırma dosyası adının sonuna
(2)
gibi ek karakterler eklenmediğinden emin olun.
Yapılandırma dosyanızı Xcode projenizin köküne taşıyın. İstenirse, yapılandırma dosyasını tüm hedeflere eklemek için seçin.
Projenizde birden fazla paket kimliğiniz varsa, her uygulamanın kendi GoogleService-Info.plist
dosyasına sahip olabilmesi için her paket kimliğini Firebase konsolunda kayıtlı bir uygulamayla ilişkilendirmeniz gerekir.
Uygulamanıza Firebase SDK'ları ekleyin
Firebase bağımlılıklarını kurmak ve yönetmek için Swift Paket Yöneticisi'ni kullanın.
- Xcode'da, uygulama projeniz açıkken File > Add Packages seçeneğine gidin.
- İstendiğinde, Firebase Apple platformları SDK deposunu ekleyin:
- Firebase Cloud Messaging kitaplığını seçin.
- Firebase Cloud Messaging ile optimum bir deneyim için Firebase projenizde Google Analytics'i etkinleştirmenizi ve Google Analytics için Firebase SDK'yı uygulamanıza eklemenizi öneririz. Kütüphaneyi IDFA koleksiyonu olmadan veya IDFA koleksiyonu ile seçebilirsiniz.
- Bittiğinde, Xcode otomatik olarak arka planda bağımlılıklarınızı çözmeye ve indirmeye başlayacaktır.
https://github.com/firebase/firebase-ios-sdk
APNs kimlik doğrulama anahtarınızı yükleyin
APNs kimlik doğrulama anahtarınızı Firebase'e yükleyin. Halihazırda bir APN kimlik doğrulama anahtarınız yoksa Apple Developer Üye Merkezi'nde bir tane oluşturduğunuzdan emin olun.
Firebase konsolundaki projenizin içinde, dişli çark simgesini seçin, Proje Ayarları'nı seçin ve ardından Bulut Mesajlaşma sekmesini seçin.
iOS uygulama yapılandırması altındaki APN'ler kimlik doğrulama anahtarında , Yükle düğmesine tıklayın.
Anahtarınızı kaydettiğiniz konuma göz atın, onu seçin ve Aç'a tıklayın. Anahtarın anahtar kimliğini ekleyin ( Apple Geliştirici Üye Merkezi'nde bulunur) ve Yükle'yi tıklayın.
Uygulamanızda Firebase'i başlatın
Uygulamanıza Firebase başlatma kodu eklemeniz gerekecek. Firebase modülünü içe aktarın ve paylaşılan bir örneği gösterildiği gibi yapılandırın:
-
UIApplicationDelegate
uygulamanızaFirebaseCore
modülünü ve uygulama temsilcinizin kullandığı diğer Firebase modüllerini içe aktarın. Örneğin, Cloud Firestore ve Authentication'ı kullanmak için:SwiftUI
import SwiftUI import FirebaseCore import FirebaseFirestore import FirebaseAuth // ...
Süratli
import FirebaseCore import FirebaseFirestore import FirebaseAuth // ...
Amaç-C
@import FirebaseCore; @import FirebaseFirestore; @import FirebaseAuth; // ...
- Uygulama temsilcinizin
application(_:didFinishLaunchingWithOptions:)
yönteminde birFirebaseApp
paylaşılan örneği yapılandırın:SwiftUI
// Use Firebase library to configure APIs FirebaseApp.configure()
Süratli
// Use Firebase library to configure APIs FirebaseApp.configure()
Amaç-C
// Use Firebase library to configure APIs [FIRApp configure];
- SwiftUI kullanıyorsanız, bir uygulama temsilcisi oluşturmalı ve bunu
UIApplicationDelegateAdaptor
veyaNSApplicationDelegateAdaptor
aracılığıylaApp
yapınıza eklemelisiniz. Uygulama temsilcisi swizzling'i de devre dışı bırakmalısınız. Daha fazla bilgi için SwiftUI talimatlarına bakın.SwiftUI
@main struct YourApp: App { // register app delegate for Firebase setup @UIApplicationDelegateAdaptor(AppDelegate.self) var delegate var body: some Scene { WindowGroup { NavigationView { ContentView() } } } }
Uzaktan bildirimler için kaydolun
Başlangıçta veya uygulama akışınızda istenen noktada, uygulamanızı uzaktan bildirimler için kaydedin.registerForRemoteNotifications
gösterildiği gibi arayın:Süratli
UNUserNotificationCenter.current().delegate = self let authOptions: UNAuthorizationOptions = [.alert, .badge, .sound] UNUserNotificationCenter.current().requestAuthorization( options: authOptions, completionHandler: { _, _ in } ) application.registerForRemoteNotifications()
Amaç-C
[UNUserNotificationCenter currentNotificationCenter].delegate = self; UNAuthorizationOptions authOptions = UNAuthorizationOptionAlert | UNAuthorizationOptionSound | UNAuthorizationOptionBadge; [[UNUserNotificationCenter currentNotificationCenter] requestAuthorizationWithOptions:authOptions completionHandler:^(BOOL granted, NSError * _Nullable error) { // ... }]; [application registerForRemoteNotifications];
Kayıt belirtecine erişin
Belirli bir cihaza mesaj göndermek için, o cihazın kayıt jetonunu bilmeniz gerekir. Bu öğreticiyi tamamlamak için belirteci Bildirimler düzenleyicisindeki bir alana girmeniz gerekeceğinden, aldıktan sonra belirteci kopyaladığınızdan veya güvenli bir şekilde sakladığınızdan emin olun.
Varsayılan olarak FCM SDK, uygulama başlatıldığında istemci uygulaması örneği için bir kayıt belirteci oluşturur. APN'nin cihaz belirtecine benzer şekilde, bu belirteç, uygulamanızın belirli herhangi bir örneğine hedefli bildirimler göndermenize olanak tanır.
Apple platformlarının tipik olarak uygulama başlangıcında bir APNs cihaz belirteci sağlaması gibi, FCM de FIRMessagingDelegate
'ın messaging:didReceiveRegistrationToken:
yöntemi aracılığıyla bir kayıt belirteci sağlar. FCM SDK, ilk uygulama başlatma sırasında ve belirteç her güncellendiğinde veya geçersiz kılındığında yeni veya mevcut bir belirteci alır. Her durumda, FCM SDK geçerli bir belirteçle messaging:didReceiveRegistrationToken:
öğesini çağırır.
Kayıt belirteci şu durumlarda değişebilir:
- Uygulama yeni bir cihaza geri yüklendi
- Kullanıcı uygulamayı kaldırır/yeniden yükler
- Kullanıcı, uygulama verilerini temizler.
Mesajlaşma temsilcisini ayarla
Kayıt belirteçlerini almak için, mesajlaşma temsilci protokolünü uygulayın ve [FIRApp configure]
çağırdıktan sonra FIRMessaging
delegate
özelliğini ayarlayın. Örneğin, uygulama temsilciniz mesajlaşma temsilci protokolüne uygunsa, application:didFinishLaunchingWithOptions:
üzerindeki temsilciyi kendisine ayarlayabilirsiniz.
Süratli
Messaging.messaging().delegate = self
Amaç-C
[FIRMessaging messaging].delegate = self;
Geçerli kayıt jetonu getiriliyor
Kayıt belirteçleri, messaging:didReceiveRegistrationToken:
yöntemi aracılığıyla teslim edilir. Bu yöntem, kayıt belirteciyle başlayan her uygulama için genellikle bir kez çağrılır. Bu yöntem çağrıldığında, aşağıdakiler için ideal zamandır:
- Kayıt belirteci yeniyse, uygulama sunucunuza gönderin.
- Kayıt jetonunu konulara abone olun. Bu, yalnızca yeni abonelikler veya kullanıcının uygulamayı yeniden yüklediği durumlar için gereklidir.
Jetonu doğrudan token(completion:) kullanarak alabilirsiniz. Belirteç alımı herhangi bir şekilde başarısız olursa boş olmayan bir hata verilir.
Süratli
Messaging.messaging().token { token, error in if let error = error { print("Error fetching FCM registration token: \(error)") } else if let token = token { print("FCM registration token: \(token)") self.fcmRegTokenMessage.text = "Remote FCM registration token: \(token)" } }
Amaç-C
[[FIRMessaging messaging] tokenWithCompletion:^(NSString *token, NSError *error) { if (error != nil) { NSLog(@"Error getting FCM registration token: %@", error); } else { NSLog(@"FCM registration token: %@", token); self.fcmRegTokenMessage.text = token; } }];
Belirteci saklamak yerine erişmek için istediğiniz zaman bu yöntemi kullanabilirsiniz.
Belirteç yenilemesini izleyin
Belirteç her güncellendiğinde bilgilendirilmek için, mesajlaşma temsilci protokolüne uyan bir temsilci sağlayın. Aşağıdaki örnek, temsilciyi kaydeder ve uygun temsilci yöntemini ekler:
Süratli
func messaging(_ messaging: Messaging, didReceiveRegistrationToken fcmToken: String?) { print("Firebase registration token: \(String(describing: fcmToken))") let dataDict: [String: String] = ["token": fcmToken ?? ""] NotificationCenter.default.post( name: Notification.Name("FCMToken"), object: nil, userInfo: dataDict ) // TODO: If necessary send token to application server. // Note: This callback is fired at each app startup and whenever a new token is generated. }
Amaç-C
- (void)messaging:(FIRMessaging *)messaging didReceiveRegistrationToken:(NSString *)fcmToken { NSLog(@"FCM registration token: %@", fcmToken); // Notify about received token. NSDictionary *dataDict = [NSDictionary dictionaryWithObject:fcmToken forKey:@"token"]; [[NSNotificationCenter defaultCenter] postNotificationName: @"FCMToken" object:nil userInfo:dataDict]; // TODO: If necessary send token to application server. // Note: This callback is fired at each app startup and whenever a new token is generated. }
Alternatif olarak, bir temsilci yöntemi sağlamak yerine kFIRMessagingRegistrationTokenRefreshNotification
adlı bir NSNotification
dinleyebilirsiniz. belirteç özelliği her zaman geçerli belirteç değerine sahiptir.
Bildirim mesajı gönder
Uygulamayı hedef cihaza yükleyin ve çalıştırın. Apple aygıtlarında, uzaktan bildirim almak için izin isteğini kabul etmeniz gerekir.
Uygulamanın cihazda arka planda olduğundan emin olun.
Firebase konsolunda Mesajlaşma sayfasını açın.
Bu ilk mesajınızsa, İlk kampanyanızı oluşturun ' u seçin.
- Firebase Bildirim mesajları'nı seçin ve Oluştur'u seçin.
Aksi takdirde, Kampanyalar sekmesinde Yeni kampanya'yı ve ardından Bildirimler'i seçin.
Mesaj metnini girin. Diğer tüm alanlar isteğe bağlıdır.
Sağ bölmeden Test mesajı gönder'i seçin.
FCM kayıt belirteci ekle etiketli alana, bu kılavuzun bir önceki bölümünde edindiğiniz kayıt belirtecini girin.
Test Et'i seçin.
Test öğesini seçtikten sonra, hedeflenen istemci cihaz (uygulama arka planda olacak şekilde) bildirimi almalıdır.
Uygulamanıza ileti teslimi hakkında fikir edinmek için, Android uygulamaları için "gösterimler" (kullanıcılar tarafından görülen bildirimler) verileriyle birlikte Apple ve Android cihazlarda gönderilen ve açılan iletilerin sayısını kaydeden FCM raporlama panosuna bakın.
Sonraki adımlar
Bildirim mesajlarının ötesine geçmek ve uygulamanıza daha gelişmiş başka davranışlar eklemek için bkz.: