Bu öğretici, bir iOS uygulamasına anında iletme bildirimleri göndermek için Azure Notification Hubs'ın nasıl kullanılacağını size gösterir. Apple Anında İletilen Bildirim Servisi'ni (APNs) kullanarak anında iletme bildirimleri alan boş bir Xamarin.iOS uygulaması oluşturursunuz.
İşiniz bittiğinde, uygulamanızı çalıştıran tüm cihazlara anında iletme bildirimleri yayımlamak için bildirim hub’ınızı kullanabilirsiniz. Tamamlanan kodu NotificationHubs uygulaması örneğinde bulabilirsiniz.
Bu öğreticide, aşağıdaki görevleri gerçekleştirmek için kod oluşturur/güncelleştirirsiniz:
Sertifika imzalama isteği dosyası oluşturma
Anında iletme bildirimleri için uygulamanızı kaydetme
Uygulama için bir sağlama profili oluşturun
iOS anında iletme bildirimleri için bildirim hub’ınızı yapılandırma
iOS anında iletme bildirimlerinin yapılandırma gereksinimleri nedeniyle, örnek uygulamayı benzetici yerine fiziksel bir iOS cihazında (iPhone veya iPad) dağıtmanız ve test etmeniz gerekir.
Bu öğreticiyi tamamlamak Xamarin.iOS uygulamalarına ilişkin diğer tüm Notification Hubs öğreticileri için önkoşuldur.
Sertifika imzalama isteği dosyasını oluşturma
Apple Anında İletme Bildirimi Hizmeti (APN' ler), anında iletme bildirimlerinizin kimliğini doğrulamak için sertifikaları kullanır. Bildirim gönderip almak için gereken bildirim sertifikasını oluşturacak bu talimatları uygulayın. Bu kavramlarla ilgili daha fazla bilgi için resmi Apple Anında İletilen Bildirim Servisi belgelerine bakın.
Apple'ın imzalı bir anında iletme sertifikası oluşturmak için kullandığı Sertifika İmzalama İsteği (CSR) dosyasını oluşturun.
Mac’inizde Anahtarlık Erişim aracını çalıştırın. Yardımcı Programlar klasöründen veya Başlatma Çubuğundaki Diğer klasöründen açılabilir.
Anahtarlık Erişimi'ni seçin, Sertifika Yardımcısı'nı genişletin ve ardından Sertifika Yetkilisinden Sertifika İste'yi seçin.
Not
Varsayılan olarak, AnahtarLık Erişimi listedeki ilk öğeyi seçer. Sertifikalar kategorisindeyseniz ve Apple Worldwide Developer Relations Certification Authority listedeki ilk öğe değilse bu sorun olabilir. CSR(Sertifika İmzalama İsteği) oluşturmadan önce anahtar olmayan bir öğeye sahip olduğunuzdan veya Apple Worldwide Developer Relations Certification Authority anahtarının seçildiğinden emin olun.
Kullanıcı E-posta Adresinizi seçin, Ortak Ad değerinizi girin, Diske kaydedildi'yi belirttiğinizden emin olun ve ardından Devam'ı seçin. Gerekli olmadığından CA E-posta Adresini boş bırakın.
Farklı Kaydet'te CSR dosyası için bir ad girin, Konum'da konumu seçin ve ardından Kaydet'i seçin.
Bu eylem CSR dosyasını seçili konuma kaydeder. Varsayılan konum Masaüstü'dür. Bu dosya için seçilen konumu unutmayın.
Ardından, uygulamanızı Apple'a kaydedin, anında iletme bildirimlerini etkinleştirin ve anında iletme sertifikası oluşturmak için dışarı aktarılan CSR'yi karşıya yükleyin.
Anında iletme bildirimleri için uygulamanızı kaydetme
Bir iOS uygulamasına anında iletme bildirimleri göndermek için uygulamanızı Apple'a kaydedin ve anında iletme bildirimlerine kaydolun.
Uygulamanızı henüz kaydolmadıysanız Apple Geliştirici Merkezi'ndeki iOS Sağlama Portalı'na göz atın. Apple kimliğinizle portalda oturum açın ve Tanımlayıcılar'ı seçin. Ardından yeni bir uygulama kaydetmek için öğesini seçin + .
Yeni Tanımlayıcı Kaydet ekranında Uygulama Kimlikleri radyo düğmesini seçin. Daha sonra Devam seçeneğini belirleyin.
Yeni uygulamanız için aşağıdaki üç değeri güncelleştirin ve devam'ı seçin:
Açıklama: Uygulamanız için açıklayıcı bir ad yazın.
Paket Kimliği: Uygulama Dağıtım Kılavuzu'nda belirtildiği gibi Kuruluş Tanımlayıcısı.Ürün Adı formunun Paket Kimliğini girin. Kuruluş Tanımlayıcısı ve Ürün Adı değerleri, Xcode projenizi oluştururken kullandığınız kuruluş tanımlayıcısı ve ürün adıyla eşleşmelidir. Aşağıdaki ekran görüntüsünde NotificationHubs değeri kuruluş tanımlayıcısı olarak, GetStarted değeri ise ürün adı olarak kullanılır. Xcode'un doğru yayımlama profilini kullanması için Paket Tanımlayıcısı değerinin Xcode projenizdeki değerle eşleştiğinden emin olun.
Anında İletme Bildirimleri: Özellikler bölümündeki Anında İletme Bildirimleri seçeneğini işaretleyin.
Bu eylem Uygulama Kimliğinizi oluşturur ve bilgileri onaylamanızı talep eder. Yeni Uygulama Kimliğini onaylamak için Devam'ı ve ardından Kaydet'i seçin.
Kaydet'i seçtikten sonra, yeni Uygulama Kimliğini Sertifikalar, Tanımlayıcılar ve Profiller sayfasında satır öğesi olarak görürsünüz.
Sertifikalar, Tanımlayıcılar ve Profiller sayfasındaki Tanımlayıcılar'ın altında, yeni oluşturduğunuz Uygulama Kimliği satır öğesini bulun ve Uygulama Kimliği Yapılandırmanızı Düzenle ekranını görüntülemek için satırını seçin.
Notification Hubs için Sertifika Oluşturma
Bildirim hub'ını APNS ile çalışmasını sağlamak için bir sertifika gereklidir. Bu işlem iki yoldan biriyle yapılabilir:
Doğrudan Notification Hub'a yüklenebilecek bir .p12 oluşturun.
Belirteç tabanlı kimlik doğrulaması için kullanılabilecek bir .p8 oluşturun (daha yeni bir yaklaşım).
SEÇENEK 1: Doğrudan Notification Hub'a yüklenebilecek bir .p12 anında iletme sertifikası oluşturma
Ekranı aşağı kaydırarak işaretli Anında İletme Bildirimleri seçeneğine gelin ve sertifikayı oluşturmak için Yapılandır'ı seçin.
Apple Anında İletme Bildirimi hizmeti SSL Sertifikaları penceresi görüntülenir. Geliştirme SSL Sertifikası bölümünün altındaki Sertifika Oluştur düğmesini seçin.
Yeni sertifika oluştur ekranı görüntülenir.
Not
Bu öğreticide, uygulamanızın benzersiz bir cihaz belirteci oluşturmak için kullandığı bir geliştirme sertifikası kullanılır. Aynı işlem üretim sertifika kaydedildiğinde de kullanılır. Bildirimleri gönderirken aynı sertifika türünü kullandığınızdan kesinlikle emin olun.
Dosya Seç'i seçin, CSR dosyasını ilk görevden kaydettiğiniz konuma gidin ve ardından sertifika adına çift tıklayarak yükleyin. Daha sonra Devam seçeneğini belirleyin.
Sertifika indirilir ve bilgisayarınıza İndirilenler klasörünüze kaydedilir.
Not
Varsayılan olarak, indirilen geliştirme sertifikası aps_development.cer olarak adlandırılır.
İndirilen aps_development.cer bildirim sertifikasına çift tıklayın. Bu eylem yeni sertifikayı Anahtar Zinciri’ne aşağıdaki resimde gösterildiği gibi yüklenir:
Not
Sertifikanızdaki ad farklı olsa da, adın önüne Apple Development iOS Anında İletme Hizmetleri eklenecektir.
Anahtar Zinciri Erişimi’nde Sertifikalar kategorisinde oluşturduğunuz yeni bildirim sertifikasına sağ tıklayın. Dışarı Aktar'ı seçin, dosyayı adlandırın, .p12 biçimini ve ardından Kaydet'i seçin.
Sertifikayı parolayla korumayı seçebilirsiniz, ancak bu isteğe bağlıdır. Parola oluşturmayı atlamak istiyorsanız Tamam'a tıklayın. Dışarı aktarılan .p12 sertifikanın dosya adını ve konumunu not edin. BUNLAR, APN'lerle kimlik doğrulamasını etkinleştirmek için kullanılır.
Not
.p12 dosya adınız ve konumunuz bu öğreticide görüntülenenden farklı olabilir.
SEÇENEK 2: Belirteç tabanlı kimlik doğrulaması için kullanılabilecek bir .p8 sertifikası oluşturma
Aşağıdaki ayrıntıları not edin:
Uygulama Kimliği Ön Eki (bu bir Ekip Kimliğidir)
Paket Kimliği
Sertifikalar, Tanımlayıcılar ve Profiller'e dönüp Anahtarlar'a tıklayın.
Not
APNS için yapılandırılmış bir anahtarınız varsa, indirdiğiniz .p8 sertifikasını oluşturulduktan hemen sonra yeniden kullanabilirsiniz. Bu durumda, 3 ile 5 arasında adımları yoksayabilirsiniz.
+ Yeni bir anahtar oluşturmak için düğmeye (veya Anahtar oluştur düğmesine) tıklayın.
Uygun bir Anahtar Adı değeri sağlayın, ardından Apple Anında İletme Bildirimleri hizmeti (APNs) seçeneğini işaretleyin ve ardından Devam'a tıklayın ve ardından sonraki ekranda Kaydet'e tıklayın.
İndir'e tıklayın ve .p8 dosyasını (AuthKey_ ön ekli) güvenli bir yerel dizine taşıyın, ardından Bitti'ye tıklayın.
Not
.p8 dosyanızı güvenli bir yerde tuttuğunuzdan emin olun (ve yedek kaydedin). Anahtarınızı indirdikten sonra, sunucu kopyası kaldırıldıktan sonra yeniden indirilemez.
Anahtarlar'da, yeni oluşturduğunuz anahtara (veya bunun yerine kullanmayı seçtiyseniz mevcut bir anahtara) tıklayın.
Anahtar Kimliği değerini not edin.
.p8 sertifikanızı Visual Studio Code gibi seçtiğiniz uygun bir uygulamada açın ve anahtar değerini not edin. Bu, -----BEGIN ÖZEL ANAHTAR----- ile -----END ÖZEL ANAHTAR----- arasındaki değerdir.
Bu, daha sonra Notification Hub'ı yapılandırmak için kullanılacak belirteç değeridir.
Bu adımların sonunda, bildirim hub'ınızı APNs bilgileriyle yapılandırma bölümünde kullanmak üzere aşağıdaki bilgilere sahip olmanız gerekir:
Ekip Kimliği (bkz. 1. adım)
Paket Kimliği (bkz. 1. adım)
Anahtar Kimliği (bkz. 7. adım)
.p8 anahtar değeri gibi belirteç değeri (bkz. 8. adım)
Uygulama için bir sağlama profili oluşturun
iOS Sağlama Portalı'na dönün, Sertifikalar, Tanımlayıcılar ve Profiller'i seçin, sol menüden Profiller'i seçin ve ardından yeni bir profil oluşturmak için seçin+.Yeni Sağlama Profili Kaydet ekranı görüntülenir.
Sağlama profili türü olarak Geliştirme'nin altında iOS Uygulama Geliştirme'yi ve ardından Devam'ı seçin.
Ardından, Uygulama Kimliği açılan listesinden oluşturduğunuz uygulama kimliğini seçin ve Devam'ı seçin.
Sertifika seç penceresinde, kod imzalama için kullandığınız geliştirme sertifikasını seçin ve Devam'ı seçin. Bu sertifika, oluşturduğunuz anında iletme sertifikası değil. Yoksa, oluşturmanız gerekir. Bir sertifika varsa sonraki adıma geçin. Yoksa bir geliştirme sertifikası oluşturmak için:
Kullanılabilir Sertifika Yok seçeneğini görüyorsanız Sertifika Oluştur'u seçin.
Yazılım bölümünde Apple Geliştirme'yi seçin. Daha sonra Devam seçeneğini belirleyin.
Yeni Sertifika Oluştur ekranında Dosya Seç'i seçin.
Daha önce oluşturduğunuz Sertifika İmzalama İsteği sertifikasına göz atın, sertifikayı seçin ve ardından Aç'ı seçin.
Devam'ı seçin.
Geliştirme sertifikasını indirin ve kaydedildiği konumu unutmayın.
Sertifikalar, Tanımlayıcılar ve Profiller sayfasına dönün, sol menüden Profiller'i seçin ve ardından yeni bir profil oluşturmak için öğesini seçin+. Yeni Sağlama Profili Kaydet ekranı görüntülenir.
Sertifika seç penceresinde, yeni oluşturduğunuz geliştirme sertifikasını seçin. Daha sonra Devam seçeneğini belirleyin.
Ardından test için kullanılacak cihazları seçin ve Devam'ı seçin.
Son olarak, Sağlama Profili Adı'nda profil için bir ad seçin ve Oluştur'u seçin.
Yeni sağlama profili oluşturulduğunda İndir'i seçin. Kaydedildiği konumu unutmayın.
Sağlama profilinin konumuna göz atın ve ardından Xcode geliştirme makinenize yüklemek için çift tıklayın.
Bildirim hub’ı oluşturma
Bu bölümde bir bildirim hub'ı oluşturacak ve .p12 anında iletme sertifikasını veya belirteç tabanlı kimlik doğrulamasını kullanarak APN'lerle kimlik doğrulamasını yapılandıracaksınız. Önceden oluşturduğunuz bir bildirim hub'ını kullanmak istiyorsanız 5. adıma atlayabilirsiniz.
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.
Uygulamanızı App Store veya Geçici dağıtım profiliyle derlediyseniz, Uygulama Modu için Üretim'i kullanın. Bu, cihazınızın uygulamanızı mağazadan satın alan kullanıcılara anında iletme bildirimleri göndermesine olanak sağlar.
Artık bildirim hub'ınızı APN'lerle yapılandırdıysanız. Ayrıca uygulamanızı kaydetmek ve anında iletme bildirimleri göndermek için bağlantı dizesi sahipsiniz.
Uygulamanızı bildirim hub'ına bağlama
Yeni proje oluşturma
Visual Studio'da yeni bir iOS projesi oluşturup Tek Görünüm Uygulaması şablonunu seçin ve İleri'ye tıklayın
Uygulama Adı ve Kuruluş tanımlayıcınızı girin, ardından İleri'ye ve ardından Oluştur'a tıklayın
Çözüm görünümünde Kimlik bölümündeki Info.plist dosyasına çift tıklayarak Paket Tanımlayıcısının sağlama profili oluştururken kullandığınızla eşleştiğinden emin olun. İmzalama bölümünde Ekip altında Geliştirici hesabınızın seçili olduğundan, "İmzalamayı otomatik olarak yönet" seçeneğinin belirlendiğinden ve İmza Sertifikası ile Sağlama Profili bilgilerinizin otomatik olarak seçildiğinden emin olun.
Çözüm görünümünde, öğesine çift tıklayın Entitlements.plist ve Anında İletme Bildirimlerini Etkinleştir seçeneğinin işaretli olduğundan emin olun.
Sınıfınıza yeni bir dosya ekleyin, dosyayı Constants.cs adlandırın ve aşağıdaki değişkenleri ekleyin ve dize değişmez değer yer tutucularını ve daha önce belirtilen ile hubnameDefaultListenSharedAccessSignature değiştirin.
Azure portalındakiTest Gönderimi seçeneğini kullanarak uygulamanızda bildirim alma testi gerçekleştirebilirsiniz. Bu, cihazınıza test amaçlı anında iletme bildirimi gönderir.
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 uygun bir kitaplık yoksa bildirim iletileri göndermek için doğrudan REST API de kullanabilirsiniz.
Sonraki adımlar
Bu öğreticide, arka uca kayıtlı olan tüm iOS cihazlarınıza yayın bildirimleri gönderdiniz. Belirli iOS cihazlarına nasıl anında iletme bildirimleri gönderileceğini öğrenmek için aşağıdaki öğreticiye ilerleyin:
Bu modülde, Azure İletişim Hizmetleri aracılığıyla sağlanan bir telefon numarasını kullanarak SMS mesajları gönderen bir C# konsol uygulaması oluşturacaksınız.
Azure İşlevleri oluşturmak, web uygulamalarını uygulamak ve yönetmek, Azure depolamayı kullanan çözümler geliştirmek ve daha fazlasını yapmak için Microsoft Azure'da uçtan uca çözümler oluşturun.
Bu öğreticide, bir Xamarin Android uygulamasına anında iletme bildirimleri göndermek için Azure Notification Hubs'ın nasıl kullanılacağını öğrenirsiniz.
Bu öğreticide, iOS cihazlarına anında iletme bildirimleri göndermek için Azure Notification Hubs ve Apple Anında İletme Bildirimi hizmetini kullanmayı öğreneceksiniz.