Örnek Kimliği verilerini yönetin

Örnek kimlikleri, uygulamanızın bağımsız yüklemelerini tanımlar. Her örnek kimliği belirli bir uygulamaya ve cihaza özel olduğundan Firebase hizmetlerine belirli uygulama örneklerine başvuruda bulunma olanağı sunar. Örneğin, Cloud Messaging hangi cihazlara mesaj gönderileceğini belirlemek için Örnek Kimliklerini kullanır.

Birçok Firebase hizmeti, özelliklerini desteklemek için örnek kimliklerini kullanır:

  • pazar bilgileri alma
  • Crashlytics
  • Cloud Messaging
  • Remote Config

Örnek kimlikleriyle ilişkili uygulama verilerini yönetin

Yüklemeleri tanımlamak için Örnek Kimliklerini kullanan hizmetler de bunları söz konusu cihazla ilgili verileri ilişkilendirmek için bir anahtar olarak kullanır. Örneğin, Crashlytics, cihazda meydana gelen kilitlenmeleri kaydetmek için örnek kimliklerini, Remote Config yapılandırmaları getirmek için bu örnekleri ve Analytics belirli kitleleri izlemek için örnek kimliklerini kullanır.

Örnek Kimlikleriyle ilişkilendirilen veriler genellikle kişisel tanımlayıcı değildir ancak kullanıcılara bunları yönetme seçeneği sunmak yararlı olabilir. Bu amaçla Firebase, Örnek Kimliği ile ilgili veri toplamayı yönetmek için iki yol sunar:

  • Örnek Kimliklerini silin. Örnek kimliğini sunucu veya istemci tarafı API çağrısı ile silebilirsiniz. Örnek kimliğinin silinmesi, kimliğin ve bununla ilişkili tüm verilerin silinmesine neden olur.
  • Kimlik oluşturan hizmetleri devre dışı bırakın. Örnek kimliklerini kullanan çoğu Firebase hizmeti, başlatıldığında cihazda yoksa otomatik olarak yeni bir kimlik oluşturur. Uygulamanızın istenmeyen örnek kimlikleri oluşturmadığından emin olmak için bu hizmetler için otomatik başlatmayı devre dışı bırakın.

Örnek kimliğini silme

Bir Örnek Kimliğinin silinmesi, yukarıda listelenen Firebase hizmetlerinde söz konusu kimlikle ilişkili verilerin de silinmesine neden olur. Bu durum, kimlik silme işlemini kullanıcı verilerini temizlemek için kullanışlı bir araç haline getirir. Ancak aynı zamanda bir uyarı niteliğindedir: Örnek Kimliklerini temel alan birden fazla hizmet kullanıyorsanız bir kimliğin silinmesi verileri tümünden siler.

Örnek Kimliği hizmeti, uygulamanızdaki tüm Örnek Kimliği oluşturma hizmetlerini devre dışı bırakmadığınız sürece birkaç gün içinde yeni bir kimlik oluşturur. Firebase, yeni oluşturulan kimliği yepyeni bir uygulama örneği olarak değerlendirir ve hiçbir şekilde önceki kimlikle ilişkilendirmez.

İstemci API çağrısı içeren bir kimliği silme

Firebase hizmetleri tarafından oluşturulan kimlikleri silmek için Firebase Instance ID API'den uygun yöntemi çağırın:

Swift

InstanceID.instanceID().deleteID { error in
  if let error = error {
    print("Error deleting instance ID: \(error)")
  }
}

Objective-C

[FIRInstanceID instanceID] deleteIDWithHandler:^(NSError *error) {
  if error != nil {
    NSLog(@"Error deleting instance ID: %@", error);
  }
}];

Android

FirebaseInstanceId.deleteInstanceId();

Sunucu API çağrısı içeren bir kimliği silme

Sunucu API çağrıları içeren bir örnek kimliğini silmek için henüz yapmadıysanız Firebase Admin SDK'sını sunucunuza ekleyin.

Eklendikten sonra, seçtiğiniz dildeki Örnek Kimliği silme işlevine çağrı göndererek kimlikleri silin:

Node.js

// An Instance ID sent from a client service SDK
const idToDelete = 'INSTANCE_ID';

admin.instanceId().deleteInstanceId(idToDelete);

Java

// An Instance ID sent from a client service SDK
String idToDelete = "INSTANCE_ID";

FirebaseInstanceId.getInstance().deleteInstanceIdAsync(idToDelete).get();

Python

  from firebase_admin import instance_id

  # An Instance ID sent from a client service SDK
  id_to_delete = 'INSTANCE_ID'

  instance_id.delete_instance_id(id_to_delete)

Go

client, err := app.InstanceId(ctx)
if err != nil {
  log.Fatalln("error initializing client", err)
}

iidToDelete := "INSTANCE_ID"
if err := client.DeleteInstanceId(ctx, iidToDelete); err != nil {
  log.Fatalln("error deleting iid", err)
}

Sunucu API çağrısı içeren bir Örnek Kimliğini sildiğinizde, Firebase hizmetleri ilişkili verileri siler, bu kimlik için yeni veri kabul etmeyi durdurur ve birkaç gün içinde istemci uygulamasına kimliğin silindiğini bildirir. Firebase, istemci uygulamasını bildirene kadar uygulamadaki bazı hizmetlerin işlevselliğinde düşüş yaşanabilir.

Mevcut örnek kimliğini silmek ve Firebase hizmetlerini hemen yeni ve bağımsız bir kimlikle kullanmak istiyorsanız silme işlemini gerçekleştirmek için yukarıdaki Client API'lerden birini kullanın.

Örnek Kimliği oluşturmayı devre dışı bırak

Örnek kimliklerini kullanan hizmetler, halihazırda kimliği olmayan bir uygulamada başlatıldığında otomatik olarak yeni bir kimlik oluşturur. Genellikle bu hizmetler, uygulamanız kullanıma sunulduğunda otomatik olarak ilk kullanıma hazırlanır. Örnek kimliği oluşturmayı devre dışı bırakmak için bu kimlikleri kullanan hizmetlerde otomatik başlatmayı devre dışı bırakmanız gerekir.

Yaygın olarak kullanılan bir yaklaşım, kullanıcılara veri toplamayı etkinleştirme seçeneği sunmaktır: Örnek kimliklerini kullanan hizmetler için otomatik başlatmayı devre dışı bırakma, kullanıcılardan veri toplama izni isteyen bir iletişim kutusu uygulama ve izin aldıktan sonra hizmetleri manuel olarak yeniden etkinleştirme.

Instance-ID kullanan hizmetler için otomatik başlatmanın nasıl devre dışı bırakılacağını ve bunun yerine manuel olarak nasıl başlatılacağını öğrenmek için aşağıdaki kılavuzları okuyun: