Wow! Thank you for the detailed response. This makes perfect sense. Thank you for being so thorough in the explanation. I understand well now.
The error was occurring once I established the start of tracking (green crosshair). I would would then place the object (blue crosshair). Then I tried to allow them to then change the location of the crosshair again - at this point it was green but giving me that message.
I think I must have implemented part of it wrong. I will figure it out.
Thank you for the answer! Definitely enough to have me on my way...
You should be able to tell whether you can actually start tracking by the color of the indicator being drawn (if you are using the sample app code). It should change its color (from red to green I believe) once the underlying implementation is ready to proceed.
on these devices we are using the tracking capabilities of the respective operating systems (ARKit/ARCore) by default. The error message you are getting tells me that this is working correctly. What you need to keep in mind is that these are two different implementations under the hood, meaning they have their own peculiarities. In the Android case the error message simply indicates that the underlying algorithm has not yet found enough detail in the environment being scanned to place a tracking anchor. You may need to give the Android device more time to establish an understanding of the environment (moving the device gently to provide different camera angles may help). It's also possible that ARCore simply can't operate properly in the environment you are scanning due to a lack of features, while ARKit can.
If you want to have the exact same tracking on both platforms, you can disable the SMART feature to fall back to the Wikitude algorithms that would otherwise only be used on devices that do not support platform tracking (older devices). It should still work very well, especially on such capable devices, but the overall tracking performance will not be quite the same as ARKit and ARCore.