Yes, you should always use the user. prefix to refer to the Profile Script, rather than profile. You could make the script more simple too, based on this example from our Experience League docse.g.
At the moment the options are either to build a Flutter wrapper (there are some examples here of Flutter wrappers that have been built for other Adobe libraries) or to work directly with the APIs where you would develop methods to handle requests & responses
You need to pass your data element to Target as an mbox parameter, which you can do through either the "Add Params to All Requests" or "Add Params to Page Load Request" action (more info here)
This doc gives a good overview of the options for getting data into Target; so it's really a question of whether it's data available client-side that you can pass as parameters or whether it's data that you should send via API
I'd be inclined to agree that it's a bit confusing - 2. is the most clearly incorrect as typically AP activities require a huge amount of data; I would rule out 4. just because the purpose of an MVT is very different from an AP test; 3. is the confusing one!
No there wouldn't be any other way to do it unless you were happy to split Variant B out into separate Android & iOS versions, and the same for Variant C. If you want to show content dynamically within a single experience then your custom code approach would be the way to do it.You could create a pr...
It's definitely possible to use Analytics as the reporting source for XT activities (full list of A4T supported activities here). I'd suggest raising with Customer Care so they can investigate why you're seeing that message