Android Uygulama Bağlantıları Ekleyin

Android Uygulama Bağlantıları, kullanıcıları doğrudan Android uygulamanızdaki belirli içeriklere yönlendiren HTTP URL'leridir. Android Uygulama Bağlantıları, uygulamanıza daha fazla trafik çekebilir, en çok kullanılan uygulama içeriğini keşfetmenize yardımcı olabilir ve kullanıcıların yüklü bir uygulamadaki içeriği bulup paylaşmasını kolaylaştırabilir.

Android uygulama bağlantıları desteği eklemek için:

  1. Manifestinizde amaç filtreleri oluşturun.
  2. Gelen bağlantıları işlemek için uygulamanızın etkinliklerine kod ekleyin.
  3. Uygulamanızı ve web sitenizi Digital Asset Links ile ilişkilendirin.

Android Studio'daki App Links Assistant, aşağıdaki adımları uygulayarak süreci basitleştirir.

Uygulama bağlantılarının işleyiş şekli ve sunduğu avantajlar hakkında daha fazla bilgi için Android App Links'i kullanma başlıklı makaleyi okuyun.

Niyet filtreleri ekleme

Android Studio'daki App Links Assistant, manifestinizde intent filtreleri oluşturmanıza ve web sitenizdeki mevcut URL'leri uygulamanızdaki etkinliklerle eşlemenize yardımcı olabilir. App Links Assistant, intent'i işlemek için ilgili her etkinliğe şablon kodu da ekler.

Amaç filtreleri ve URL işleme eklemek için aşağıdaki adımları uygulayın:

  1. Tools > App Links Assistant'ı (Araçlar > App Links Assistant) seçin.
  2. URL Eşleme Düzenleyiciyi Aç'ı ve ardından URL Eşleme listesinin alt kısmındaki Ekle'yi tıklayarak yeni bir URL eşlemesi ekleyin.
  3. Yeni URL eşlemesiyle ilgili ayrıntıları ekleyin:

    App Links Assistant, temel URL eşleme konusunda size yol gösterir.

    Şekil 1. URL'leri uygulamanızdaki etkinliklerle eşlemek için sitenizin bağlantı yapısıyla ilgili temel ayrıntıları ekleyin.

    1. Web sitenizin URL'sini Ana makine alanına girin.
    2. Haritalandırmak istediğiniz URL'ler için path, pathPrefix veya pathPattern ekleyin.

      Örneğin, tüm tariflerin aynı etkinlikte bulunduğu bir tarif paylaşım uygulamanız varsa ve ilgili web sitenizdeki tariflerin tümü aynı /recipe dizinindeyse pathPrefix'i kullanın ve /recipe girin. Bu şekilde, URL http://www.recipe-app.com/recipe/grilled-potato-salad, sonraki adımda seçeceğiniz etkinlikle eşlenir.

    3. URL'lerin kullanıcıları yönlendirmesi gereken Etkinliği seçin.
    4. Tamam'ı tıklayın.

    URL Eşleme Düzenleyicisi penceresi görünür. Uygulama Bağlantıları Asistanı, URL eşlemenize göre AndroidManifest.xml dosyasına intent filtreleri ekler ve değişiklikleri Önizleme alanında vurgular. Değişiklik yapmak istiyorsanız intent filtresini düzenlemek için Open AndroidManifest.xml'i tıklayın. Daha fazla bilgi için Gelen bağlantılar için amaç filtreleri başlıklı makaleyi inceleyin.

    Ana App Links Assistant araç penceresi, AndroidManifest.xml dosyasındaki tüm mevcut derin bağlantıları da gösterir ve Tüm Manifesto Sorunlarını Düzelt'i tıklayarak hatalı yapılandırmaları hızlıca düzeltmenize olanak tanır.

    App Links Assistant, manifest yapılandırma hatalarını düzeltmenize olanak tanır.

    Not: Uygulamanızı güncellemeden gelecekteki bağlantıları desteklemek için eklemeyi planladığınız URL'leri destekleyen bir URL eşlemesi tanımlayın. Ayrıca, arama sonuçlarına dahil edilmesi için uygulamanızın ana ekranının URL'sini de ekleyin.

  4. URL eşlemenizin düzgün çalıştığını doğrulamak için URL Eşlemesini Kontrol Et alanına bir URL girin.

    Doğru çalışıyorsa başarı mesajı, girdiğiniz URL'nin seçtiğiniz etkinlikle eşlendiğini gösterir.

