Yerel Uygulama Yükleme İstemi

Yerel uygulama yükleme istemi, kullanıcıların yerel uygulamanızı tarayıcıdan çıkmadan ve rahatsız edici bir geçiş reklamı göstermeden doğrudan uygulama mağazasından cihazlarına hızlı ve sorunsuz bir şekilde yüklemelerine olanak tanır.

Ölçütler nelerdir?

Kullanıcıya yerel uygulama yükleme istemini göstermek için sitenizin aşağıdaki ölçütleri karşılaması gerekir:

  • Web uygulaması veya cihazda yüklü olan yerel uygulama.
  • Aşağıdakileri içeren bir Web Uygulama Manifesti içerir:
  • HTTPS üzerinden sunulur.

Bu ölçütleri karşıladığınızda bir beforeinstallprompt etkinliği tetiklenir. Kullanıcıdan yerel uygulamanızı yüklemesini istemek için bu özelliği kullanabilirsiniz.

Zorunlu manifest özellikleri

Kullanıcıdan yerel uygulamanızı yüklemesini istemek için web uygulaması manifest dosyanıza prefer_related_applications ve related_applications olmak üzere iki özellik eklemeniz gerekir.

"prefer_related_applications": true,
"related_applications": [
    {
    "platform": "play",
    "id": "com.google.samples.apps.iosched"
    }
]

prefer_related_applications özelliği, tarayıcıya web uygulaması yerine yerel uygulamanızı kullanarak tarayıcıya istem girmesini bildirir. Bu değeri ayarlamadan (veya false) bırakırsanız tarayıcı kullanıcıdan bunun yerine web uygulamasını yüklemesini ister.

related_applications, tarayıcıya tercih ettiğiniz yerel uygulama hakkında bilgi veren nesnelerin listesini içeren bir dizidir. Her nesne bir platform ve bir id özelliği içermelidir. Burada platform, play değerini, id ise Play Store uygulama kimliğinizi ifade eder.

Yükleme istemini göster

Yükleme iletişim kutusunu görüntülemek için şunları yapmanız gerekir:

  1. beforeinstallprompt etkinliğini dinleyin.
  2. Yerleşik uygulamanızın, kullanıcı hareketi etkinliği oluşturacak bir düğme veya başka bir öğeyle yüklenebileceğini kullanıcıya bildirin.
  3. Kayıtlı beforeinstallprompt etkinliğinde prompt() işlevini çağırarak istemini gösterin.

beforeinstallprompt için dinle

Ölçütler karşılanırsa Chrome bir beforeinstallprompt etkinliği tetikler. Bu düğmeyi kullanarak uygulamanızın yüklenebileceğini belirtebilir ve ardından kullanıcıdan uygulamayı yüklemesini isteyebilirsiniz.

beforeinstallprompt etkinliği tetiklendiğinde etkinliğe referans kaydedin ve kullanıcı arayüzünüzü, kullanıcının uygulamanızı yükleyebileceğini belirtecek şekilde güncelleyin.

let deferredPrompt;

window.addEventListener('beforeinstallprompt', (e) => {
  // Prevent Chrome 67 and earlier from automatically showing the prompt
  e.preventDefault();
  // Stash the event so it can be triggered later.
  deferredPrompt = e;
});

Kullanıcıya uygulamanızın yüklenebileceğini bildirin

Kullanıcıya uygulamanızın yüklenebilir olduğunu bildirmenin en iyi yolu, kullanıcı arayüzünüze bir düğme veya başka bir öğe eklemektir. Tam sayfa geçiş reklamı veya can sıkıcı ya da dikkat dağıtıcı olabilecek başka öğeler göstermeyin.

window.addEventListener('beforeinstallprompt', (e) => {
  // Prevent Chrome 67 and earlier from automatically showing the prompt
  e.preventDefault();
  // Stash the event so it can be triggered later.
  deferredPrompt = e;
  // Update UI notify the user they can add to home screen
  btnAdd.style.display = 'block';
});

İstemi göster

Yükleme istemini göstermek için kullanıcı hareketi içinden kayıtlı etkinlikte prompt() işlevini çağırın. Kullanıcıdan uygulamanızı ana ekranına eklemesini isteyen bir modal iletişim kutusu gösterilir.

Ardından, userChoice mülkü tarafından verilen sözü dinleyin. Sözleşme, istem gösterildikten ve kullanıcı yanıt verdikten sonra outcome mülkü içeren bir nesne döndürür.

btnAdd.addEventListener('click', (e) => {
  // hide our user interface that shows our A2HS button
  btnAdd.style.display = 'none';
  // Show the prompt
  deferredPrompt.prompt();
  // Wait for the user to respond to the prompt
  deferredPrompt.userChoice
    .then((choiceResult) => {
      if (choiceResult.outcome === 'accepted') {
        console.log('User accepted the A2HS prompt');
      } else {
        console.log('User dismissed the A2HS prompt');
      }
      deferredPrompt = null;
    });
});

Ertelenen etkinlikte prompt() işlevini yalnızca bir kez çağırabilirsiniz. Kullanıcı etkinliği kapatırsa sonraki sayfada gezinme sırasında beforeinstallprompt etkinliğinin tetiklenmesini beklemeniz gerekir.

İçerik güvenliği politikasını kullanırken dikkat edilmesi gereken özel noktalar

Sitenizde kısıtlayıcı bir İçerik Güvenliği Politikası varsa Chrome'un uygulamanızla ilişkili simgeyi Play Store'dan indirebilmesi için img-src yönergesine *.googleusercontent.com eklediğinizden emin olun.

Bazı durumlarda *.googleusercontent.com, istenenden daha ayrıntılı olabilir. Uygulama simgesinin URL'sini belirlemek için bir Android cihazda uzaktan hata ayıklama yaparak bu alanı daraltabilirsiniz.