I have a callback link to take me into a S123 survey, then after submission, edit point data with a static value in Field Maps. I've used this link for a couple of years now, and after the latest update to Field Maps it no longer works offline. iOS and Android both seem to have the issue. If I limit the callback to callback=https://fieldmaps.arcgis.app it calls back fine. But the link is to update a field when it gets back into FieldMaps, so I cannot truncate it as a fix. I've attached the Arcade code creating the link below:
var urlsource ="arcgis-survey123://?itemID=8fe4bc322fbe4739bde78ffa3b11ec25&"
//Format globalid to "link" survey point to map data
var fglobalid = Mid($feature.globalid, 1,36)
//Generate other url parameters to pass to survey123
var params = {
"field:eS": $feature.eS,
"field:lS": $feature.lS,
"field:unit": $feature.Unit,
"field:GUID": $feature.GlobalID,
"field:projArea": $feature.Project,
"field:GPSID": $feature.GPSID,
"field:FeatureType": "Point",
};
// Create callback portion of link using itemID (map ID) and featureSourceURL (services link to the layer containing the feature to be edited following survey submission)
// EDIT THIS LINK FOR LNF MAP AND LNF POINT FEATURE CLASS
var callback = {
callback:"https://fieldmaps.arcgis.app/?referenceContext=updateFeature&itemID=54b22235ab524b6f93af047388b38503&featureSourceURL=https://services1.arcgis.com/gGHDlz6USftL5Pau/arcgis/rest/services/LNF_wildlifeSurveyPoints/FeatureServer/0",
}
// // Add featureID (must be var fglobalid) portion of callback link
var callbackid = "featureID=" + fglobalid
// Add featureAttributes portion of link.
var callbackattribute = 'featureAttributes={"eS":"E"}'
// The below is a conditional version of the above, which will vary based on month and day. Outside the goshawk season, this link will
// not update anything. For testing dates must be changed, or testing must be performed within the survey window
// iif(dat >= '6-01' && dat <= '6-30', 'featureAttributes={"eS":"E"}', iif(dat >= '7-01' && dat <= '8-15', 'featureAttributes={"lS":"L"}', ''))
// Return the entire link/URL. This is what the FieldMaps app is following when you click the link to enter survey data
return urlsource + UrlEncode(params) + "&" + UrlEncode(callback) + "%26" + UrlEncode(callbackid) + "%26" + UrlEncode(callbackattribute)
In Android, the message given when it tries to get back into Field Maps is:
Unable to resolve host "arcgis.com": No address associated with hostname
iOS simply says 'The internet connection appears to be offline.'
I have tried a few workarounds, such as turning off cell service for Field Maps and S123, and all my testing was done using Airplane mode to simulate no service conditions. I tried using arcgis-fieldmaps:// to begin the callback link, thinking it would force the app to look locally, with no change in behavior.
Is this a bug in the newest version of FieldMaps? Or do I need to restructure my link because of a change?
I also have a link from S123 to FM, inserting values from a survey into a layer in Field Maps which is displaying the same behavior. Everything works perfectly as long as I'm online. Unfortunately, most of my field work is done outside of cell service. Any assistance is appreciated.