handleCallback method
dynamic
handleCallback(
- AffiseApiMethod api,
- dynamic callback,
- dynamic data,
- 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;
}
}