microsoft / BikeSharing360_MobileApps

Beautiful, cross-platform native mobile apps for BikeSharing360.
441 stars 239 forks source link

HockeyApp is required; hangs on signup process. #2

Open kaby76 opened 7 years ago

kaby76 commented 7 years ago

I've built and deployed the BikeSharing.Services.Deploy (nuking and redoing multiple times, as the instructions for the backend were incomplete), then built and deployed BikeSharing.Xamarin-Droid on my phone. When running the Android app, the app crashes immediately with "Java.Lang.IllegalArgumentException: App ID length must be 32 characters." and a look at the call stack indicates the crash on the call "HockeyApp.Android.CrashManager.Register(this, GlobalSettings.HockeyAppAPIKeyForAndroid);"

So, the Requirements should include signing up for a HockeyApp app ID like Bing Maps, like OpenWeatherMap.

After getting through that, debugging the app I have to go through the login/signup screen. After inputting all the fields (except Skype, as I don't know my Skype account ID, and of course, can't find it on any Skype's page, leave it blank), it hangs in the signup, after the page prompting to enter Skype ID. Debugging break in VS 2015 stops in various places, animation, a JNI call, etc.

The output of the app is: referenceTable GDEF length=814 1 referenceTable GSUB length=11364 1 referenceTable GPOS length=47302 1 referenceTable GDEF length=32 1 referenceTable GSUB length=32 1 referenceTable GPOS length=5062 1 referenceTable head length=54 1 referenceTable GDEF length=32 1 referenceTable GSUB length=32 1 referenceTable GPOS length=5062 1 referenceTable head length=54 1 referenceTable head length=54 1

For the backend log, I get this (dots instead of actual email addresses): Update SQL database Succeeded 42 min ago Fri Dec 16 2016 09:38:31 GMT-0500 (Eastern Standard Time) Visual Studio Professional with MSDN .................. CreateDatabase Succeeded 53 min ago Fri Dec 16 2016 09:28:00 GMT-0500 (Eastern Standard Time) Visual Studio Professional with MSDN ........................ CreateDatabase Succeeded 53 min ago Fri Dec 16 2016 09:28:00 GMT-0500 (Eastern Standard Time) Visual Studio Professional with MSDN ........................ CreateDatabase Succeeded 53 min ago Fri Dec 16 2016 09:27:59 GMT-0500 (Eastern Standard Time) Visual Studio Professional with MSDN ........................ CreateDatabase Succeeded 53 min ago Fri Dec 16 2016 09:27:58 GMT-0500 (Eastern Standard Time) Visual Studio Professional with MSDN ........................ UpsertServerFirewallRule Succeeded 54 min ago Fri Dec 16 2016 09:27:25 GMT-0500 (Eastern Standard Time) Visual Studio Professional with MSDN ........................ Validate Succeeded 54 min ago Fri Dec 16 2016 09:26:36 GMT-0500 (Eastern Standard Time) Visual Studio Professional with MSDN ........................ Update resource group Succeeded 54 min ago Fri Dec 16 2016 09:26:34 GMT-0500 (Eastern Standard Time) Visual Studio Professional with MSDN ........................ Update resource group Succeeded 55 min ago Fri Dec 16 2016 09:26:19 GMT-0500 (Eastern Standard Time) Visual Studio Professional with MSDN ........................

Could someone tell me if this config file (at .../BikeSharing360_MobileApps/src/BikeSharing.Clients.Core/GlobalSettings.cs) is correct? I entered dots '.' in place of actual data obtained from https://portal.azure.com just for this post.

    public const string AuthenticationEndpoint = "http://bikesharing-services-profilesafse5d6.........azurewebsites.net/";
    public const string EventsEndpoint = "http://bikesharing-services-eventsafse5d6...........azurewebsites.net/";
    public const string IssuesEndpoint = "http://bikesharing-services-feedbackafse5d6............azurewebsites.net/";
    public const string RidesEndpoint = "http://bikesharing-services-ridesafse5d6.............azurewebsites.net/";
    public const string OpenWeatherMapAPIKey = "c0..................................1";
    public const string HockeyAppAPIKeyForAndroid = "4e..........................................5";
    public const string HockeyAppAPIKeyForiOS = "YOUR_HOCKEY_APP_ID";
    public const string SkypeBotAccount = "skype:YOUR_BOT_ID?chat";
    public const string BingMapsAPIKey = "Ak..............................................A";
    public static string City => "New York City";
    public static int TenantId = 1;
kaby76 commented 7 years ago

My configuration file was correct; the problem was with the back end. If you don't have the back end set up AND populated with mock data, you cannot sign in (nor, it seems, sign up). After deploying the back end (which takes ~1/2 hour), populate the four SQL databases with the mock data using sqlcmd (which takes ~3 hours). (See https://github.com/Microsoft/BikeSharing360_BackendServices/issues/4 and the now updated https://github.com/Microsoft/BikeSharing360_BackendServices/ readme.md). When signing in the app, the user id is any id out of .BikeSharing360_BackendServices/src/sql/prifiles-data.sql, e.g., "scottgu"; the password is any none-blank string. The configuration file for this Xamarin app MUST have the API keys set (e.g., HockeyApp), or the app will not work. The readme.md and/or .../BikeSharing360MobileApps/src/BikeSharing.Clients.Core/GlobalSettings.cs should be updated to reflect values that are mandatory (e.g., "// MANDATORY" in the code).

hiraldesai commented 7 years ago

I think it's just a mistake - you can comment out the line that registers HockeyApp in OnCreate method of MainApplication.cs.

//HockeyApp.Android.CrashManager.Register(this, GlobalSettings.HockeyAppAPIKeyForAndroid);

The iOS version of the app already has this commented out - so it's optional for users to add it.

eiximenis commented 7 years ago

Hi @hiraldesai Probably should be commented too in Android to avoid errors.

I'll update this later! Thanks!