Coğrafi sınırlama, kullanıcının mevcut konumunun farkındalığını, kullanıcının ilgisini çekebilecek konumlara yakınlığının farkındalığıyla birleştirir. İlgilenilen bir konumu işaretlemek için enlem ve boylamını belirtirsiniz. Konumun yakınlığını ayarlamak için yarıçap ekleyin. Enlem, boylam ve yarıçap, coğrafi sınırı tanımlayarak önemli yerin etrafında dairesel bir alan veya sınır oluşturur.
Uygulama ve cihaz kullanıcısı başına 100 olmak üzere birden fazla etkin coğrafi sınırlı alan oluşturabilirsiniz. Her bir coğrafi sınırlı alan için Konum Hizmetleri'nden giriş ve çıkış etkinliklerini göndermesini isteyebilir veya bir etkinliğin tetiklenmesinden önce coğrafi sınırlı alan içinde beklenecek veya kalınacak bir süre belirtebilirsiniz. Milisaniye cinsinden bir son kullanma süresi belirterek herhangi bir coğrafi sınırlamanın süresini sınırlayabilirsiniz. Coğrafi sınırlama süresi dolduktan sonra Konum Hizmetleri bu sınırlamayı otomatik olarak kaldırır.

Bu derste, coğrafi sınırları nasıl ekleyip kaldıracağınız ve ardından BroadcastReceiver
kullanarak coğrafi sınır geçişlerini nasıl dinleyeceğiniz gösterilmektedir.
Not: Wear cihazlarda, coğrafi sınırlama API'leri güçten verimli bir şekilde yararlanmaz. Wear'da bu API'lerin kullanılmasını önermiyoruz. Daha fazla bilgi için Gücü ve pili koruma başlıklı makaleyi inceleyin.
Coğrafi sınır izleme için ayarlama
Coğrafi sınırlı alan izleme isteğinde bulunmanın ilk adımı, gerekli izinleri istemektir. Coğrafi sınırlama özelliğini kullanmak için uygulamanızın aşağıdakileri istemesi gerekir:
-
ACCESS_FINE_LOCATION
-
ACCESS_BACKGROUND_LOCATION
Uygulamanız Android 10 (API düzeyi 29) veya sonraki sürümleri hedefliyorsa
Daha fazla bilgi edinmek için konum izni isteme ile ilgili kılavuza bakın.
Coğrafi sınırdan geçişleri dinlemek için BroadcastReceiver
kullanmak istiyorsanız hizmet adını belirten bir öğe ekleyin. Bu öğe,
<application>
öğesinin alt öğesi olmalıdır:
<application android:allowBackup="true"> ... <receiver android:name=".GeofenceBroadcastReceiver"/> <application/>
Konum API'lerine erişmek için Geofencing istemcisinin bir örneğini oluşturmanız gerekir. Müşterinizi nasıl bağlayacağınızı öğrenmek için:
Kotlin
lateinit var geofencingClient: GeofencingClient override fun onCreate(savedInstanceState: Bundle?) { // ... geofencingClient = LocationServices.getGeofencingClient(this) }
Java
private GeofencingClient geofencingClient; @Override public void onCreate(Bundle savedInstanceState) { // ... geofencingClient = LocationServices.getGeofencingClient(this); }
Coğrafi sınırlar oluşturma ve ekleme
Uygulamanız, konum API'sinin Geofence nesneleri oluşturmaya yönelik oluşturucu sınıfını ve bunları eklemeye yönelik kolaylık sınıfını kullanarak coğrafi sınırlar oluşturup eklemelidir. Ayrıca, coğrafi sınırlı bölge geçişleri gerçekleştiğinde Konum Hizmetleri'nden gönderilen amaçları işlemek için bu bölümde gösterildiği gibi bir PendingIntent
tanımlayabilirsiniz.
Not: Tek kullanıcılı cihazlarda uygulama başına 100 coğrafi sınırlama sınırı vardır. Çok kullanıcılı cihazlarda ise cihaz kullanıcısı başına uygulama başına 100 coğrafi sınırlama sınırı vardır.
Coğrafi sınır nesneleri oluşturma
Öncelikle, coğrafi sınırlı alan için istediğiniz yarıçapı, süreyi ve geçiş türlerini ayarlayarak
Geofence.Builder
simgesini kullanarak bir coğrafi sınırlı alan oluşturun. Örneğin, bir liste nesnesini doldurmak için:
Kotlin
geofenceList.add(Geofence.Builder() // Set the request ID of the geofence. This is a string to identify this // geofence. .setRequestId(entry.key) // Set the circular region of this geofence. .setCircularRegion( entry.value.latitude, entry.value.longitude, Constants.GEOFENCE_RADIUS_IN_METERS ) // Set the expiration duration of the geofence. This geofence gets automatically // removed after this period of time. .setExpirationDuration(Constants.GEOFENCE_EXPIRATION_IN_MILLISECONDS) // Set the transition types of interest. Alerts are only generated for these // transition. We track entry and exit transitions in this sample. .setTransitionTypes(Geofence.GEOFENCE_TRANSITION_ENTER or Geofence.GEOFENCE_TRANSITION_EXIT) // Create the geofence. .build())
Java
geofenceList.add(new Geofence.Builder() // Set the request ID of the geofence. This is a string to identify this // geofence. .setRequestId(entry.getKey()) .setCircularRegion( entry.getValue().latitude, entry.getValue().longitude, Constants.GEOFENCE_RADIUS_IN_METERS ) .setExpirationDuration(Constants.GEOFENCE_EXPIRATION_IN_MILLISECONDS) .setTransitionTypes(Geofence.GEOFENCE_TRANSITION_ENTER | Geofence.GEOFENCE_TRANSITION_EXIT) .build());
Bu örnek, verileri bir sabitler dosyasından çeker. Uygulamalar, kullanıcının konumuna göre dinamik olarak coğrafi sınırlar oluşturabilir.
Coğrafi sınırlara ve ilk tetikleyicilere karar verme
Aşağıdaki snippet, izlenecek coğrafi çitleri belirtmek ve ilgili coğrafi çit etkinliklerinin nasıl tetikleneceğini ayarlamak için
GeofencingRequest
sınıfını ve iç içe yerleştirilmiş
GeofencingRequestBuilder
sınıfını kullanır:
Kotlin
private fun getGeofencingRequest(): GeofencingRequest { return GeofencingRequest.Builder().apply { setInitialTrigger(GeofencingRequest.INITIAL_TRIGGER_ENTER) addGeofences(geofenceList) }.build() }
Java
private GeofencingRequest getGeofencingRequest() { GeofencingRequest.Builder builder = new GeofencingRequest.Builder(); builder.setInitialTrigger(GeofencingRequest.INITIAL_TRIGGER_ENTER); builder.addGeofences(geofenceList); return builder.build(); }
Bu örnekte iki coğrafi sınırlama tetikleyicisinin kullanımı gösterilmektedir.
GEOFENCE_TRANSITION_ENTER
geçişi, bir cihaz coğrafi sınıra girdiğinde,
GEOFENCE_TRANSITION_EXIT
geçişi ise bir cihaz coğrafi sınırdan çıktığında tetiklenir. Belirtme
INITIAL_TRIGGER_ENTER
, konum hizmetlerine
GEOFENCE_TRANSITION_ENTER
cihaz zaten coğrafi sınırlı alanın içindeyse tetiklenmesi gerektiğini bildirir.
Çoğu durumda, bunun yerine
INITIAL_TRIGGER_DWELL
kullanmak tercih edilebilir. Bu tetikleyici, etkinlikleri yalnızca kullanıcı bir coğrafi sınırda tanımlı bir süre boyunca durduğunda tetikler.
Bu yaklaşım, bir cihaz kısa süreliğine coğrafi sınırlara girip çıktığında çok sayıda bildirimden kaynaklanan "uyarı spam'ini" azaltmaya yardımcı olabilir. Coğrafi sınırlardan en iyi sonuçları elde etmeye yönelik bir diğer strateji de 100 metre minimum yarıçap belirlemektir. Bu, tipik kablosuz ağların konum doğruluğunu hesaba katmaya ve cihazın güç tüketimini azaltmaya yardımcı olur.
Coğrafi sınırdan geçişler için bir yayın alıcısı tanımlama
Konum Hizmetleri'nden gönderilen bir Intent
, uygulamanızda çeşitli işlemleri tetikleyebilir ancak bileşenler yalnızca bir kullanıcı işlemine yanıt olarak görünür hale gelmelidir. Bu nedenle, bir etkinlik veya parça başlatmamalıdır. Çoğu durumda, BroadcastReceiver
, coğrafi sınırlı alan geçişini ele almak için iyi bir yöntemdir. A
BroadcastReceiver
, bir etkinlik gerçekleştiğinde (ör. coğrafi sınıra giriş veya coğrafi sınırdan çıkış) güncellemeler alır ve uzun süren arka plan çalışmasını başlatabilir.
Aşağıdaki snippet'te, BroadcastReceiver
başlatan bir PendingIntent
öğesinin nasıl tanımlanacağı gösterilmektedir:
Kotlin
class MainActivity : AppCompatActivity() { // ... private val geofencePendingIntent: PendingIntent by lazy { val intent = Intent(this, GeofenceBroadcastReceiver::class.java) // We use FLAG_UPDATE_CURRENT so that we get the same pending intent back when calling // addGeofences() and removeGeofences(). PendingIntent.getBroadcast(this, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT) } }
Java
public class MainActivity extends AppCompatActivity { // ... private PendingIntent getGeofencePendingIntent() { // Reuse the PendingIntent if we already have it. if (geofencePendingIntent != null) { return geofencePendingIntent; } Intent intent = new Intent(this, GeofenceBroadcastReceiver.class); // We use FLAG_UPDATE_CURRENT so that we get the same pending intent back when // calling addGeofences() and removeGeofences(). geofencePendingIntent = PendingIntent.getBroadcast(this, 0, intent, PendingIntent. FLAG_UPDATE_CURRENT); return geofencePendingIntent; }
Coğrafi sınırlar ekleme
Coğrafi sınırlar eklemek için
yöntemini kullanın.
GeofencingClient.addGeofences()
GeofencingRequest
nesnesini ve PendingIntent
değerini sağlayın.
Aşağıdaki snippet, sonuçların nasıl işleneceğini gösterir:
Kotlin
geofencingClient?.addGeofences(getGeofencingRequest(), geofencePendingIntent)?.run { addOnSuccessListener { // Geofences added // ... } addOnFailureListener { // Failed to add geofences // ... } }
Java
geofencingClient.addGeofences(getGeofencingRequest(), getGeofencePendingIntent()) .addOnSuccessListener(this, new OnSuccessListener<Void>() { @Override public void onSuccess(Void aVoid) { // Geofences added // ... } }) .addOnFailureListener(this, new OnFailureListener() { @Override public void onFailure(@NonNull Exception e) { // Failed to add geofences // ... } });
Coğrafi sınır geçişlerini işleme
Konum Hizmetleri, kullanıcının bir coğrafi sınıra girdiğini veya bu sınırdan çıktığını algıladığında, coğrafi sınırlar ekleme isteğine dahil ettiğiniz PendingIntent
içindeki Intent
gönderir. GeofenceBroadcastReceiver
gibi bir yayın alıcısı, Intent
öğesinin çağrıldığını fark eder ve ardından coğrafi sınırlama etkinliğini amaçtan alabilir, coğrafi sınırlama geçişlerinin türünü belirleyebilir ve tanımlanan coğrafi sınırlamalardan hangisinin tetiklendiğini belirleyebilir. Yayın alıcısı, bir uygulamayı arka planda çalışmaya yönlendirebilir veya istenirse çıktı olarak bildirim gönderebilir.
Not: Android 8.0 (API seviyesi 26) ve sonraki sürümlerde, bir uygulama coğrafi sınırı izlerken arka planda çalışıyorsa cihaz, coğrafi sınırlama etkinliklerine birkaç dakikada bir yanıt verir. Uygulamanızı bu yanıt sınırlarına nasıl uyarlayacağınızı öğrenmek için Arka Plan Konum Sınırları başlıklı makaleyi inceleyin.
Aşağıdaki snippet'te, coğrafi sınırlı alan geçişi gerçekleştiğinde bildirim yayınlayan bir
BroadcastReceiver
öğesinin nasıl tanımlanacağı gösterilmektedir. Kullanıcı bildirimi tıkladığında uygulamanın ana etkinliği görünür:
Kotlin
class GeofenceBroadcastReceiver : BroadcastReceiver() { // ... override fun onReceive(context: Context?, intent: Intent?) { val geofencingEvent = GeofencingEvent.fromIntent(intent) if (geofencingEvent.hasError()) { val errorMessage = GeofenceStatusCodes .getStatusCodeString(geofencingEvent.errorCode) Log.e(TAG, errorMessage) return } // Get the transition type. val geofenceTransition = geofencingEvent.geofenceTransition // Test that the reported transition was of interest. if (geofenceTransition == Geofence.GEOFENCE_TRANSITION_ENTER || geofenceTransition == Geofence.GEOFENCE_TRANSITION_EXIT) { // Get the geofences that were triggered. A single event can trigger // multiple geofences. val triggeringGeofences = geofencingEvent.triggeringGeofences // Get the transition details as a String. val geofenceTransitionDetails = getGeofenceTransitionDetails( this, geofenceTransition, triggeringGeofences ) // Send notification and log the transition details. sendNotification(geofenceTransitionDetails) Log.i(TAG, geofenceTransitionDetails) } else { // Log the error. Log.e(TAG, getString(R.string.geofence_transition_invalid_type, geofenceTransition)) } } }
Java
public class GeofenceBroadcastReceiver extends BroadcastReceiver { // ... protected void onReceive(Context context, Intent intent) { GeofencingEvent geofencingEvent = GeofencingEvent.fromIntent(intent); if (geofencingEvent.hasError()) { String errorMessage = GeofenceStatusCodes .getStatusCodeString(geofencingEvent.getErrorCode()); Log.e(TAG, errorMessage); return; } // Get the transition type. int geofenceTransition = geofencingEvent.getGeofenceTransition(); // Test that the reported transition was of interest. if (geofenceTransition == Geofence.GEOFENCE_TRANSITION_ENTER || geofenceTransition == Geofence.GEOFENCE_TRANSITION_EXIT) { // Get the geofences that were triggered. A single event can trigger // multiple geofences. List<Geofence> triggeringGeofences = geofencingEvent.getTriggeringGeofences(); // Get the transition details as a String. String geofenceTransitionDetails = getGeofenceTransitionDetails( this, geofenceTransition, triggeringGeofences ); // Send notification and log the transition details. sendNotification(geofenceTransitionDetails); Log.i(TAG, geofenceTransitionDetails); } else { // Log the error. Log.e(TAG, getString(R.string.geofence_transition_invalid_type, geofenceTransition)); } } }
PendingIntent
aracılığıyla geçiş etkinliği algılandıktan sonra BroadcastReceiver
, coğrafi sınırlı bölge geçiş türünü alır ve uygulamanın bildirimleri tetiklemek için kullandığı etkinliklerden biri olup olmadığını test eder. Bu durumda GEOFENCE_TRANSITION_ENTER
veya GEOFENCE_TRANSITION_EXIT
. Hizmet daha sonra bir bildirim gönderir ve geçiş ayrıntılarını günlüğe kaydeder.
Coğrafi sınırlı alan izlemeyi durdurma
Artık gerek duyulmadığında veya istenmediğinde coğrafi sınırlama izlemeyi durdurmak, cihazdaki pil gücünden ve CPU döngülerinden tasarruf etmenize yardımcı olabilir. Coğrafi sınırlama izlemeyi, coğrafi sınırlamaları eklemek ve kaldırmak için kullanılan ana etkinlikte durdurabilirsiniz. Bir coğrafi sınırlamayı kaldırdığınızda izleme işlemi hemen durdurulur. API, istek kimliklerine göre veya belirli bir PendingIntent
ile ilişkili coğrafi çitleri kaldırarak coğrafi çitleri kaldırma yöntemleri sağlar.
Aşağıdaki snippet, PendingIntent
tarafından coğrafi sınırları kaldırarak cihaz daha önce eklenen coğrafi sınırlara girdiğinde veya bu sınırlardan çıktığında tüm bildirimleri durdurur:
Kotlin
geofencingClient?.removeGeofences(geofencePendingIntent)?.run { addOnSuccessListener { // Geofences removed // ... } addOnFailureListener { // Failed to remove geofences // ... } }
Java
geofencingClient.removeGeofences(getGeofencePendingIntent()) .addOnSuccessListener(this, new OnSuccessListener<Void>() { @Override public void onSuccess(Void aVoid) { // Geofences removed // ... } }) .addOnFailureListener(this, new OnFailureListener() { @Override public void onFailure(@NonNull Exception e) { // Failed to remove geofences // ... } });
Coğrafi sınırlama özelliğini, konumun düzenli olarak güncellenmesi gibi konuma duyarlı diğer özelliklerle birlikte kullanabilirsiniz. Daha fazla bilgi için bu sınıftaki diğer derslere göz atın.
Coğrafi sınırlama için en iyi uygulamaları kullanma
Bu bölümde, Android için konum API'leri ile coğrafi sınırlama kullanmayla ilgili öneriler özetlenmektedir.
Güç tüketimini azaltma
Coğrafi sınırlama kullanan uygulamalarınızda güç tüketimini optimize etmek için aşağıdaki teknikleri kullanabilirsiniz:
Bildirim yanıt hızını daha yüksek bir değere ayarlayın. Bu işlem, coğrafi sınırlama uyarılarının gecikmesini artırarak güç tüketimini iyileştirir. Örneğin, yanıt verme süresini beş dakika olarak ayarlarsanız uygulamanız giriş veya çıkış uyarısını yalnızca beş dakikada bir kontrol eder. Değerlerin daha düşük ayarlanması, kullanıcıların bu süre içinde mutlaka bildirim alacağı anlamına gelmez (örneğin, 5 saniye olarak ayarlarsanız uyarıyı almak biraz daha uzun sürebilir).
Kullanıcının önemli miktarda zaman geçirdiği yerler (ör. ev veya iş yeri) için daha büyük bir coğrafi sınırlama yarıçapı kullanın. Daha geniş bir yarıçap, güç tüketimini doğrudan azaltmasa da uygulamanın giriş veya çıkış kontrolü yapma sıklığını azaltarak genel güç tüketimini düşürür.
Coğrafi sınırlı alanınız için optimum yarıçapı seçme
En iyi sonuçlar için coğrafi sınırlı alanın minimum yarıçapı 100-150 metre arasında ayarlanmalıdır. Kablosuz bağlantı olduğunda konum doğruluğu genellikle 20-50 metre arasındadır. Kapalı alan konumu kullanılabildiğinde doğruluk aralığı 5 metre kadar küçük olabilir. Coğrafi sınırlı alan içinde kapalı alan konumunun kullanılabildiğini bilmiyorsanız kablosuz konum doğruluğunun yaklaşık 50 metre olduğunu varsayın.
Kablosuz ağ konumu kullanılamadığında (ör. kırsal alanlarda araç kullanırken) konum doğruluğu düşer. Doğruluk aralığı birkaç yüz metreden birkaç kilometreye kadar değişebilir. Bu gibi durumlarda, daha büyük bir yarıçap kullanarak coğrafi sınırlar oluşturmanız gerekir.
Uygulamanızın neden coğrafi sınırlama kullandığını kullanıcılara açıklayın
Uygulamanız, coğrafi sınırlama kullanırken arka planda konuma eriştiği için kullanıcılara nasıl avantajlar sunduğunu göz önünde bulundurun. Kullanıcıların anlayışını ve şeffaflığı artırmak için uygulamanızın bu erişime neden ihtiyaç duyduğunu onlara net bir şekilde açıklayın.
Coğrafi sınırlama da dahil olmak üzere konum erişimiyle ilgili en iyi uygulamalar hakkında daha fazla bilgi için gizlilikle ilgili en iyi uygulamalar sayfasına bakın.
Uyarı spam'ini azaltmak için bekleme geçişi türünü kullanma
Kısa süreyle bir coğrafi sınırdan geçerken çok sayıda uyarı alıyorsanız uyarı sayısını azaltmanın en iyi yolu
GEOFENCE_TRANSITION_ENTER
yerine
GEOFENCE_TRANSITION_DWELL
geçiş türünü kullanmaktır. Bu şekilde, konaklama uyarısı yalnızca kullanıcı belirli bir süre boyunca coğrafi sınırlı alan içinde durduğunda gönderilir.
Oyalanma gecikmesi ayarlayarak süreyi seçebilirsiniz.
Coğrafi sınırlara yalnızca gerektiğinde yeniden kaydolun
Kayıtlı coğrafi sınırlar, com.google.process.location
paketi tarafından sahip olunan com.google.android.gms
sürecinde tutulur.
Sistem, bu etkinliklerden sonra coğrafi sınırları geri yüklediğinden uygulamanın aşağıdaki etkinlikleri işlemek için herhangi bir işlem yapması gerekmez:
- Google Play Hizmetleri yükseltilir.
- Google Play Hizmetleri, kaynak kısıtlaması nedeniyle sistem tarafından kapatılıp yeniden başlatılıyor.
- Konum işlemi kilitleniyor.
Sistem aşağıdaki durumlarda coğrafi sınırlı alanları kurtaramadığından, aşağıdaki etkinliklerden sonra hâlâ gerekliyse uygulamanın coğrafi sınırlı alanları yeniden kaydetmesi gerekir:
- Cihaz yeniden başlatılır. Uygulama, cihazın başlatma işleminin tamamlanmasını beklemeli ve ardından gerekli coğrafi sınırlara yeniden kaydolmalıdır.
- Uygulama kaldırılıp yeniden yüklenir.
- Uygulamanın verileri temizlenir.
- Google Play Hizmetleri verileri temizlenir.
- Uygulama
GEOFENCE_NOT_AVAILABLE
uyarısı aldı. Bu durum genellikle NLP (Android'in Ağ Konum Sağlayıcısı) devre dışı bırakıldıktan sonra gerçekleşir.
Coğrafi sınıra giriş etkinliğiyle ilgili sorunları giderme
Cihaz bir coğrafi sınıra girdiğinde coğrafi sınırlar tetiklenmiyorsa (
GEOFENCE_TRANSITION_ENTER
uyarısı tetiklenmiyorsa) öncelikle coğrafi sınırlarınızın bu rehberde açıklandığı şekilde doğru kaydedildiğinden emin olun.
Uyarıların beklendiği gibi çalışmamasının olası nedenlerinden bazıları şunlardır:
- Coğrafi sınırlı alanınızda doğru konum kullanılamıyor veya coğrafi sınırlı alanınız çok küçük. Çoğu cihazda coğrafi sınırlama hizmeti, coğrafi sınırlama tetikleme için yalnızca ağ konumunu kullanır. Bu yaklaşım, ağ konumunun çok daha az güç tüketmesi, ayrı konumların alınmasının daha kısa sürmesi ve en önemlisi kapalı alanlarda kullanılabilmesi nedeniyle tercih edilir.
Cihazda kablosuz bağlantı kapalıdır. Kablosuz bağlantının açık olması konum doğruluğunu önemli ölçüde artırabilir. Bu nedenle, kablosuz bağlantı kapalıysa uygulamanız, coğrafi sınırlama yarıçapı, cihaz modeli veya Android sürümü gibi çeşitli ayarlara bağlı olarak coğrafi sınırlama uyarıları almayabilir. Android 4.3 (API düzeyi 18) sürümünden itibaren, kullanıcıların kablosuz bağlantıyı devre dışı bırakmasına rağmen iyi bir ağ konumu elde etmesini sağlayan "yalnızca kablosuz bağlantı tarama modu" özelliğini ekledik. Her ikisi de devre dışı bırakılmışsa kullanıcıya istem göstermek ve yalnızca kablosuz veya kablosuz tarama modunu etkinleştirmesi için kısayol sağlamak iyi bir uygulamadır. Cihazın sistem ayarlarının optimum konum algılama için düzgün şekilde yapılandırıldığından emin olmak üzere SettingsClient'ı kullanın.
Not: Uygulamanız Android 10 (API düzeyi 29) veya daha yeni bir sürümü hedefliyorsa uygulamanız bir sistem uygulaması ya da cihaz politikası denetleyicisi (DPC) olmadığı sürece
WifiManager.setEnabled()
işlevini doğrudan çağıramazsınız. Bunun yerine ayarlar paneli kullanın.- Coğrafi sınırlı alanınızda güvenilir bir ağ bağlantısı yok. Güvenilir bir veri bağlantısı yoksa uyarılar oluşturulmayabilir. Bunun nedeni, coğrafi sınırlama hizmetinin ağ konumu sağlayıcısına bağlı olması ve ağ konumu sağlayıcısının da veri bağlantısı gerektirmesidir.
- Uyarılar gecikebilir. Coğrafi sınırlama hizmeti, konum için sürekli olarak sorgu yapmaz. Bu nedenle, uyarı alırken bir miktar gecikme yaşanabilir. Gecikme genellikle 2 dakikadan kısadır. Cihaz hareket halindeyken bu süre daha da kısalır. Arka Plan Konum Limitleri etkinse gecikme süresi ortalama 2-3 dakikadır. Cihaz uzun bir süre boyunca sabit kaldıysa gecikme süresi artabilir (6 dakikaya kadar).
Ek kaynaklar
Coğrafi sınırlama hakkında daha fazla bilgi edinmek için aşağıdaki materyallere göz atın:
Örnekler
Coğrafi sınırlar oluşturmak ve izlemek için örnek uygulama.