हाइब्रिड एप्लिकेशन POV से आ रहा है। यह एक जावास्क्रिप्ट उदाहरण है, मेरे पास मेरे मुख्य मेनू पर एक अद्यतन उपलब्ध पाद लेख है। यदि कोई अपडेट उपलब्ध है (यानी, कॉन्फ़िगर फ़ाइल के भीतर मेरा संस्करण संख्या पुनर्प्राप्त संस्करण से कम है, तो पाद प्रदर्शित करें) यह तब उपयोगकर्ता को ऐप / प्ले स्टोर पर निर्देशित करेगा, जहां उपयोगकर्ता फिर अपडेट बटन पर क्लिक कर सकता है।
मुझे व्हाट्स न्यू डेटा भी मिलता है (यानी नोट्स जारी करें) और इसे लॉगिन पर एक मोडल में प्रदर्शित करें यदि इस संस्करण पर पहली बार।
डिवाइस रेडी पर, अपना स्टोर URL सेट करें
if (device.platform == 'iOS')
storeURL = 'https:
else
storeURL = 'https:
अद्यतन उपलब्ध पद्धति को जितनी बार चाहें उतनी बार चलाया जा सकता है। हर बार जब उपयोगकर्ता होम स्क्रीन पर नेविगेट करता है तो मेरा भाग जाता है।
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 कॉलबैक: ऐप्पल के पास एक एपीआई है, इसलिए इसे प्राप्त करना बहुत आसान है
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);
}
}
एंड्रॉइड कॉलबैक: PlayStore आपको परिमार्जन करना होगा, जैसा कि आप देख सकते हैं कि संस्करण को हड़पना अपेक्षाकृत आसान है और व्हाट्स न्यू मैं टेक्स्ट की जगह html ले लेता हूं क्योंकि इस तरह से मैं उनके फॉर्मेटिंग (नई लाइनें आदि) का उपयोग कर सकता हूं
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);
}
}
खुले स्टोर तर्क सीधे आगे है, लेकिन पूर्णता के लिए
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')
}
सुनिश्चित करें कि प्ले स्टोर और ऐप स्टोर को सफेद कर दिया गया है:
<access origin="https://itunes.apple.com"/>
<access origin="https://play.google.com"/>