Thanks for reaching out!
You do not need the source code to execute tests using Test Recorder or to upload those tests to the Test Cloud. However, there are some limitations you should be aware of:
APKs & IPAs must be provided from the developer. Apps from the app stores are encrypted in a way that Test Recorder is unable to interact with. (In fact, I think even manual UITests can't be written against these apps, but I don't remember for certain.)
For an IPA, Test Recorder requires a valid development provisioning profile and signing identity that can sign the app. This is because Test Recorder will attempt to inject Calabash into the IPA (a requirement for testing); and must be able to resign the app on the local system. Alternatively, you could ask the developer working with the source code to send you a provisioned build that includes & starts Calabash; this setup would allow you to write tests for the app manually and run them if you have a device that is included in the provisioning the app was built with.
Test Recorder is still in preview. As such, bugs & issues may be more common compared to working with the rest of the Test Cloud toolchain. Fixes may also be slower in being pushed out compared to the rest of the tools. However, you can still report Test Recorder issues to the Test Cloud support team for investigation by going to testcloud.xamarin.com and clicking on the "Support" link at the top right hand side of the window
Hope this helps!
I'm not aware of any current plans for Appium C# support, but a request to add that is here: https://testcloud.ideas.aha.io/ideas/XTA-I-143, you can vote for the feature request on that page.
Glad to hear you figured it out!
If you have any suggestions for improving the backdoors guide based on what worked or what was tricky for you; you can submit that feedback by clicking on the I love it! or I have a problem buttons at the top of the guide. This will also open up a textbox to describe your observations in more detail:
According to my tests with https://developer.xamarin.com/samples/monodroid/google-services/SigninQuickstart/; Calabash does not seem to be able to interact with the login screen that is displayed; as you observed it appears to be "invisible" to Calabash.
This is probably because the screen is acting like a system popup, which Calabash is unable to directly interact with. Based on your description of your old method of handling it, it sounds like the key difference was the login was in a browser; which is queryable by Calabash unlike the system popups.
A possible workaround for this issue is that you can use backdoors in Calabash in order to login to your app and/or populate other types of data: https://developer.xamarin.com/guides/testcloud/calabash/working-with/backdoors/
The advantage of this approach is that if it works you should be able to test your app while only changing the test setup, rather than the underlying app (as it's not really optimal to change your workflow just to make a test pass.) However a disadvantage is that you may not be able to as easily test the normal login process.
When you run in the test cloud there are a number of steps taken to ensure the device is in a pristine state both for the integrity of the starting state of your application and also for security purposes. The app is also installed onto the device. That is part of your device time as you have exclusive use of the device while that is happening. Also, if you are contacting a web server it may take longer from the Test Cloud due to geography / internet routing and the possibility that multiple clients can be hitting your server at the same time.
There are techniques that can be used to more quickly get an app into a known testable state to minimize time spent using the apps UI to create that state. See: https://developer.xamarin.com/guides/testcloud/uitest/working-with/backdoors/ or https://developer.xamarin.com/guides/testcloud/calabash/working-with/backdoors/ (depending on which framework you're using.)