Bu kılavuzda, Google Play Geliştirici API'sini kullanarak Play uygulamanız için bir ürün kataloğunu yönetmeniz gerekir.
Uygulamanızda Google Play'in faturalandırma sistemini kullanarak ürün satmak için gerekenler kullanıma sunmak istediğiniz tüm ürünlerin bulunduğu bir katalog oluşturun. yardımcı olan bir self servis platformdur. Bu işlemi Play Console'dan yapabilir veya Google Play Geliştirici API’sini kullanarak katalog yönetimini otomatikleştirmelidir. Otomasyon, kataloğunuzun her zaman güncel kalmasına yardımcı olur ve geniş kataloglara göre ve manuel koordinasyon uygulamak mümkün değildir. Bu kılavuzda, Play uygulamanız için bir ürün kataloğu oluşturmak ve bu kataloğu yönetmek amacıyla Play Developer API'yi nasıl kullanacağınızı öğreneceksiniz. Ayarları nasıl yapacağınıza ilişkin talimatlar için Hazırlık kılavuzumuzu inceleyin. arka uç entegrasyonunuz için Google Play Geliştirici API'sini kullanın.
Katalog Yönetimi API'leri
Google Play'in özel şablonlarıyla satabileceğiniz farklı ürün türleri hakkında bilgi edinmek için faturalandırma sistemi, okuma Uygulama içi ürün türleri ve katalogla ilgili dikkat edilmesi gereken noktalar hakkında bilgi edinin. Google, Play'de katalog yönetimi için iki ana API seti sunar: aşağıdaki iki ana ürün kategorisine karşılık gelir:
- Tek seferlik ürünler
- Abonelik ürünleri
Tek seferlik ürünler
inappproducts
uç noktası tek seferlik yönetim yapmanıza olanak tanır
arka ucunuzdan
gönderin. Bu işlem, oluşturma, güncelleme ve silme işlemlerini içerir
fiyatları ve stok durumunu yönetmenize olanak tanır.
Tek seferlik ürün satın alma işlemlerinizi nasıl yaptığınıza bağlı olarak,
tüketilebilir ürünler (istenen sayıda satın alınabilir) veya kalıcı
yararlanma hakları (aynı kullanıcı tarafından iki kez yapılamaz). Hangi e-posta adresinin
Tek seferlik ürünlerin tüketilebilir olup olmaması gerekir.
Abonelik ürünleri
monetization.subscriptions
uç noktası, aboneliği yönetmenize yardımcı olur
diğer tüm ürünleri görüntüleyebilirsiniz. Oluşturma, güncelleme, düzenleme ve
ve abonelikleri silebilir ya da bölgesel stok durumunu ve fiyatlarını kontrol edebilirsiniz.
monetization.subscriptions
uç noktasına ek olarak
monetization.subscriptions.basePlans
ve
monetization.subscriptions.basePlans.offers
ile sırasıyla yönetin
aboneliklerin ve tekliflerden bahsedeceğiz.
Toplu yöntemler
inappproducts
ve monetization.subscriptions
uç noktalar, verileri geri almaya veya yönetmeye olanak tanıyan çeşitli toplu yöntemler sunar.
aynı anda 100 varlık oluşturabilirsiniz.
Toplu yöntemler, gecikme toleransı etkinleştirildiğinde daha yüksek değeri destekler. büyük katalog geliştiriciler için özellikle yararlıdır ve katalog oluşturma veya katalog mutabakatı sağlama.
Yayılım gecikmesi ile işleme hızını güncelleme
Ürün oluşturma veya değiştirme isteği tamamlandıktan sonra, değişiklikler
ağ veya arka uç nedeniyle son kullanıcılara cihazlarında hemen görünür
gecikmeleri de ortadan kaldırır.
Varsayılan olarak tüm ürün değiştirme istekleri gecikmeye duyarlıdır. Bunun anlamı şudur:
genellikle arka uç sistemleri aracılığıyla hızlı yayılma için optimize edilirler.
dakikalar içinde son kullanıcı cihazlarına yansıması. Ancak, saatlik bir sınır vardır
emin olun.
Çok sayıda ürün oluşturmanız veya güncellemeniz gereken (örneğin,
büyük katalog oluşturma yöntemini) kullanın,
latencyTolerance
alanı şuna ayarlandı:
PRODUCT_UPDATE_LATENCY_TOLERANCE_LATENCY_TOLERANT
Bu işlem, güncelleme işleme hızını önemli ölçüde artırır. Gecikmeden etkilenmeyen güncellemeler
son kullanıcı cihazlarına dağıtılması 24 saati bulabilir.
Kota yapılandırma
Play Geliştirici'yi kullanırken bilmeniz gereken birkaç kota sınırı vardır. Ürün kataloğunuzu yönetmek için kullanılan API:
- Google Play Developer API'lerinin varsayılan olarak kullanıcı başına 200.000 sorgu sınırı vardır değer. Bu kota sınırı, tüm uç noktalardaki kullanımın toplanması için geçerlidir. API'leri dahil edin.
- Ürün değiştirme uç noktaları da başına 7.200 sorgu sınırı uygular saat. Bu, hem tek seferlik ürünler hem de abonelikler için tek bir sınırdır ve tüm değişiklik isteklerinde (ör. oluşturma, güncelleme, etkinleştirme, sil. Toplu değiştirme yöntemi çağrıları, bu kota için tek bir sorgu olarak sayılır. dahil edilen isteklerin sayısından veya gecikmelerinden bağımsız olarak hassasiyeti.
- Gecikmeye duyarlı değişiklikler de 7.200 değişiklik sınırı vardır. / saat. Toplu yöntemlerde, iç içe yerleştirilmiş her değişiklik isteği sayılır bu kotanın amacına uygun şekilde ayrı ayrı düzenleyebilirsiniz. Bu kotada pratik Yalnızca gecikmeye duyarlı toplu API kullananlar için etkiler 2. kotanın tükenmiş olması gerekir. Aksi takdirde, 2. kotanın koymayın.
Aşağıda, kota kullanımını anlamaya yönelik birkaç açıklayıcı örnek verilmiştir: farklı talepler:
- Bir öğe getirmek için tek bir
get
isteği, kota 1'in 1 jetonunu kullanır ve kota 2 ve 3 için jeton yoktur (yalnızca değişiklik uç noktalarıyla ilgili oldukları için). - 100 adede kadar öğeyi getirmek için toplu
get
isteği de 1 jeton kullanacaktır. kota 1 ve kota 2 ve 3'ten yararlanamaz. - Bir öğe için tek bir
modification
isteği, kota 1'in 1 jetonunu kullanır , kota 2 için 1 jeton. İstek gecikmeye duyarlıysa kota 3'ün 1 jetonunu kullan. C kotası, kota 2 ile aynı sınıra sahip olduğu için Yalnızca tek bir değişiklik kullanan kullanıcılar açısından pratik açısından herhangi bir etkisi yoktur yöntemlerine göz atın. - Gecikmeye dayanıklı 100 öğe için toplu
modification
isteği, 1 öğe tüketir kota 1, kota 2 için 1 jeton. Bu kota kurulumu, kâr marjı elde edersiniz ancak algoritmanız, kotayı doldurur ve bu kotayı aşarsa her ek çağrı için hata mesajı alabilirsiniz. - 100 gecikmeye duyarlı öğe için toplu
modification
isteği tüketilir Kota 1 için 1, kota 2 için 1 ve kota 3 için 100 jeton.
Catalog Management API kullanım önerileri
Bu yönergelere bağlı kalarak, API ile etkileşimlerinizi optimize edebilirsiniz. sorunsuz ve verimli bir katalog yönetimi deneyimi sağladı.
Kullanımınızı izleyin
Yoğun kullanım süreçlerine dikkat etmeniz gerekir. Örneğin, bir proje yöneticisinin katalog yönetimi uç noktalarınızın tüketilme ihtimali artar. kataloğunuzun tamamını oluşturmak için daha fazla kota satın alma durumu API'si gibi diğer uç noktaların üretim genel kullanım sınırına yakın. Kotanızın bitmediğinden emin olmak için kota tüketiminizi API kotalarını aşması gerekir. Kullanımı izlemenin birkaç yolu vardır. Örneğin, Google Cloud API'leri kota kontrol panelini veya şirket içi ya da üçüncü taraf API izleme aracını kullanın.
API kota kullanımını optimize edin
Olası satışlarla karşılaşma olasılığını en aza indirmek için, tüketim oranının optimize edilmesi API hataları. Bunu etkili bir şekilde uygulamak için şunları yapmanızı öneririz:
- Doğru katalog yönetimi stratejisini seçin. API'yi anladıktan sonra doğru stratejiyi seçmeniz gerekir. verimli bir şekilde kullanabilirsiniz.
- Yalnızca değişikliklerinizi yansıtmak için ihtiyacınız olan minimum sayıda telefon araması yapın.
- API'lere gereksiz veya gereksiz değişiklik çağrıları göndermeyin. Bu arka uç kataloğunuzda bir değişiklik günlüğü tutmanızı gerektirebilir.
- Ürün değiştirme sınırı olan 7.200 sorguluk saatlik sınırın altında kalın. ayrı ayrı ve daha çok sayıda ürün ile çalışabilmenizi gerektiren kısa bir sürede gerçekleştirilebilir (örneğin, ilk katalog oluşturma). Bu işlemlerin saatlik sınırı aşmasını bekliyorsanız kullanımı güvenli bir düzeye kadar yavaşlatmak için beklemeler uygulamalıdır. Şu özelliklerden faydalanabilirsiniz: toplu yöntemleri kullanarak daha yüksek işleme hızı sağlar.
- Ölçeklendirme için proaktif şekilde hazırlanın. Uygulamanız büyüdükçe API ve çeşitli uç noktalar kullanımınızın ölçeğini artırın. Google Nasıl yapılacağıyla ilgili ayrıntılar için Play Developer API kotaları belgeleri maksimum kullanıma yaklaştığınızda kotanızı artırabilir.
- Ağır süreçleri stratejik olarak planlayın. Ağır kataloğunuzu planlamaya çalışın kritik kullanım zirve noktalarında daha fazla işlem yapabilirsiniz. Örneğin, en yoğun satış saatlerinizde tüm katalog senkronizasyonunu tamamlayın.
Kota hatası işleme mantığı ekleme
Katalog yönetim mantığınızı ne kadar verimli bir şekilde oluşturursanız oluşturun,
beklenmedik kota sınırlarına karşı dayanıklı olmasını da sağlayabilirsiniz.
entegrasyonunuzun bağımsız modüllerinde kullanılan uç noktalar tarafından paylaşılır. Şunlardan emin olun:
hata işlemenize kota kısıtlama hatalarını dahil edin ve
gerekebilir.
Google Play Developer API'lerine yapılan her çağrı bir yanıt oluşturur.
başarısız olursa, bir hata mesajı gönderilirken
Daha fazla ayrıntı sağlayan HTTP yanıt durum kodu ve bir errors
nesnesi
hakkında daha fazla bilgi edinin.
Örneğin, günlük sınırı aşarsanız bir hatayla karşılaşabilirsiniz.
aşağıdakine benzer:
{
"code" : 403,
"errors" : [ {
"domain" : "usageLimits",
"message" : "Daily Limit Exceeded. The quota will be reset at midnight Pacific Time (PT). You may monitor your quota usage and adjust limits in the API
Console: https://console.developers.google.com/apis/api/androidpublisher.googleapis.com/quotas?project=xxxxxxx",
"reason" : "dailyLimitExceeded",
"extendedHelp" : "https://console.developers.google.com/apis/api/androidpublisher.googleapis.com/quotas?project=xxxxxx"
} ],
}
Katalog yönetimi uygulaması
Geliştiriciler, Google Play Developer API ürünü yayınlama uç noktalarını kullanarak arka uçları ile Google Play arasında senkronize olmalarını sağlamak. Üretme Google Play kataloğunuzun arka ucunuzun kataloğuyla her zaman güncel olduğundan emin olun. en son bilgilerin daha iyi bir kullanıcı deneyimi yaratma konusunda sağladığı avantajlar vardır. Örnek:
- Mevcut tekliflerin tam listesine göz atabilir ve Kendi uygunluk durumunuzu etkilemek ve teklif gösterilmesini sağlamak için teklif ve temel plan etiketleri mantığıyla başlayalım.
- Kullanıcıların bulunduğu farklı fiyat noktalarını ve ürün ayrıntılarını kontrol edebilirsiniz. ve tutarlı olduklarından emin olun.
- Yeni verileri işlerken ürün ayrıntıları arka ucunuzda hem de gecikme ve başarısızlık riskini artırmak zorunda kalmadan kritik kullanıcı akışları sırasında Google Play Geliştirici API'sine ek çağrılar.
Dikkat etmeniz gereken bazı sınırlar ve dikkat edilmesi gereken noktalar vardır göz önünde bulundurmanız gerektiğini unutmayın. Anladığınızda kataloğunuzu nasıl yapılandırmak istediğinizi bildiğinize göre, senkronizasyon stratejinize karar vermelisiniz.
Katalog senkronizasyon stratejileri
Google Play Developer API yayınlama uç noktaları, otomatik olarak kataloğunuzdan yararlanırsınız. Bazı durumlarda, ara sıra güncelleme yaklaşımında, aynı işlemdeki birtakım değişiklikleri göndermelisiniz. Her biri farklı tasarım seçimleri gerektirir. Her senkronizasyon stratejisi bazı kullanım alanlarına diğerlerinden daha iyi uyduğunu ve sizin, duruma göre her ikisini de gerektirir. Bazen bir ekip üyesine yeni bir değişiklikten haberdar olduğunuz anda o ürüne güncelleyin. Örneğin, acil bir ürün güncellemesi işleme (ör. yanlış bir fiyatın en kısa sürede) ayırmanızı sağlar. Bazı durumlarda ise düzenli arka plan senkronizasyonu işlevini kullanarak arka ucunuz ve Play kataloglarınız her zaman tutarlıdır. Bazı yaygın kullanım alanlarını okuyun Bu farklı katalog yönetimini uygulayabileceğiniz stratejileri.
Yerel kataloğunuz değiştikçe güncellemeleri ne zaman göndermelisiniz?
İdeal olarak, güncellemelerin arka ucunuzun performansında herhangi bir değişiklik olmaz ürün kataloğunu kullanabilirsiniz.
Bu tür güncellemeler aşağıdaki durumlarda iyi bir seçenektir:
- Ürünlerinizin her zaman güncel olduğundan emin olmanız gerekir.
- Ürünlerinizde her gün birkaç değişiklik yapmanız gerekir.
- Halihazırda üretimde olan ve satılmakta olan ürünleri güncellemeniz gerekir.
Uygulaması daha kolay olan bu yaklaşım, kataloğunuzu senkronize halde tutmanıza olanak tanır. en düşük tutarsızlık aralığına sahip.
Düzenli güncellemeler ne zaman kullanılır?
Periyodik güncellemeler arka ucunuzdaki ürün sürümüyle eşzamansız olarak çalıştırılır. Aşağıdaki durumlarda iyi bir seçenektir:
- Ürünlerinizin kısa süre içinde güncellendiğinden emin olmanız gerekmez.
- Toplu güncellemeleri veya mutabakat süreçlerini planlamanız gerekir.
- Sahip olduğunuz verileri yönetmek için bir İçerik veya Katalog Yönetim Sisteminiz ve kataloğunuzu sürekli olarak güncelleyen uygulamalar
Büyük kataloglar için gecikmeden etkilenmeyen toplu yöntemler kullanmayı düşünün kullanarak maksimum işleme hızına ulaşabilirsiniz.
Ürün kataloğunuzu oluşturma
Google Play'e yükleyeceğiniz büyük bir kataloğunuz varsa otomatik hale getirmek isteyebilirsiniz. yükleyeceğim. Bu tür zahmetli işlemler en iyi sonucu düzenli bir strateji gecikmeden etkilenmeyen toplu yöntemler de uygulanır.
Tek seferlik ürünler oluşturma
İlk tek seferlik ürün kataloğu oluşturmak için
allowMissing
alanı şu şekilde ayarlanmış inappproducts.batchUpdate
yöntemi:
true
ve latencyTolerance
alanı şuna ayarlandı:
PRODUCT_UPDATE_LATENCY_TOLERANCE_LATENCY_TOLERANT
.
Bu, kota sınırları dahilinde kataloğu oluşturmak için gereken süreyi en aza indirir.
Daha küçük kataloglar için inapp_products.insert
yöntemini kullanabilirsiniz.
Alternatif olarak inappproducts.update
yöntemini de
allowMissing
parametresini kullanın.
Bu yaklaşım, komut dosyanızın mümkün olan
en kısa sürede
durum bilgili olduğundan ve herhangi bir sorun olması durumunda sıfırdan yeniden başlatılabilir.
Abonelik ürünleri oluşturma
İlk büyük abonelik kataloğu oluşturmak için
monetization.subscriptions.batchUpdate
yöntem
allowMissing
alanı true
olarak, latencyTolerance
alanı da
hedef PRODUCT_UPDATE_LATENCY_TOLERANCE_LATENCY_TOLERANT
.
Bu, kota sınırları dahilinde kataloğu oluşturmak için gereken süreyi en aza indirir.
Play Developer API, daha küçük abonelik katalogları için
monetization.subscriptions.create
yöntemini kullanabilirsiniz.
Dilerseniz şurayı da kullanarak abonelik oluşturabilirsiniz:
monetization.subscriptions.update
yöntemini kullanarak
allowMissing
parametresini kullanın.
Önceki yöntemlerin tümü, temel planlarıyla birlikte abonelikler oluşturur
(Subscription nesnesinde sağlanır). Bu temel planlar başlangıçta
etkin değil. Temel planları yönetmek için durumunu belirtmek için
monetization.subscriptions.basePlans
uç noktası,
sunmak için bir temel plan hazırlar.
Ayrıca, monetization.subscriptions.basePlans.offers
uç noktası
teklif oluşturmanızı ve yönetmenizi sağlar.
Ürün güncellemeleri
Aşağıdaki yöntemler, mevcut ürünlerinizde etkili bir şekilde değişiklik yapmanıza olanak tanır. tekliflerinizin son düzenlemelerinize uygun olduğundan emin olun.
Tek seferlik ürünleri güncelleme
Mevcut tek seferlik ürünleri güncellemenize yardımcı olmak için kullanabileceğiniz üç yöntem vardır.
inappproducts.patch
: Yama uç noktası, bir kaynağı kısmen güncellemek için kullanılır. Bu, sizin için istek gövdesinde belirttiğiniz belirli alanları güncelleyebilir. Yama uç nokta genellikle bir şemanın yalnızca birkaç alanını güncellemeniz gerektiğinde kullanılır gösterir.inappproducts.update
: Güncelleme uç noktası, bir kaynağın tamamını güncellemek için kullanılır. Bunun anlamı şudur: istek gövdesindeki kaynak nesnesinin tamamını göndermeniz gerekir. İlgili içeriği oluşturmak için kullanılan güncelleme uç noktası genellikle bir gösterir.allowMissing
parametresitrue
olarak ayarlandığında ve sağlanan ürün kimliği zaten mevcut değil, uç nokta ürünü ekler motive ederler.inappproducts.batchUpdate
: Bu, güncelleme uç noktasının toplu sürümüdür ve aşağıdakileri yapmanıza olanak tanır. tek bir sorguda birden çok ürünle ilgili. BunulatencyTolerance
alanı şuna ayarlandı:PRODUCT_UPDATE_LATENCY_TOLERANCE_LATENCY_TOLERANT
kullanabilirsiniz.
Abonelik ürünlerini güncelle
Mevcut abonelikleri güncellemek için
monetization.subscriptions.patch
yöntemini kullanabilirsiniz. Bu yöntem
aşağıdaki gerekli parametreleri alır:
packageName
: Aboneliğin ait olduğu uygulamanın paket adı.productId
: Aboneliğin benzersiz ürün kimliği.regionsVersion
: Bölge yapılandırma sürümü.
allowMissing
parametresini kullanarak yeni bir abonelik oluşturmuyorsanız
için updateMask
parametresini sağlamanız gerekir. Bu parametre
virgülle ayrılmış listesi oluşturun.
Örneğin, yalnızca bir abonelik ürününün listesini güncellemek istiyorsanız
updateMask
parametresine listings
alanını belirtirsiniz.
Aynı anda birden çok aboneliği güncellemek için monetization.subscriptions.batchUpdate
uygulamasını kullanabilirsiniz.
latencyTolerance
alanı şu değere ayarlı olarak birlikte kullanın:
Daha yüksek seviyeye ulaşmak için PRODUCT_UPDATE_LATENCY_TOLERANCE_LATENCY_TOLERANT
işleme hızı.
Temel planları etkinleştirmek, devre dışı bırakmak, silmek veya aboneleri
En son temel plan fiyat sürümleri monetization.subscriptions.basePlans
uç noktasını kullanır.
Ayrıca temel planlarınızı güncelleyebilirsiniz. değeri
monetization.subscriptions.basePlans.offers.patch
yöntemidir.
Katalog mutabakatı
Google Play kataloğunuzu, arka ucunuzun testi her seferinde katalog yönetim sisteminiz varsa veya katalog yönetim sisteminiz varsa düzenli olarak veri tabanının dışında kalan alanlarla ilgili bilgilerin, Play'deki uygulama yapılandırmanızdaki katalogla senkronize olmuyor. Bunun nedeni, Console'daki acil durum manuel katalog değişiklikleri, hizmet kesintisi olabilir veya en son verilerinizi kaybettiğiniz durumlar olabilir.
Uzun süreli tutarsızlığı önlemek için katalog mutabakatı süreci oluşturabilirsiniz. penceresini kapatın.
Sistem değerlendirmesi farkı
Tutarsızlıkları tespit etmek ve aradaki farkları çözmek için iki sistemden ibarettir. Farklılıkları korumanıza yardımcı olacak bir fark sistemi oluştururken senkronize edilmiş kataloglar:
- Veri modellerini anlama: İlk adım, verileri anlamaktır modellerini daha fazla bilgi edinin. Buna şunlar dâhildir: her bir sistemde depolanan farklı veri türlerini ve bunların nasıl eşleştirildiğini öğreneceksiniz.
- Farklılık kurallarını tanımlama: Veri modellerini anladıktan sonra şunları yapmanız gerekir: ve fark kurallarını tanımlayabilirsiniz. Bu kurallar, bu iki programdaki verilerin karşılaştırılması yer alır. Örneğin, ürün kimliklerinin ve aboneliğin temel özelliklerini ve bununla ilişkili temel planları karşılaştırarak tekliflerdir.
- Farklılık algoritması uygulama: Fark kurallarını tanımladıktan sonra,
fark algoritmasını uygulamanız gerekir. Bu algoritma, verileri otomatik olarak
karşılaştırıp tanımladığınız kurallara göre karşılaştırabilirsiniz. Şunları almak için:
katalog verilerini Google Play'den almak için
inappproducts.list
inappproducts.batchGet
,monetization.subscriptions.list
vemonetization.subscriptions.batchGet
yöntemini kullanabilirsiniz. - Farklılık raporları oluşturma: Fark algoritması bir fark raporu oluşturur. Bu rapor, her iki sistem arasındaki farkları gösterir.
- Farklılıkları uzlaştırma: Fark raporunu oluşturduktan sonra farkları çözmek için kullanır. Bu işlem, İYS'nizdeki verileri güncellemeyi içerebilir veya Geliştirici API'sini kullanarak Google Play tarafında verilerin güncellenmesini de içerebilir. güncelleştirme şeklinize bağlı olarak, katalog yönetimi uç noktalarını daha fazla bilgi edinebilirsiniz. Senkronize olmayan ürünleri uzlaştırmak için güncelleme uç noktalarını şurada açıklandığı gibi kullanın: Ürün güncellemeleri bölümüne gidin.
Ürünün kullanımdan kaldırılması
Google Play Developer API, geliştiricilere şu konularda yardımcı olmak için çeşitli yöntemler sunar:
kullanımdan kaldırması:
inappproducts.delete
ve
inappproducts.batchDelete
tek seferlik ürünler,
monetization.subscriptions.delete
tercih edebilirsiniz. Bir ürünün kullanımdan kaldırılması, çeşitli senaryolarda gerekebilir.
, örneğin:
- Yanlışlıkla oluşturulmuş.
- Bir özelliğin veya hizmetin kullanımdan kaldırılması.
Ürünleri kullanımdan kaldırma sürecini katalog yönetiminize dahil etmenizi öneririz üzerine konuşacağız.
Tek seferlik ürünleri kullanımdan kaldırma
Tek seferlik ürünleri Google Play Geliştirici API'si ile silmek için şunu kullanmanız gerekir:
"the"
inappproducts.delete
veya
inappproducts.batchDelete
yöntemidir.
Abonelik ürünlerini kullanımdan kaldırma
Abonelikleri silmek için
monetization.subscriptions.delete
yöntemidir. En az bir temel plan yapıldıktan sonra abonelikler kaldırılamaz
etkinleştirildi.