Unity ile Dinamik Bağlantılar Oluşturma

Firebase Dynamic Links API'si ile kısa veya uzun Dynamic Links oluşturabilirsiniz. API, bağlantı oluşturmak için çeşitli isteğe bağlı parametre yapılarını kullanır. Kısa bağlantılar, daha önce oluşturulmuş uzun bir bağlantıdan da oluşturulabilir. Dynamic Links API'si aşağıdaki gibi bir URL oluşturur:

https://example.page.link/aSDf

Başlamadan önce

Firebase Dynamic Links kullanabilmek için:

  • Unity projenizi kaydedin ve Firebase'i kullanacak şekilde yapılandırın.

    • Unity projeniz zaten Firebase kullanıyorsa Firebase için kaydedilmiş ve yapılandırılmış demektir.

    • Unity projeniz yoksa örnek bir uygulama indirebilirsiniz.

  • Firebase Unity SDK'sını (özellikle FirebaseDynamicLinks.unitypackage) Unity projenize ekleyin.

Firebase'i Unity projenize eklemenin hem Firebase konsolunda hem de açık Unity projenizde görevler içerdiğini unutmayın (örneğin, Firebase yapılandırma dosyalarını konsoldan indirip Unity projenize taşırsınız).

Dynamic Links URI öneki ayarlama

  1. Firebase konsolunda Dynamic Links bölümünü açın.

  2. Henüz yapmadıysanız hizmet şartlarını kabul edin ve Dynamic Links için bir URI öneki ayarlayın.

    Zaten bir Dynamic Links URI önekine sahipseniz bunu not edin. Dynamic Links öğesini programatik olarak oluştururken Dynamic Links URI öneki sağlamanız gerekir.

  3. Önerilen: Derin bağlantılarınızda ve yedek bağlantılarınızda izin verilen URL kalıplarını belirtin. Bu sayede, yetkisiz tarafların alanınızdan kontrol etmediğiniz sitelere yönlendiren Dynamic Links oluşturmasını önlersiniz. Belirli URL kalıplarına izin verme başlıklı makaleyi inceleyin.

Firebase konsolunu kullanma

İster test amacıyla ister pazarlama ekibinizin sosyal medya gönderisi gibi yerlerde kullanılabilecek bir bağlantıyı kolayca oluşturması için tek bir Dynamic Link oluşturmak istiyorsanız en basit yol, Firebase konsolunu ziyaret edip adım adım formu izleyerek manuel olarak oluşturmaktır.

Özel alanlar

goo.gl veya page.link alt alanı yerine kendi alanınızı kullanarak Dynamic Link markanız üzerinde daha fazla kontrol sahibi olabilirsiniz. Projeniz için özel alan adı ayarlamak üzere buradaki talimatları uygulayın.

Firebase Dynamic Links API'yi kullanma

Parametrelerden uzun Dynamic Link oluşturma

Dinamik Bağlantı oluşturmak için DynamicLinkComponents nesnesi oluşturun, ek yapılandırma için isteğe bağlı üyeleri ayarlayın ve ardından bağlantı URL'sini almak için LongDynamicLink özelliğine erişin.

Aşağıdaki en kısa örnek, Android'de com.example.android ve iOS'te com.example.ios uygulamasıyla açılan https://www.example.com/ adresine yönlendiren uzun bir dinamik bağlantı oluşturur:

var components = new Firebase.DynamicLinks.DynamicLinkComponents(
    // The base Link.
    new System.Uri("https://www.example.com/"),
    // The dynamic link URI prefix.
    "https://example.page.link") {
      IOSParameters = new Firebase.DynamicLinks.IOSParameters("com.example.ios"),
      AndroidParameters = new Firebase.DynamicLinks.AndroidParameters(
        "com.example.android.package_name"),
    };
// do something with: components.LongDynamicLink

Shorts videosu oluşturma Dynamic Link

Kısa bir dinamik bağlantı oluşturmak için önceden oluşturulmuş uzun bir bağlantıyı Firebase.DynamicLinks.GetShortLinkAsync iletin veya yukarıdakiyle aynı şekilde DynamicLinkComponents oluşturun.

GetShortLinkAsync, isteğe bağlı olarak PathLength özelliğiyle birlikte ek bir DynamicLinkOptions yapılandırma parametresi alır. Bu sayede bağlantının nasıl oluşturulacağını kontrol edebilirsiniz. Kısa bağlantı oluşturmak için Firebase arka ucuna ağ isteği gönderilmesi gerekir. Bu nedenle GetShortLinkAsync yöntemi eşzamansız olarak yürütülür. GetShortLinkAsync, Task<Firebase.DynamicLinks.ShortDynamicLink> döndürüyor.

Örneğin:

var options = new Firebase.DynamicLinks.DynamicLinkOptions {
  PathLength = DynamicLinkPathLength.Unguessable
};

Firebase.DynamicLinks.DynamicLinks.GetShortLinkAsync(components, options).ContinueWith(task => {
  if (task.IsCanceled) {
    Debug.LogError("GetShortLinkAsync was canceled.");
    return;
  }
  if (task.IsFaulted) {
    Debug.LogError("GetShortLinkAsync encountered an error: " + task.Exception);
    return;
  }

  // Short Link has been created.
  Firebase.DynamicLinks.ShortDynamicLink link = task.Result;
  Debug.LogFormat("Generated short link {0}", link.Url);

  var warnings = new System.Collections.Generic.List<string>(link.Warnings);
  if (warnings.Count > 0) {
    // Debug logging for warnings generating the short link.
  }
});

Yukarıdaki örnekte, görev tamamlandığında tetiklenen bir lambda ifadesi kullanılmaktadır.