İOS Anında Bildirimler nasıl çalışır?


102

İOS "push" bildirimleri belirli bir cihaza, o cihazın bir sunucuyu yoklamasına gerek kalmadan nasıl iletilir?

Örneğin, Facebook'ta yeni bir mesaj aldım diyelim. Facebook, Apple'a cihazımın buna benzer bir bildirim alması gerektiğini bildiriyor. Ancak Apple, mesajı hangi cihaza / IP'ye göndereceğini nereden biliyor?


2
@Wain Teknik düzeyde ayrıntılı bir açıklama arıyorum. Bu makale son derece yüksek düzeydedir. Yani cihazım, Apple'ın push sunucularıyla her zaman açık bir bağlantı kuruyor mu?
Andy Hin

Android push'a daha aşinayım, ancak tipik olarak, uygulamayı yüklediğinizde, cihazı Apple'a benzersiz bir kimlikle kaydeder. Daha sonra facebook apple'a bir mesaj gönderdiğinde, apple bunu cihazların benzersiz kimliğine iletecektir.
Panama Jack

6
@Pjack evet, ama cihazım sürekli olarak farklı baz istasyonlarını, farklı wifi ağlarını değiştirirken, Apple benzersiz kimliğimin IP'sini nasıl biliyor?
Andy Hin

@whydna Bu soruyu sorduğunuz için teşekkürler. Ben de tam olarak aynı şeyi anlamak istedim. Bunun sorumu yanıtladığına inanıyorum: stackoverflow.com/questions/18859732/…
MightyMouse

@AndyHin Cihazın işletim sistemi (iOS) hangi APN sunucularının geçerli olduğunu bilir. Cihaz bu sunuculara bağlanıyor ve bir bağlantıyı açık tutuyor. Bu bağlantı muhtemelen cihaz kimliği ve diğer meta verilerle (telefon numarası) ilişkilidir. Bir mesajın "itilmesi" gerektiğinde, APN'ler doğru bağlantıyı bulur ve zaten açık olan bağlantıyı aşağı gönderir. Yani APN'ler bir cihazla bağlantı kurmaya çalışmaz, her zaman bu bağlantıyı açan cihazdır. Cihaz başına bir bağlantı.
Todd

Yanıtlar:


49

Bir yorumda bulunmak benim için çok fazlaydı.

Belgelerden.

Apple Push Bildirimi hizmeti (APN'ler), anlık bildirimleri bu bildirimleri almak için kayıtlı uygulamalara sahip cihazlara yayar. Her cihaz, hizmetle akredite ve şifreli bir IP bağlantısı kurar ve bu kalıcı bağlantı üzerinden bildirimler alır. Sağlayıcılar, istemci uygulamaları için amaçlanan gelen verileri izlerken kalıcı ve güvenli bir kanal aracılığıyla APN'lerle bağlantı kurar. Bir uygulama için yeni veri geldiğinde, sağlayıcı kanal üzerinden APN'lere bir bildirim hazırlar ve gönderir, bu da bildirimi hedef cihaza gönderir.

Daha fazla bilgi ve nasıl kullanılacağı ve yapılandırılacağı için belgeleri okumanızı öneririm. Hepsi orada.

Push bildirimleri


Cevap için teşekkür ederim.
MightyMouse

7
Yani Apple, cihazınız için statik bir IP mi tutuyor?
CMCDragonkai

Sunucumun HER HEDEF CİHAZ İÇİN APNS'ye bir bildirim göndermesi gerektiğini anladığında merak ettim! :(
Vladimir

4
@CMCDragonkai Cihaz bağlantı kurar, sunucu değil.
Hitechcomputergeek

7
böylece cihazlar her zaman APN hizmeti ile uzun bir yoklama / soket türü bağlantı sağlar? Durum böyleyse, APN hizmeti bu kadar çok bağlantıyı nasıl ele alıyor - Bir sunucu 50k bağlantı tutabiliyorsa ve her zaman 500 milyon kullanıcı varsa, hizmetin en az 10000 sunucuya ihtiyacı vardır. Bu pratik bir senaryo mu?
AV94

91

Her cihaz, kendi benzersiz cihaz belirteçleri kullanılarak verilerle güncellenebilir. Bu resim her şeyi açıklıyor. .

görüntü açıklamasını buraya girin


Device Token'ın kullanımı hakkında bir fikriniz var mı? APNS sunucusu ile Uygulama veya başka bir yer arasındaki iletişimi şifrelemek için mi kullanılıyor?
Mugen

1
@Mugen: Cihaz jetonu, sağlayıcı tarafından gönderilen yükü hangi cihazı iletmesi gerektiğini belirlemek için APNS tarafından kullanılır!
D4ttatraya

@Karan - Bir kullanıcıya yönelik bildirimler (ör. "Hey kullanıcı bir mesajınız var!") İle bir uygulamayı uyandırmak ve sessizce arka planda bazı işlemler yapmasını söylemek için kullanılan bildirimler arasında bir ayrım var mı?
Howiecamp

@Howiecamp Push bildirimi kullanıyorsanız, uygulama çalışıyorsa bir bildirim alındığında bildirim alırsınız. Ayrıca, kullanıcı bildirim merkezinden bildirime dokunduğunda ve uygulamayı başlattığında etkin bildirim ayrıntılarına erişilebilir. Bu süre zarfında yapmak istediğiniz işlemleri gerçekleştirebilirsiniz.
Karan Alangat

@KaranAlangat, Rozet Sayımı burada nasıl işlenir? Sunucu bunu nasıl biliyor?
GvSharma

23

APN'lere Genel Bakış

Apple Push Bildirim hizmeti (APN'ler), uzaktan bildirimler özelliğinin en önemli parçasıdır. Uygulama geliştiricilerinin bilgileri iOS (ve dolaylı olarak watchOS), tvOS ve macOS cihazlarına yayması için sağlam, güvenli ve son derece verimli bir hizmettir.

Uygulamanızın bir kullanıcının cihazında ilk kez başlatılmasında, sistem otomatik olarak uygulamanız ile APN'ler arasında akredite, şifreli ve kalıcı bir IP bağlantısı kurar. Bu bağlantı, uygulamanızın, Uzaktan Bildirim Desteğini Yapılandırma bölümünde açıklandığı gibi, bildirim almasını sağlamak için kurulum gerçekleştirmesine izin verir.

Bildirim göndermek için bağlantının diğer yarısı - bir sağlayıcı sunucusu ile APN'ler arasındaki kalıcı, güvenli kanal - çevrimiçi geliştirici hesabınızda yapılandırma ve Apple tarafından sağlanan şifreleme sertifikalarının kullanılmasını gerektirir. Sağlayıcı, APN'lerle çalışmak üzere yapılandırdığınız, dağıttığınız ve yönettiğiniz bir sunucudur. Şekil 1-1, uzak bildirim için teslimat yolunu gösterir.

Şekil 1-1 Bir sağlayıcıdan bir uygulamaya uzak bildirim iletme

image: ../Art/remote_notif_simple.jpg

Sağlayıcılarınızda ve uygulamanızda push bildirim kurulumu tamamlandıktan sonra, sağlayıcılarınız APN'lere bildirim istekleri gönderebilir. APN'ler, hedeflenen her cihaza karşılık gelen bildirim yüklerini iletir. Bir bildirim alındığında sistem, yükü cihazdaki uygun uygulamaya iletir ve kullanıcıyla etkileşimleri yönetir.

Cihaz açıkken, ancak uygulama çalışmıyorken uygulamanız için bir bildirim gelirse, sistem bildirimi yine de görüntüleyebilir. APN'ler bir bildirim gönderdiğinde cihaz kapatılırsa, APN'ler bildirimi tutar ve daha sonra tekrar dener (ayrıntılar için bkz. Hizmet Kalitesi, Depola ve İlet ve Birleştirilmiş Bildirimler).

Sağlayıcının Sorumlulukları

Sağlayıcı sunucularınız, APN'lere katılmak için aşağıdaki sorumluluklara sahiptir:

  • APN'ler aracılığıyla, küresel olarak benzersiz, uygulamaya özgü cihaz jetonlarını ve uygulamanızın kullanıcı cihazlarındaki örneklerinden diğer ilgili verileri alma. Bu, sağlayıcının uygulamanızın çalışan her örneği hakkında bilgi sahibi olmasını sağlar.
  • Bildirim sisteminizin tasarımına göre, her cihaza ne zaman uzaktan bildirim gönderilmesi gerektiğini belirleme.
  • APN'lere bildirim istekleri oluşturma ve gönderme, her istek bir bildirim yükü ve teslimat bilgisi içerir; APN'ler daha sonra ilgili bildirimleri sizin adınıza amaçlanan cihazlara iletir.

Bir sağlayıcının gönderdiği her uzaktan bildirim isteği için şunları yapması gerekir:

  • Uzaktan Bildirim Yükü Oluşturma bölümünde açıklandığı gibi, bildirimin yükünü içeren bir JSON sözlüğü oluşturun.
  • Yükü, küresel olarak benzersiz bir cihaz belirteci ve diğer teslimat bilgilerini bir HTTP / 2 isteğine ekleyin. Aygıt belirteçleri hakkında bilgi için bkz. APN'lerden Aygıta Bağlantı Güveni ve Aygıt Belirteçleri. HTTP / 2 istek biçimi ve APN'lerden olası yanıtlar ve hatalar hakkında bilgi için bkz. APN'lerle İletişim.
  • Kalıcı, güvenli bir kanal üzerinden bir belirteç veya sertifika biçimindeki kriptografik kimlik bilgileri dahil olmak üzere HTTP / 2 isteğini APN'lere gönderin.
  • Bu güvenli kanalın kurulması, Güvenlik Mimarisi'nde anlatılmıştır.

Birden Çok Sağlayıcı Kullanmak

Şekil 1-2, APN'lerin uygulamalarınızı çalıştıran cihazlar için etkinleştirdiği sanal ağ türünü göstermektedir. Bildirim yükünün üstesinden gelmek için, genellikle her biri APN'lere kendi kalıcı ve güvenli bağlantısı olan birden çok sağlayıcı kurarsınız. Her sağlayıcı daha sonra, sağlayıcının geçerli bir cihaz jetonuna sahip olduğu herhangi bir cihazı hedefleyen bildirim istekleri gönderebilir.

Şekil 1-2 Birden çok sağlayıcıdan birden çok cihaza uzaktan bildirim gönderme

image: ../Art/remote_notif_multiple.jpg

Hizmet Kalitesi, Depola ve İlet ve Birleştirilmiş Bildirimler

Apple Anında Bildirim hizmeti, bir sakla ve ilet işlevi gerçekleştiren bir Hizmet Kalitesi (QoS) bileşeni içerir. APN'ler bir bildirim göndermeye çalışırsa ve hedef cihaz çevrimdışıysa, APN'ler bildirimi sınırlı bir süre için saklar ve cihaz tekrar kullanılabilir olduğunda teslim eder. Bu bileşen, cihaz ve uygulama başına yalnızca en son bildirimi saklar. Bir cihaz çevrimdışıysa, o cihazı hedefleyen bir bildirim isteği göndermek, önceki talebin silinmesine neden olur. Bir cihaz uzun süre çevrimdışı kalırsa, APN'lerde depolanan tüm bildirimler atılır.

Benzer bildirimlerin birleştirilmesine izin vermek için, bir bildirim isteğine bir daraltma tanımlayıcısı ekleyebilirsiniz. Normalde, bir cihaz çevrimiçi olduğunda, APN'lere gönderdiğiniz her bildirim isteği, cihaza gönderilen bir bildirimle sonuçlanır. Ancak, apns-collapse-id anahtarı HTTP / 2 istek başlığınızda bulunduğunda, APNs bu anahtar için değeri aynı olan istekleri birleştirir. Örneğin, aynı başlığı iki kez gönderen bir haber hizmeti, her iki istek için de aynı daraltma tanımlayıcı değerini kullanabilir. APN'ler daha sonra iki isteği cihaza teslim edilmek üzere tek bir bildirimde birleştirir. Apns-collapse-id anahtarıyla ilgili ayrıntılar için.

Güvenlik Mimarisi

APN'ler, iki güven düzeyi kullanarak uçtan uca, kriptografik doğrulama ve kimlik doğrulamayı zorlar: bağlantı güveni ve cihaz belirteci güveni.

Bağlantı güveni, sağlayıcılar ve APN'ler arasında ve APN'ler ile cihazlar arasında çalışır.

Cihaz belirteci güveni, her uzak bildirim için uçtan uca çalışır. Bildirimlerin yalnızca doğru başlangıç ​​(sağlayıcı) ve bitiş (cihaz) noktaları arasında yönlendirilmesini sağlar.

Bir aygıt belirteci, Apple tarafından belirli bir aygıttaki belirli bir uygulamaya atanan benzersiz bir tanımlayıcıyı içeren opak bir NSData örneğidir. Yalnızca APN'ler bir cihaz belirtecinin içeriğini çözebilir ve okuyabilir. Her uygulama örneği, APN'lere kaydolduğunda benzersiz cihaz belirtecini alır ve ardından belirteci, Uzaktan Bildirim Desteğini Yapılandırma bölümünde açıklandığı gibi sağlayıcısına iletmelidir. Sağlayıcı, ilgili cihazı hedefleyen her push bildirim isteğine cihaz kodunu dahil etmelidir; APN'ler, bildirimin yalnızca amaçlanan benzersiz uygulama-cihaz kombinasyonuna teslim edilmesini sağlamak için cihaz jetonunu kullanır.

APN'ler çeşitli nedenlerle yeni bir cihaz belirteci verebilir:

  • Kullanıcı, uygulamanızı yeni bir cihaza yükler
  • Kullanıcı cihazı bir yedekten geri yükler
  • Kullanıcı işletim sistemini yeniden yükler
  • Diğer sistem tanımlı olaylar

Sonuç olarak, uygulamalar, APN'lerden Cihaza Bağlantı Güven ve Cihaz Belirteçleri'nde açıklandığı gibi, başlatma sırasında cihaz jetonunu istemelidir. Kod örnekleri için bkz. Uzaktan Bildirimleri Almak İçin Kaydolma.

APN'lerle HTTP / 2 tabanlı TLS oturumları oluşturmak için, sağlayıcılarınızın her birine bir GeoTrust Global CA kök sertifikasının kurulu olduğundan emin olmalısınız. Bir sağlayıcı macOS çalıştırıyorsa bu kök sertifika varsayılan olarak anahtar zincirindedir. Diğer sistemlerde bu sertifika, açık kurulum gerektirebilir. Bu sertifikayı GeoTrust Kök Sertifikaları web sitesinden indirebilirsiniz. İşte sertifikaya doğrudan bir bağlantı.

Şekil 1-3, güven oluşturmak için HTTP / 2 tabanlı APNs sağlayıcı API'sini ve bildirim göndermek için JWT sağlayıcı kimlik doğrulama belirteçlerini kullanmayı göstermektedir.

Şekil 1-3 Belirteç tabanlı sağlayıcı bağlantı güvenini oluşturma ve kullanma

resim: ../Art/service_provider_ct.jpg

Şekil 1-3'te gösterildiği gibi, belirteç tabanlı sağlayıcı güveni şu şekilde çalışır:

Sağlayıcınız, şekilde "TLS başlatma" etiketli okla gösterilen aktarım katmanı güvenliğini (TLS) kullanarak APN'lerle güvenli bir bağlantı ister.

APN'ler daha sonra sağlayıcınıza, şekildeki bir sonraki okla temsil edilen ("APNs sertifikası" olarak etiketlenen) bir APNs sertifikası verir ve tedarikçiniz bunu daha sonra onaylar.

Bu noktada, bağlantı güveni kurulur ve sağlayıcı sunucunuzun, APN'lere belirteç tabanlı uzaktan push bildirim istekleri göndermesi etkinleştirilir. Sağlayıcınızın gönderdiği her bildirim isteğine, şekilde "Bildirim itme" etiketli okla gösterilen bir JWT kimlik doğrulama jetonu eşlik etmelidir.

APN'ler, şekilde "HTTP / 2 yanıtı" etiketli ok olarak temsil edilen her iletime yanıt verir.

Sağlayıcınızın bu adım için alabileceği yanıtlarla ilgili ayrıntılar için bkz. HTTP / 2 APN'lerden Yanıtı.

Şekil 1-4, bir sağlayıcı ile APN'ler arasında güven oluşturmak için Apple tarafından verilen bir SSL sertifikasının kullanımını göstermektedir. Şekil 1-3'ten farklı olarak, bu şekil bir bildirim itmesini göstermez, ancak Taşıma Katmanı Güvenliği (TLS) bağlantısı kurulduğunda durur. Sertifikaya dayalı güven şemasında, push bildirim isteklerinin kimliği doğrulanmaz, ancak eşlik eden cihaz belirteci kullanılarak doğrulanır.

Şekil 1-4 Sertifika tabanlı sağlayıcı bağlantı güveni oluşturma

resim: ../Art/service_provider_ct_certificate_2x.png

Şekil 1-4'te gösterildiği gibi, sertifika tabanlı sağlayıcıdan APN'ye güveni şu şekilde çalışır:

Sağlayıcınız, şekilde "TLS başlatma" etiketli okla gösterilen aktarım katmanı güvenliğini (TLS) kullanarak APN'lerle güvenli bir bağlantı ister.

APN'ler daha sonra sağlayıcınıza, şekildeki bir sonraki okla temsil edilen ("APNs sertifikası" olarak etiketlenen) bir APNs sertifikası verir ve tedarikçiniz bunu daha sonra onaylar.

Sağlayıcınız daha sonra Apple tarafından sağlanan sağlayıcı sertifikasını (Xcode Yardım'da "Evrensel APNs istemcisi SSL sertifikası oluşturma" bölümünde açıklandığı gibi daha önce çevrimiçi geliştirici hesabınızdan edindiğiniz), "Sağlayıcı" etiketli okla gösterilen APN'lere geri göndermelidir. sertifika. "

APN'ler daha sonra sağlayıcı sertifikanızı doğrular, böylece bağlantı talebinin meşru bir sağlayıcıdan geldiğini doğrular ve TLS bağlantınızı kurar.

Bu noktada, bağlantı güveni kurulur ve sağlayıcı sunucunuzun APN'lere sertifika tabanlı uzaktan push bildirim istekleri göndermesi etkinleştirilir.

APN'lerden Cihaza Bağlantı Güveni ve Cihaz Belirteçleri

APN'ler ile her cihaz arasındaki güven, bu bölümde açıklandığı gibi, uygulamanızın katılımı olmadan otomatik olarak oluşturulur.

Her cihaz, ilk cihaz etkinleştirmesinde işletim sistemi tarafından sağlanan ve cihazın anahtar zincirinde saklanan bir şifreleme sertifikasına ve özel bir şifreleme anahtarına sahiptir. Etkinleştirme sırasında APN'ler, Şekil 6-5'te gösterildiği gibi sertifika ve anahtara dayalı olarak cihaza bağlantıyı doğrular ve doğrular.

Şekil 1-5 Bir cihaz ile APN'ler arasında bağlantı güveni oluşturma

image: ../Art/service_device_ct.jpg

Şekil 1-5'te gösterildiği gibi, APN'lerden cihaza güven şu şekilde çalışır:

  • Güven görüşmesi, şekilde üst okta gösterildiği gibi, cihaz APN'lerle bir TLS bağlantısı başlattığında başlar.
  • APN'ler, cihaza bir APNs sertifikası döndürür.
  • İşletim sistemi bu sertifikayı doğrular ve ardından "Cihaz sertifikası" okunda gösterildiği gibi cihaz sertifikasını APN'lere gönderir.
  • Son olarak, şekilde alt okla gösterildiği gibi, APN'ler cihaz sertifikasını doğrular ve güven oluşturur.
  • APN'ler ve cihaz arasında kurulan bir TLS bağlantısı ile, cihazdaki uygulamalar, uzaktan bildirimler için uygulamaya özel cihaz belirteçlerini almak üzere APN'lere kaydolabilir. Ayrıntılar ve kod örnekleri için Uzaktan Bildirim Desteğini Yapılandırma bölümündeki Uzaktan Bildirimleri Almak için Kayıt Yapma konusuna bakın.

Cihaz jetonunu aldıktan sonra, bir uygulama uygulamanın ilişkili sağlayıcısına bağlanmalı ve jetonu ona iletmelidir. Bu adım gereklidir, çünkü bir sağlayıcı daha sonra cihazı hedefleyen APN'lere bir bildirim isteği gönderdiğinde cihaz jetonunu dahil etmek zorundadır. Belirteci iletmek için yazdığınız kod, Uzaktan Bildirimleri Almak İçin Kaydolma bölümünde de gösterilir.

Kullanıcı ister bir cihazı ilk kez etkinleştiriyor olsun, ister APN'ler yeni bir cihaz jetonu yayınlasın, süreç benzerdir ve Şekil 6-6'da gösterilmiştir.

Şekil 1-6 Cihaz jetonunu yönetme

resim: ../Art/token_generation.jpg

Uygulamaya özgü bir cihaz jetonunun edinilmesi ve işlenmesi şu şekilde çalışır:

Uygulamanız, üst okta gösterildiği gibi uzak bildirimler için APN'lere kaydolur. Uygulama zaten kayıtlıysa ve uygulamaya özgü cihaz jetonu değişmediyse, sistem mevcut jetonu hızla uygulamaya geri döndürür ve bu işlem 4. adıma atlar.

Yeni bir cihaz belirteci gerektiğinde, APN'ler, cihazın sertifikasında bulunan bilgileri kullanarak bir tane oluşturur. Bir belirteç anahtarı kullanarak belirteci şifreler ve ortadaki sağ okta gösterildiği gibi aygıta geri döndürür.

Sistem, uygulamanızı çağırarak cihaz belirtecini uygulamanıza geri gönderir: didRegisterForRemoteNotificationsWithDeviceToken: delegate yöntemi.

Jetonu aldıktan sonra, uygulamanız (temsilci yöntemi dahilinde) onu sağlayıcınıza ikili veya onaltılık biçimde iletmelidir. Sağlayıcınız bu belirteç olmadan cihaza bildirim gönderemez. Ayrıntılar için, Uzaktan Bildirim Desteğini Yapılandırma bölümünde Uzaktan Bildirimleri Almak için Kaydolma konusuna bakın.

ÖNEMLİ

APN'ler cihaz belirteçleri değişken uzunluktadır. Boyutlarını sabit kodlamayın.

Sağlayıcınız APN'lere bir push bildirim isteği gönderdiğinde, benzersiz bir uygulama-cihaz kombinasyonunu tanımlayan bir cihaz belirteci içerir. Bu adım, Şekil 6-7'de sağlayıcı ve APN'ler arasındaki "Belirteç, Yük" okunda gösterilmektedir. APN'ler, isteğin geçerliliğini sağlamak ve hedef cihazı belirlemek için jetonun şifresini çözer. APN'ler, gönderenin ve alıcının meşru olduğunu belirlerse, bildirimi tanımlanan cihaza gönderir.

Şekil 1-7 Sağlayıcıdan cihaza uzaktan bildirim yolu

resim: ../Art/token_trust.jpg

Cihaz bildirimi aldıktan sonra (ve Şekil 1-7'de gösterilen son adımdan sonra), sistem uzaktan bildirimi uygulamanıza iletir.

Ref: Apple Push Bildirim Hizmeti

Şimdi, teknik akışı anlamak için buraya bakın: iOS Uygulamasında Apple Push Bildirim Hizmeti nasıl uygulanır?


8
Haha, tam anlamıyla tüm Apple Docs girişini SO'ya yapıştırdınız!
Matt Mc

@MattMc - Evet, SO için acemiydim, bu cevabı gönderdiğimde ve o sırada APNS'ye bir bağlantı gönderdim, ancak SO'da bir bağlantı cevap olarak görülmedi, bu yüzden bunu yaptım .... :)
Krunal

1
Aslında doğru, sadece bir link cevabından çok daha iyi;)
Matt Mc

22

Push bildirimlerinin iş akışını açıklamak için bir infografik oluşturdum. Umarım bu yardımcı olur.

görüntü açıklamasını buraya girin


14

Cihaz, anlık bildirimler için sunucuyu sorgulamaya devam etmez.

Basit tutmak için bir iPhone'un internete bağlı olduğunu düşünün. İnternete bağlanıldığında iPhone, Apple Push Bildirimleri sunucusuna bağlantı kurar, bu bağlantı açık bağlantıdır; bu, verilerin sunucuya ulaştığı anda sunucudan iPhone'a veri atılabileceği anlamına gelir.

Apple, Push bildirimleri için HTTP protokolü kullanmaz, ancak HTTP Protokolünü anlarsanız, neredeyse benzer bir yöntemdir.

http://en.wikipedia.org/wiki/Push_technology#HTTP_server_push


Http değilse ne kullanıyorlar?
Howiecamp

2

Bu makalede push bildirimlerinin gerçekten güzel bir açıklaması var .

İOS'ta uygulamalar arka planda pek bir şey yapamaz. Uygulamaların yalnızca sınırlı sayıda etkinlik yapmasına izin verilir, böylece pil ömrü korunur.

Peki ya ilginç bir şey olursa ve şu anda uygulamanızı kullanmıyor olsalar bile kullanıcıya bunun hakkında bilgi vermek isterseniz?

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.