code: public void getTags(final MFPPushResponseListener<List<String>> listener) {
      MFPPushUrlBuilder builder = new MFPPushUrlBuilder(applicationId);
      String path = builder.getTagsUrl();
      MFPPushInvoker invoker = MFPPushInvoker.newInstance(appContext, path, Request.GET, clientSecret);
  
      invoker.setResponseListener(new ResponseListener() {
  
        @Override
        public void onSuccess(Response response) {
          logger.info("MFPPush:getTags() - Successfully retreived tags.  The response is: " + response.toString());
          List<String> tagNames = new ArrayList<String>();
          try {
            String responseText = response.getResponseText();
            JSONArray tags = (JSONArray) (new JSONObject(responseText)).get(TAGS);
            Log.d("JSONArray of tags is: ", tags.toString());
            int tagsCnt = tags.length();
            for (int tagsIdx = 0; tagsIdx < tagsCnt; tagsIdx++) {
              Log.d("Adding tag: ", tags.getJSONObject(tagsIdx).toString());
              tagNames.add(tags.getJSONObject(tagsIdx)
              .getString(NAME));
            }
            listener.onSuccess(tagNames);
          } catch (JSONException e) {
            logger.error("MFPPush: getTags() - Error while retrieving tags.  Error is: " + e.getMessage());
            listener.onFailure(new MFPPushException(e));
          }
        }
  
        @Override
        public void onFailure(Response response, Throwable throwable, JSONObject jsonObject) {
          //Error while getting tags.
          logger.error("MFPPush: Error while getting tags");
          listener.onFailure(getException(response,throwable,jsonObject));
        }
      });
      invoker.execute();
    }
docs: Get the list of tags
  
  @param listener Mandatory listener class. When the list of tags are
  successfully retrieved the {@link MFPPushResponseListener}
  .onSuccess method is called with the list of tagNames
  {@link MFPPushResponseListener}.onFailure method is called
  otherwise