Yerel uygulama yükleme istemi, kullanıcıların hızlı bir şekilde ve uygulama mağazasını kullanarak yerel uygulamanızı cihazlarına sorunsuz şekilde yükleyebilirsiniz. ve rahatsız edici bir geçiş reklamı göstermeden yalnızca tarayıcıdan
Ölçütler neler?
Yerel uygulama yükleme isteminin kullanıcıya gösterilmesi 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:
short_name
name
(banner isteminde kullanılır)- 192 ve 512 piksel sürümleri dahil
icons
prefer_related_applications
değeri:true
- Uygulamayla ilgili bilgiler içeren
related_applications
nesnesi
- 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.
Gerekli manifest özellikleri
Kullanıcıdan yerel uygulamanızı yüklemesini istemek için iki mülk eklemeniz gerekir
web uygulaması manifest dosyanıza, prefer_related_applications
ve
related_applications
.
"prefer_related_applications": true,
"related_applications": [
{
"platform": "play",
"id": "com.google.samples.apps.iosched"
}
]
prefer_related_applications
prefer_related_applications
özelliği, tarayıcıya
web uygulaması yerine yerel uygulamanızla kullanmanızı sağlar. Bu değeri ayarlamadan bırakırsanız
veya false
değerine ayarlanırsa tarayıcı, kullanıcıdan bunun yerine web uygulamasını yüklemesini ister.
related_applications
related_applications
, şunu belirten nesnelerin listesini içeren bir dizidir:
tercih ettiğiniz yerel uygulamayla ilgili bir e-posta gönderin. Her nesne bir platform
ve bir id
özelliği içermelidir. platform
, play
olduğunda
id
ise Play Store uygulama kimliğinizdir.
Yükleme istemini göster
Yükleme iletişim kutusunu görüntülemek için şunları yapmanız gerekir:
beforeinstallprompt
etkinliğini dinleyin.- Yerel uygulamanızın bir düğme veya başka bir yöntemle yüklenebileceğini kullanıcıya bildirin öğesi oluşturabilirsiniz.
- Kaydedilen
beforeinstallprompt
uygulamasındaprompt()
numarasını çağırarak istemi göster unutmayın.
beforeinstallprompt
için dinle
Ölçütler karşılanırsa Chrome bir beforeinstallprompt
etkinliği tetikler. Uygulamanızın yüklenebileceğini belirtmek için bunu kullanabilir ve ardından
kullanıcının uygulamayı yüklemesine izin verin.
beforeinstallprompt
etkinliği tetiklendiğinde etkinliğe referans olarak 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ükleyebileceğini bildirme
Kullanıcıyı uygulamanın yüklenebileceğini bildirmenin en iyi yolu bir düğme eklemektir eklemeyi deneyin. 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 isteminin gösterilmesi için kayıtlı etkinlikte prompt()
öğesini çağırın
kullanıcı hareketi vardır. Kullanıcının ödeme yapmasını isteyen kalıcı bir iletişim kutusu gösterilir.
eklemek için kullanabilirsiniz.
Ardından, userChoice
mülkü tarafından verilen sözü dinleyin. İlgili içeriği oluşturmak için kullanılan
Protocol, istemden sonra outcome
özelliğine sahip bir nesne döndürür.
ve kullanıcının yanıt verdiğini gösterir.
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ı görünümü kapatırsa
beforeinstallprompt
etkinliği şu tarihte etkinleşene kadar beklemeniz gerekir:
sonraki sayfada gezinme seçeneğidir.
İç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.