将salesforce iPhone本机应用程序中的脱机记录同步到salesforce(使用smartstore)
我使用iOS上的本机Salesforce SDK离线存储数据并与服务器同步。我可以将条目更新到smartstore数据库。当我现在需要同步时,我在SmartStore API中找不到允许我将数据上载到salesforce服务器的方法。您能为我指出如何实现这一目标的正确方向吗?smartstore sdk中没有方法。你应该这样做:将salesforce iPhone本机应用程序中的脱机记录同步到salesforce(使用smartstore),iphone,ios,mobile,salesforce,salesforce-service-cloud,Iphone,Ios,Mobile,Salesforce,Salesforce Service Cloud,我使用iOS上的本机Salesforce SDK离线存储数据并与服务器同步。我可以将条目更新到smartstore数据库。当我现在需要同步时,我在SmartStore API中找不到允许我将数据上载到salesforce服务器的方法。您能为我指出如何实现这一目标的正确方向吗?smartstore sdk中没有方法。你应该这样做: /** * Upload Queue to Salesforce **/ OfflineQueue.UploadQueue = function(callback,
/**
* Upload Queue to Salesforce
**/
OfflineQueue.UploadQueue = function(callback,error) {
console.log("OfflineQueue.UploadQueue");
if(Util.checkConnection()) {
console.log("OfflineQueue.UploadQueue -- app is online");
//DF12 DEMO 23 -- UPLOAD QUEUE TO SFDC
navigator.smartstore.soupExists('Queue',function(param){
if(param)
{
console.log("OfflineQueue.UploadQueue -- Queue exists");
OfflineQueue.LoadRecordsFromQueue(function(records) {
if(records.length==0){
console.log("OfflineQueue.UploadQueue -- no records in queue");
callback();
}
else {
console.log("OfflineQueue.UploadQueue -- iterating records");
for(i in records){
forcetkClient.update('Password__c',records[i].Id,{"Username__c":records[i].Username__c,"Password__c":records[i].Password__c,"Name":records[i].Name,"URL__c":records[i].URL__c},function(){
console.log('QUEUED SFDC Update Success!');
//DF12 DEMO 24 -- ON SUCCESS, REMOVE RECORD FROM QUEUE
navigator.smartstore.removeFromSoup('Queue',[records[i]._soupEntryId],function(){
console.log('Removed from Soup');
if(i == records.length-1) {
callback();
}
},error);
},error);
}
}
},error);
}
else {
console.log("Offline queue doesn't exist yet... must not be any records there...")
callback();
}
},error);
}
else {
console.log("We're offline, can't upload queue... how'd we even get here?")
callback();
}
}
github上有smartsore汤和镊子的完整样本
我正在开发一个插件来包装这个基本流程 smartstore sdk中没有方法。你应该这样做:
/**
* Upload Queue to Salesforce
**/
OfflineQueue.UploadQueue = function(callback,error) {
console.log("OfflineQueue.UploadQueue");
if(Util.checkConnection()) {
console.log("OfflineQueue.UploadQueue -- app is online");
//DF12 DEMO 23 -- UPLOAD QUEUE TO SFDC
navigator.smartstore.soupExists('Queue',function(param){
if(param)
{
console.log("OfflineQueue.UploadQueue -- Queue exists");
OfflineQueue.LoadRecordsFromQueue(function(records) {
if(records.length==0){
console.log("OfflineQueue.UploadQueue -- no records in queue");
callback();
}
else {
console.log("OfflineQueue.UploadQueue -- iterating records");
for(i in records){
forcetkClient.update('Password__c',records[i].Id,{"Username__c":records[i].Username__c,"Password__c":records[i].Password__c,"Name":records[i].Name,"URL__c":records[i].URL__c},function(){
console.log('QUEUED SFDC Update Success!');
//DF12 DEMO 24 -- ON SUCCESS, REMOVE RECORD FROM QUEUE
navigator.smartstore.removeFromSoup('Queue',[records[i]._soupEntryId],function(){
console.log('Removed from Soup');
if(i == records.length-1) {
callback();
}
},error);
},error);
}
}
},error);
}
else {
console.log("Offline queue doesn't exist yet... must not be any records there...")
callback();
}
},error);
}
else {
console.log("We're offline, can't upload queue... how'd we even get here?")
callback();
}
}
github上有smartsore汤和镊子的完整样本
我正在开发一个插件来包装这个基本流程