Gelen bağlantıları işleme

URL eşlemenizin doğru şekilde çalıştığını doğruladıktan sonra oluşturduğunuz amaca yönelik mantık ekleyin:

  1. App Links Assistant'ta Etkinlik Seç'i tıklayın.
  2. Listeden bir etkinlik seçip Kodu Ekle'yi tıklayın.

Uygulama Bağlantıları Asistanı, etkinliğinize aşağıdaki gibi bir kod ekler:

Kotlin

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    ...
    // ATTENTION: This was auto-generated to handle app links.
    val appLinkIntent: Intent = intent
    val appLinkAction: String? = appLinkIntent.action
    val appLinkData: Uri? = appLinkIntent.data
    ...
}

Java

@Override
void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    ...
    // ATTENTION: This was auto-generated to handle app links.
    Intent appLinkIntent = getIntent();
    String appLinkAction = appLinkIntent.getAction();
    Uri appLinkData = appLinkIntent.getData();
    ...
}

Bu kod kendi başına tamamlanamaz. Artık appLinkData içindeki URI'ye göre bir işlem yapmanız gerekir (ör. ilgili içeriği gösterme). Örneğin, yemek tarifi paylaşma uygulaması için kodunuz aşağıdaki örnek gibi görünebilir:

Kotlin

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    ...
    handleIntent(intent)
}

override fun onNewIntent(intent: Intent) {
    super.onNewIntent(intent)
    handleIntent(intent)
}

private fun handleIntent(intent: Intent) {
    val appLinkAction = intent.action
    val appLinkData: Uri? = intent.data
    if (Intent.ACTION_VIEW == appLinkAction) {
        appLinkData?.lastPathSegment?.also { recipeId ->
            Uri.parse("content://com.recipe_app/recipe/")
                    .buildUpon()
                    .appendPath(recipeId)
                    .build().also { appData ->
                        showRecipe(appData)
                    }
        }
    }
}

Java

protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  ...
  handleIntent(getIntent());
}

protected void onNewIntent(Intent intent) {
  super.onNewIntent(intent);
  handleIntent(intent);
}

private void handleIntent(Intent intent) {
    String appLinkAction = intent.getAction();
    Uri appLinkData = intent.getData();
    if (Intent.ACTION_VIEW.equals(appLinkAction) && appLinkData != null){
        String recipeId = appLinkData.getLastPathSegment();
        Uri appData = Uri.parse("content://com.recipe_app/recipe/").buildUpon()
            .appendPath(recipeId).build();
        showRecipe(appData);
    }
}

Uygulamanızı web sitenizle ilişkilendirme

Uygulamanız için URL desteğini ayarladıktan sonra App Links Assistant, web sitenizi uygulamanızla ilişkilendirmek için kullanabileceğiniz bir Digital Asset Links dosyası oluşturur.

Digital Asset Links dosyasını kullanmak yerine sitenizi ve uygulamanızı Search Console'da ilişkilendirebilirsiniz.

Uygulamanız için Play Uygulama İmzalama'yı kullanıyorsanız Uygulama Bağlantıları Asistanı tarafından oluşturulan sertifika parmak izi genellikle kullanıcıların cihazlarındakiyle eşleşmez. Bu durumda, uygulamanız için doğru Digital Asset Links JSON snippet'ini Play Console geliştirici hesabınızdaki Release > Setup > App signing bölümünde bulabilirsiniz.

App Links Assistant'ı kullanarak uygulamanızı ve web sitenizi ilişkilendirmek için App Links Assistant'ta Open Digital Asset Links File Generator'ı tıklayın ve şu adımları uygulayın:

App Links Assistant, temel URL eşleme konusunda size yol gösterir.

