handleCallback method

  1. @override
dynamic handleCallback(
  1. AffiseApiMethod api,
  2. dynamic callback,
  3. dynamic data,
  4. String? tag,
)
override

Implementation

@override
dynamic handleCallback(
  AffiseApiMethod api,
  dynamic callback,
  dynamic data,
  String? tag,
) {
  if (callback == null) return;
  switch (api) {
    case AffiseApiMethod.SEND_EVENT_NOW:
      switch (tag) {
        case DataName.SUCCESS:
          tryCast<OnSendSuccessCallback>(callback)?.call();
          break;
        case DataName.FAILED:
          tryCast<OnSendFailedCallback>(callback)
              ?.call(DebugUtils.toResponse(from: data));
          break;
      }
      break;
    case AffiseApiMethod.ON_INIT_SUCCESS_HANDLER:
      tryCast<OnInitSuccessHandler>(callback)?.call();
      removeApiCallback(api);
      break;
    case AffiseApiMethod.ON_INIT_ERROR_HANDLER:
      tryCast<OnInitErrorHandler>(callback)
          ?.call(DataMapper.toNonNullString(from: data));
      removeApiCallback(api);
      break;
    case AffiseApiMethod.GET_REFERRER_URL_CALLBACK:
      tryCast<ReferrerCallback>(callback)
          ?.call(DataMapper.toNonNullString(from: data));
      break;
    case AffiseApiMethod.GET_REFERRER_URL_VALUE_CALLBACK:
      tryCast<ReferrerCallback>(callback)
          ?.call(DataMapper.toNonNullString(from: data));
      break;
    case AffiseApiMethod.GET_DEFERRED_DEEPLINK_CALLBACK:
      tryCast<ReferrerCallback>(callback)
          ?.call(DataMapper.toNonNullString(from: data));
      break;
    case AffiseApiMethod.GET_DEFERRED_DEEPLINK_VALUE_CALLBACK:
      tryCast<ReferrerCallback>(callback)
          ?.call(DataMapper.toNonNullString(from: data));
      break;
    case AffiseApiMethod.SKAD_REGISTER_ERROR_CALLBACK:
      tryCast<ErrorCallback>(callback)
          ?.call(DataMapper.toNonNullString(from: data));
      break;
    case AffiseApiMethod.SKAD_POSTBACK_ERROR_CALLBACK:
      tryCast<ErrorCallback>(callback)
          ?.call(DataMapper.toNonNullString(from: data));
      break;
    case AffiseApiMethod.DEBUG_VALIDATE_CALLBACK:
      tryCast<DebugOnValidateCallback>(callback)?.call(
        DebugUtils.toValidationStatus(from: data),
      );
      break;
    case AffiseApiMethod.DEBUG_NETWORK_CALLBACK:
      tryCast<DebugOnNetworkCallback>(callback)?.call(
        DebugUtils.toRequestWithKey(from: data, key: DataName.REQUEST),
        DebugUtils.toResponseWithKey(from: data, key: DataName.RESPONSE),
      );
      break;
    ////////////////////////////////////////
    // modules
    ////////////////////////////////////////
    case AffiseApiMethod.GET_STATUS_CALLBACK:
      tryCast<OnKeyValueCallback>(callback)
          ?.call(DataMapper.toAffiseKeyValueList(from: data));
      break;
    // Link Module
    case AffiseApiMethod.MODULE_LINK_LINK_RESOLVE_CALLBACK:
      tryCast<AffiseLinkCallback>(callback)
          ?.call(DataMapper.toNonNullString(from: data));
      break;
    // Subscription Module
    case AffiseApiMethod.MODULE_SUBS_FETCH_PRODUCTS_CALLBACK:
      tryCast<AffiseResultCallback<AffiseProductsResult>>(callback)
          ?.call(DataMapper.toResultAffiseProductsResult(from: data));
      break;
    case AffiseApiMethod.MODULE_SUBS_PURCHASE_CALLBACK:
      tryCast<AffiseResultCallback<AffisePurchasedInfo>>(callback)
          ?.call(DataMapper.toResultAffisePurchasedInfo(from: data));
      break;
    ////////////////////////////////////////
    // modules
    ////////////////////////////////////////
    default:
      break;
  }
}