Hibrit Uygulama Bakış Açısından Geliyor. Bu bir javascript örneğidir, ana menümde Güncelleştirilebilir bir altbilgi var. Bir güncelleme mevcutsa (yani, yapılandırma dosyasındaki sürüm numaram alınan sürümden daha azsa, altbilgiyi görüntüleyin) Bu daha sonra kullanıcıyı uygulama / oyun mağazasına yönlendirecek ve burada kullanıcı daha sonra güncelleme düğmesini tıklayabilir.
Ayrıca neyin yeni verilerini (yani Sürüm Notlarını) alırım ve bu sürümde ilk defa giriş yaptığımda bunları bir modalde görüntülerim.
Cihaza Hazır, mağaza URL'nizi ayarlayın
if (device.platform == 'iOS')
storeURL = 'https:
else
storeURL = 'https:
Güncelleme Kullanılabilir yöntemi istediğiniz sıklıkta çalıştırılabilir. Benimki, kullanıcı ana ekrana her gittiğinde çalıştırılır.
function isUpdateAvailable() {
if (device.platform == 'iOS') {
$.ajax(storeURL, {
type: "GET",
cache: false,
dataType: 'json'
}).done(function (data) {
isUpdateAvailable_iOS(data.results[0]);
}).fail(function (jqXHR, textStatus, errorThrown) {
commsErrorHandler(jqXHR, textStatus, false);
});
} else {
$.ajax(storeURL, {
type: "GET",
cache: false
}).done(function (data) {
isUpdateAvailable_Android(data);
}).fail(function (jqXHR, textStatus, errorThrown) {
commsErrorHandler(jqXHR, textStatus, false);
});
}
}
iOS Geri Çağırma: Apple'ın bir API'si var, bu yüzden edinmesi çok kolay
function isUpdateAvailable_iOS (data) {
var storeVersion = data.version;
var releaseNotes = data.releaseNotes;
var _storeV = parseInt(storeVersion.replace(/\./g, ''));
var _appV = parseInt(appVersion.substring(1).replace(/\./g, ''));
$('#ft-main-menu-btn').off();
if (_storeV > _appV) {
$('#ft-main-menu-btn').text('Update Available');
$('#ft-main-menu-btn').click(function () {
openStore();
});
} else {
$('#ft-main-menu-btn').html(' ');
settings.updateReleaseNotes('v' + storeVersion, releaseNotes);
}
}
Android Geri Çağırma: PlayStore'u kazımanız gerekiyor, çünkü sürümün yakalanması nispeten kolay ve yeni olanı metin yerine html'yi bu şekilde kullanabiliyorum, bu şekilde biçimlendirmelerini (yani yeni satırlar vb.)
function isUpdateAvailable_Android(data) {
var html = $(data);
var storeVersion = html.find('div[itemprop=softwareVersion]').text().trim();
var releaseNotes = html.find('.whatsnew')[0].innerHTML;
var _storeV = parseInt(storeVersion.replace(/\./g, ''));
var _appV = parseInt(appVersion.substring(1).replace(/\./g, ''));
$('#ft-main-menu-btn').off();
if (_storeV > _appV) {
$('#ft-main-menu-btn').text('Update Available');
$('#ft-main-menu-btn').click(function () {
openStore();
});
} else {
$('#ft-main-menu-btn').html(' ');
settings.updateReleaseNotes('v' + storeVersion, releaseNotes);
}
}
Açık mağaza mantığı basittir, ancak eksiksizlik içindir
function openStore() {
var url = 'https://itunes.apple.com/us/app/appname/idUniqueID';
if (device.platform != 'iOS')
url = 'https://play.google.com/store/apps/details?id=appid'
window.open(url, '_system')
}
Play Store ve App Store'un Beyaz Listeye Eklendiğinden emin olun:
<access origin="https://itunes.apple.com"/>
<access origin="https://play.google.com"/>