Şekil 2. Digital Asset Links dosyası oluşturmak için siteniz ve uygulamanızla ilgili ayrıntıları girin.

  1. Site alanınızı ve Uygulama kimliğinizi girin.
  2. One Tap ile oturum açma için Digital Asset Links dosyanıza destek eklemek üzere Uygulama ile web sitesi arasında kimlik bilgilerinin paylaşımını destekle'yi seçin ve sitenizin oturum açma URL'sini girin.Bu işlem, uygulamanız ile web sitenizin oturum açma kimlik bilgilerini paylaştığını belirten aşağıdaki dizeyi Digital Asset Links dosyanıza ekler:delegate_permission/common.get_login_creds.

  3. İmza yapılandırmasını belirtin veya anahtar deposu dosyası seçin.

    Uygulamanızın yayınlanan derlemesi için doğru yayın yapılandırmasını veya anahtar deposu dosyasını, hata ayıklama derlemesi için ise hata ayıklama yapılandırmasını veya anahtar deposu dosyasını seçtiğinizden emin olun. Üretim derlemenizi ayarlamak istiyorsanız yayın yapılandırmasını kullanın. Derlemenizi test etmek istiyorsanız hata ayıklama yapılandırmasını kullanın.

  4. Digital Asset Links dosyası oluştur'u tıklayın.
  5. Android Studio dosyayı oluşturduktan sonra indirmek için Dosyayı kaydet'i tıklayın.
  6. assetlinks.json dosyasını sitenize yükleyin. Dosyaya herkesin okuma erişimi olmalıdır. Dosyanın yolu https://yoursite/.well-known/assetlinks.json olmalıdır.

    Önemli: Sistem, Digital Asset Links dosyasını şifrelenmiş HTTPS protokolü üzerinden doğrular. Uygulamanızın intent filtresi https içerip içermediğine bakılmaksızın, assetlinks.json dosyasına HTTPS bağlantısı üzerinden erişilebildiğinden emin olun.

  7. Doğru Digital Asset Links dosyasını doğru konuma yüklediğinizi onaylamak için Bağla ve Doğrula'yı tıklayın.

App Link Assistant, web sitenizde yayınlanması gereken Digital Asset Links dosyasını doğrulayabilir. Asistan, manifesto dosyasında belirtilen her alan adı için web sitenizdeki dosyayı ayrıştırır, doğrulama kontrolleri gerçekleştirir ve hataları düzeltme konusunda ayrıntılı bir açıklama sunar.

Web sitesi ilişkilendirmelerini tanımlama başlıklı makalede, Digital Asset Links dosyası aracılığıyla web sitenizi uygulamanızla ilişkilendirme hakkında daha fazla bilgi edinin.

Android App Links'inizi test etme

Bağlantılarınızın doğru etkinliği açtığını doğrulamak için aşağıdaki adımları uygulayın:

  1. App Links Assistant'ta Test App Links'i (Uygulama Bağlantılarını Test Et) tıklayın.
  2. Test etmek istediğiniz URL'yi URL alanına girin. Örneğin, http://recipe-app.com/recipe/grilled-potato-salad.
  3. Şekil 3. Test edilen URL'yi ve başarı mesajını gösteren Test App Links iletişim kutusu.

  4. Testi Çalıştır'ı tıklayın.

URL eşleme düzgün şekilde ayarlanmamışsa veya mevcut değilse Test App Links (Uygulama Bağlantılarını Test Et) iletişim kutusundaki URL'nin altında bir hata mesajı gösterilir. Aksi takdirde, Android Studio, uygulamayı belirtilen etkinlikte cihazda veya emülatörde başlatır. Bu sırada, belirsizliği giderme iletişim kutusunu ("uygulama seçici") göstermez ve Şekil 3'te gösterildiği gibi Uygulama Bağlantısı Testi iletişim kutusunda başarı mesajı gösterir.

Android Studio uygulamayı başlatamazsa Android Studio'nun Run (Çalıştır) penceresinde bir hata mesajı gösterilir.

Uygulama Bağlantıları Asistanı aracılığıyla Android uygulama bağlantılarını test etmek için bağlı bir cihazınızın veya Android 6.0 (API düzeyi 23) ya da sonraki sürümlerin yüklü olduğu bir sanal cihazınızın olması gerekir. Daha fazla bilgi için cihaz bağlama veya AVD oluşturma hakkında bilgi edinin.