Trimble Connect User Forum

 View Only
Expand all | Collapse all

Trimble Login Intent not working

  • 1.  Trimble Login Intent not working

    Posted 12-21-2017 07:23

    Hi,

     

    I've recently integrated the Catalyst Facade for Java into our existing Android app. However on the release version of the app I am unable to login to the Trimble Mobile Manager. The intent returns with result code 0, aka Activity.RESULT_CANCELED.

     

    I was told on Friday 15 Dec that the registration process was complete, and I was given my app guid, but it doesn't seem to be working. Is there some way of confirming that my app is correctly registered? My communication so far has been through tpsdk-catalyst-ug@trimble.com.

     

    If it is not a registration problem I am wondering what I am doing wrong. I have inluded a as simple as possible app to show the problem i'm having, as well as the source code (without the guid).

     

    So I have three questions.

     

    1. Is there some way of confirming that my app registration is active?

    2. Is there some way of getting a more detailed error back from the login intent than just RESULT_CANCELED?

    3. Am I making some obvious mistake?

     

    I've attached a signed apk of my sample app and the source code for the activity, minus my guid.

    https://drive.google.com/open?id=18gr1nvwSDwbnPbE2Cn7OZHaAKpKd943L

     

    Thanks,

     

    Jack



  • 2.  Re: Trimble Login Intent not working

    Posted 01-04-2018 02:18

    This problem was solved via an email thread to tpsdk-catalyst-ug@trimble.com - but for completeness:

     

    The intent as shown in either the Java or Xamarin Facade sample apps works. The Java sample app call looks similar to this:

    Intent loginIntent = new Intent("com.trimble.tmm.LOGIN");
    loginIntent.putExtra("applicationID", GUID);
    try {
        startActivityForResult(loginIntent, REQUEST_LOGIN);
    } catch (ActivityNotFoundException e) {
        //do something
    }

    where the GUID was provided by Trimble during product registration. 

    So during product the application developer provides the package name of his application plus public SHA signing key; in return he gets a GUID which is unique for his application. This triplet is further on used for finger printing.  

     

    If an application is build in debug mode TMM and TPSDK for Catalyst do not fingerprint the application. In this case only the application GUID must be known (aka registered) to Trimble. The GUID is used to look up the product and create a subscription. 

     

    If an application is build in release mode TMM and TPSDK for Catalyst perform a fingerprint consisting of GUID, package name and public SHA signing key.

    All three values are part of the subscription payload; if any of those don't match the database record (created during product registration) the authentication will fail. 

     

    More details can be found in the documentation

     

    In the given case the package name was inconsistent - therefore the login failed.

     

    The best way to trace this problem (or similar ones) is via the TMM log mechanism. TMMs Developer Gateway allows to enable detailed logs - which show the package name mismatch. More infos on how to enable this can be found in the corresponding developer documentation for TMM.