code: @SuppressWarnings({"unused", "WeakerAccess"})
      public void pushProfile(final Map<String, Object> profile) {
          if (profile == null || profile.isEmpty())
              return;
  
          postAsyncSafely("profilePush", new Runnable() {
              @Override
              public void run() {
                  _push(profile);
              }
          });
      }
docs: Push a profile update.
  
  @param profile A {@link Map}, with keys as strings, and values as {@link String},
  {@link Integer}, {@link Long}, {@link Boolean}, {@link Float}, {@link Double},
  {@link java.util.Date}, or {@link Character}