code: public void userCompletedAction(@NonNull final String action, JSONObject
              metadata, BranchViewHandler.IBranchViewEvents callback) {
          ServerRequest req = new ServerRequestActionCompleted(context_, action, metadata, callback);
          if (!req.constructError_ && !req.handleErrors(context_)) {
              handleNewRequest(req);
          }
      }
docs: <p>A void call to indicate that the user has performed a specific action and for that to be
  reported to the Branch API, with additional app-defined meta data to go along with that action.</p>
  
  @param action   A {@link String} value to be passed as an action that the user has carried
  out. For example "registered" or "logged in".
  @param metadata A {@link JSONObject} containing app-defined meta-data to be attached to a
  user action that has just been completed.
  @param callback instance of {@link BranchViewHandler.IBranchViewEvents} to listen Branch view events