One of the essential steps that should be taken to start working with Ubertesters or other mobile testing software is an integration of your app with the SDK. We are trying to make this process smooth and simple for your convenience. Another side that requires attention is flexibility and customization of the provided SDK. Different mobile apps require different solutions. We understand how it is important for our customers to have the SDK that suits their needs. That is why we offer Ubertesters SDK options, which allow you to manage our SDK in different ways.

Ubertesters SDK Options
According to their functions all the Ubertesters SDK options can be divided in two groups:

  • activation mode options, that determine the behavior of Ubertesters widget (with the help of which you call the bug submission screen);
  • locking mode options, that determine the behavior of the Ubertesters app when the build/app is not available in Ubertesters system, the tester is not given an access to it or the session is not started.

Let’s discuss each option in more detail.

Activation mode SDK options

The following three activation mode options determine the behavior of Ubertesters widget:

  1. Widget – when this option is used, the Ubertesters widget (an orange bubble) will be shown, and you will need to click on it to call a bug submission screen to report an issue. It is the easiest way to call the menu, this option is used always to have an Ubertesters menu at hand.

    Are you testing an app with simple interface? This option is for you.

  2. Shake – when this option is used, the widget will not be shown, you will need to shake your phone to call a menu for a bug submission or take a screenshot.

    Are you testing an app with different UI elements and would not like to have an additional element on your screen? Does the widget makes you nervous? Use Shake option and you will not face such a problem.

    Hint! In shake mode first shake will open the Ubertesters menu, second shake will take a screenshot and will open screenshot edit screen.

    See the example for iOS below:

    
    - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
    {
    // Override point for customization after application launch.
    
    [[Ubertesters shared] initializeWithOptions:UbertestersActivationModeWidget];
    return YES;
    }
    
  3. Manual – with this option the Ubertesters widget (an orange bubble) will not be shown, a menu should be called with the help of our API methods. You can specify the conditions under which the Ubertesters menu will be shown.

    If you do not need Ubertesters widget to be shown on your app screen, however would like to call it after some function in your code – use this method. API methods can be used to take a screenshot, to hide or show the widget and Ubertesters menu.

    See the example for iOS:

    - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
    {
    // Override point for customization after application launch.
    [[Ubertesters shared] initializeWithOptions:UbertestersActivationModeManual];
    return YES;
    }

Hint! Make sure to specify the correct name of the option when dealing with different mobile platforms. For example, you should use UbertestersActivationModeManual for iOS and ActivationMode.Manual for Android. Check the options for your platform.

Locking mode SDK options

The following three activation mode options determine the behavior of Ubertesers SDK when the build is not uploaded to our server:

  1. LockingMode.DisableUbertesters – is a default option that will not lock your application if the build is not uploaded on our server, you are not given an access to it or the session is not started, but our SDK will be disabled. You’ll be able to browse your application, however, none of the functions of Ubertesters SDK will work (such as reporting bugs, crashes, time tracking, etc).See the example for Android below:
    import com.ubertesters.common.models.LockingMode;
    import com.ubertesters.sdk.Ubertesters;
    ...
    Ubertesters.initialize(this,
        LockingMode.DisableUbertesters);
  2. LockingMode.LockApplication – Ubertesters SDK locks the app completely if the build is not located on our server, the session is not started or you are not given a permission to access it. The tester will get the lock screen and it will be impossible to navigate through the app.See example for iOS:
    - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
    {
        // Override point for customization after application launch.
        NSLog(@"TRYING TO WAKE UP UBERTESTERS");
        [[Ubertesters shared] initializeWithOptions:UbertestersLockingModeDisableUbertesters];
        return YES;
    }
  3. Default is created to save your time, it combines two options – Widget and LockingModeDisableUbertesters:
    • With the help of Widget option you will see Ubertesters widget which call the bug submission screen.
    • UbertestersLockingModeDisableUbertesters option will disable Ubertesters SDK if your build is not located on our server, you do not have an access to it or the session is not started.

You can use the combination of methods that will work with your app, for example, activation mode Widget and locking mode UbertestersLockingModeDisableUbertesters. This option will not lock your application if the build is not uploaded on our server.

How it looks for Android apps:

import com.ubertesters.common.models.ActivationMode;
import com.ubertesters.common.models.LockingMode;
import com.ubertesters.sdk.Ubertesters;
...
Ubertesters.initialize(this,
    LockingModeDisableUbertesters, ActivationMode.Widget);

    public enum ActivationMode {
        Widget,
        Shake,
        Manually
    }

How it works for iOS (UbertestersLockingModeDisableUbertesters and UbertestersActivationModeShake options are used):

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    // Override point for customization after application launch.
    NSLog(@"TRYING TO WAKE UP UBERTESTERS");
    [[Ubertesters shared] initializeWithOptions:UbertestersLockingModeDisableUbertesters | UbertestersActivationModeShake];
    return YES;
}

The variety of Ubertesters options make our SDK flexible. From one side you are not limited with one option. From another side, you do not need to develop your own custom options and can use the ready-made decisions. Check SDK integration for your platform and choose the options you need!

There are no comments.

Leave a Reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>