Handling UseCases

1. How to open bottomsheet on top of SDK UI?

val iResponseListener = object : IResponseListener {
    override fun onResponse(
        resultStatus: ResultStatus,
        resultBundle: ResultBundle?,
        activity: AppCompatActivity?,
        tokenExpiredListener: ITokenExpiredListener?
    ) }
 private IResponseListener iResponseListener = new IResponseListener()
    {
        @Override
        public void onResponse(@NonNull ResultStatus resultStatus, @Nullable ResultBundle resultBundle,
                               @Nullable AppCompatActivity activity, @Nullable ITokenExpiredListener tokenExpiredListener) {
            Toast.makeText(MainActivity.this or context , "EventListener-Media Play", Toast.LENGTH_SHORT).show();
        }

    };

To open bottomsheet on top of SDK UI, you can use activity in IResponseListener

val bottomSheetDialog = BottomSheetDialog(activity)
...
bottomSheetDialog.show()

2. How to close SDK UI?

val iResponseListener = object : IResponseListener {
    override fun onResponse(
        resultStatus: ResultStatus,
        resultBundle: ResultBundle?,
        activity: AppCompatActivity?,
        tokenExpiredListener: ITokenExpiredListener?
    ) }
 private IResponseListener iResponseListener = new IResponseListener()
    {
        @Override
        public void onResponse(@NonNull ResultStatus resultStatus, @Nullable ResultBundle resultBundle,
                               @Nullable AppCompatActivity activity, @Nullable ITokenExpiredListener tokenExpiredListener) {
            Toast.makeText(MainActivity.this or context , "EventListener-Media Play", Toast.LENGTH_SHORT).show();
        }

    };

To close SDK UI, use following code snippet:

if (activity != null) (activity as GamizeSdkHomeActivity).completed()

3. How to handle token expiry?

To handle token expiry use tokenExpiredListener in IResponseListener

Option1 :

This will cancel the current request. You can generate new token, reintialize gamize sdk with new token and initate new request

tokenExpiredListener?.cancelRequest()
tokenExpiredListener.cancelRequest()

Option2 :

This option will retry the current request with new token passed. You need to reinitalize gamize sdk with new token.

tokenExpiredListener?.retryRequest(new_token_value).
tokenExpiredListener.retryRequest(new_token_value).

4. How to notify gamize sdk if user changes the language in client app?

If user changes the language in client app then gamize sdk needs to be reintialised with new locale.

5. How to handle usecase of user logging out and login as different user?

If user logs out and login as different user then gamize sdk needs to be reintialised with new used id.

Copyright

©2022 OnMobile Global Limited All Rights Reserved.