Satır içi yüklemeyi kullanımdan kaldırmayla ilgili taşıma ile ilgili SSS

12.06.2018 tarihinden itibaren satır içi yükleme kullanımdan kaldırılmıştır. Daha fazla bilgi için Chromium Blogu yayınımızı okuyun.

Zaman çizelgesi soruları

12.06.2018 tarihinde neler değişecek?

İlk kez 12.06.2018 tarihinde veya bu tarihten sonra yayınlanan uzantılar ve uygulamalar gibi tüm Chrome Web Mağazası öğelerinde satır içi yükleme devre dışı bırakılacaktır. "Devre dışı" seçeneği, satır içi yükleme denemelerinin, kullanıcının yüklemeyi tamamlayabileceği Chrome Web Mağazası'ndaki ayrıntılar sayfasına otomatik olarak yönlendirileceği anlamına gelir. Mağazada bu tarihten önce ilk yayınlanan mevcut öğelerde hiçbir değişiklik olmayacaktır.

12.09.2018 tarihinde neler değişecek?

Devre dışı bırakma işlemi, yayınlanma tarihine bakılmaksızın TÜM öğelere uygulanır. Tüm öğeler için satır içi yükleme girişimlerinin% 100'ü, kullanıcıların yüklemeyi tamamlayabilecekleri Chrome Web Mağazası'na yönlendirilecektir.

12.09.2018'den önce ne yapmam gerekiyor?

Hiçbir şey değiştirmenize gerek yoktur, ancak yükleme akışınızı gözden geçirmenizi ve chrome.webstore.install() çağrısını doğrudan öğenizin Chrome Web Mağazası girişine giden bir gezinmeyle değiştirmenizi öneririz. Bu sayede artık en iyi kullanıcı deneyimini sunduğunu doğrulayabilirsiniz.

Ayrıca yeni Chrome Web Mağazası indirme rozetini sitenizdeki yükleme akışınıza eklemenizi de öneririz.

M71'de (Aralık 2018) neler değişecek?

Chrome, M71'den itibaren chrome.webstore.install() yöntemini desteklemeyecek ve bu yöntemi çağırmak, sitenizde bozuk bir yükleme akışına neden olacak. Bu noktada API'ye yapılan çağrılar, JavaScript TypeError hatası bildirir. Bu tarihten önce API yöntemine yapılan tüm çağrıları kaldırmalısınız.

Satır içi yükleme devre dışı bırakıldıktan sonra

Kurulum akışı nasıl görünecek?

Siteniz chrome.webstore.install() çağırdığında, Chrome artık bir iletişim kutusunu tetiklemez ancak bunun yerine Chrome Web Mağazası'nın ayrıntılar sayfasında (ör. https://chrome.google.com/webstore/detail/EXTENSION_ID) yeni bir ön plan sekmesi açar. Kullanıcı buradan "Yükle"yi tıklayarak standart yükleme işlemini gerçekleştirebilir ve bir iletişim kutusu, kullanıcıdan izinleri okumasını ve uygulamayı yüklemesini ya da iptal etmesini ister. İletişim kutusu kapatıldıktan sonra sekme Chrome Web Mağazası'nda kalır.

Yüklememin başarılı olup olmadığını nasıl anlarım?

chrome.webstore.install() numaralı telefonu çağırdığınızda errorCallback, kullanıcının Chrome Web Mağazası'na yönlendirildiğini belirten bir hata ile tetiklenir. Yüklemenin başarılı olup olmadığını göstermez. Chrome 71'den itibaren chrome.webstore.install() çağrılarının başarısız olacağını ve bu nedenle errorCallback'in hiçbir zaman yürütülmeyeceğini unutmayın.

Bu API olmadan da siteniz, uzantı ile web siteniz arasında iletişim kurarak öğenizin önceden yüklenip yüklenmediğini algılayabilir. Bu işlem, uzantı mesajlaşması ve manifest dosyasındaki externally_connectable özelliği aracılığıyla yapılabilir.

"externally_connectable": {
  "matches": ["https://www.example.com/*"]
}
// JS running on https://example.com
try {
  chrome.runtime.sendMessage('EXTENSION_ID', MESSAGE, function() {
    if (chrome.runtime.lastError) {
      // Extension is not installed.
    }
  });
} catch (e) {
  // Extension is not installed.
}

Aşağıdakini değiştirin:

  • EXTENSION_ID: Uzantınızın kimliği.
  • MESSAGE: Uzantıya gönderilecek mesaj dizesi veya nesne.

Yükleme işleminden sonra bilgi sayfasını nasıl tetikleyebilirim?

chrome.runtime etkinliğini kullanın ve yüklemeden sonra yeni bir sekme açın. Aşağıda, arka plan sayfanızda kullanacağınız bir örnek verilmiştir:

chrome.runtime.onInstalled.addListener(function listener(details) {
  if (details.reason === chrome.runtime.OnInstalledReason.INSTALL) {
    chrome.tabs.create({url: "https://www.example.com/"});
    chrome.runtime.onInstalled.removeListener(listener);
  }
});

Bir istisna alabilir miyim?

Hayır. Bu politika değişikliği, istisnasız olarak Chrome Web Mağazası'ndaki tüm öğeler için geçerlidir.