Derin bağlantıları destekleme

Navigation 3, 1.2.0 sürümünden itibaren DeepLinkRequest ve DeepLinkMatcher sınıflarını kullanarak uygulamanızdaki hedeflere derin bağlantı oluşturmayı destekler.

Uygulamanızda derin bağlantıları desteklemek için aşağıdaki adımları tamamlayın:

  1. Uygulamanızın hangi URI'leri işleyebileceğini belirtmek için AndroidManifest.xml dosyanızda intent filtreleri tanımlayın.
  2. Gelen istekleri gezinme tuşlarınızla eşlemek için DeepLinkMatcher örnekleri oluşturun.
  3. Etkinliğinizin onCreate veya onNewIntent yönteminde gelen istekleri eşleştirin ve geri yığını buna göre güncelleyin.

DeepLinkRequest oluşturun

DeepLinkRequest, gelen bir derin bağlantıyı temsil eder. Bir DeepLinkUri ve isteğe bağlı RequestExtras ile birlikte intent işlemi veya MIME türü gibi ek bilgiler içerir.

DeepLinkRequest ekstraları sunma

Derin bağlantıyla ilgili ek bilgileri depolamak için RequestExtras sınıfını kullanın. Kitaplık, ekstraları tür güvenli bir şekilde tanımlayıp örneklemek için RequestExtrasKey arayüzünü ve requestExtras DSL'yi sağlar.

Ayrıca kitaplık, iki ek anahtar ve ilişkili yardımcılar sağlar:

  • MimeTypeExtrasKey: Bir MIME türünü String depolamak için kullanılır.
  • ActionExtrasKey (yalnızca Android): Intent kullanıcısının işlemini saklamak için kullanılır String.

Kendi özel ekstralarınızı tanımlamak için RequestExtrasKey arayüzünü türü belirtilmiş bir genel öğeyle uygulayın:

Boş bir örnek oluşturmak için emptyRequestExtras()'ı da kullanabilir veya + (plus) ve - (minus) operatörlerini kullanarak ekstraları birleştirebilirsiniz.

Intent öğesinden DeepLinkRequest oluşturma

Android'de, Intent üzerinden doğrudan DeepLinkRequest oluşturabilirsiniz. Bu şekilde oluşturulduğunda DeepLinkRequest şu şekilde oluşturulur:

DeepLinkMatcher, gelen DeepLinkRequest örneklerini, uygulamanızın geri yığınına eklenebilen gezinme tuşlarıyla eşler. Navigation 3 üç yerleşik eşleştirici sağlar: UriDeepLinkMatcher, kalıba dayalı URI eşleştirme için, StaticKeyDeepLinkMatcher temel bağlantılar için ve BackStackMatcher sentetik geri yığınları oluşturmak için. Kitaplık, yerleşik eşleştiricilerin kapsamadığı kullanım alanları için özel eşleştiricileri de destekler.

Daha fazla bilgi için Create DeepLinkMatchers başlıklı makaleyi inceleyin.

Amaç filtreleri ekleme

Etkinliğinizi başlatmak için derin bağlantıyı etkinleştirmek üzere uygulamanızın AndroidManifest.xml bölümünde eşleşen <intent-filter> öğelerini tanımlamanız gerekir. Daha fazla bilgi için Gelen bağlantılar için amaç filtreleri ekleme başlıklı makaleyi inceleyin.

Gelen isteği eşleştirme

DeepLinkMatcher örneklerinizi oluşturduktan sonra etkinliğinizdeki gelen istekleri eşleştirebilirsiniz.

Gelen bir isteği eşleştirmek için aşağıdaki adımları tamamlayın:

  1. DeepLinkMatcher örneklerinizi oluşturun.
  2. DeepLinkMatcher örneklerinizin tümünü açıkça veya çoklu bağlamalar kullanarak bir araya getirin.
  3. Gelen Intent iletilerden DeepLinkRequestoluşturun.
  4. İsteği tüm eşleştiricilerle eşleştirin ve en iyi eşleşmeyi bulun.
  5. Maç sonucundan geri yığını oluşturun.