claimReward static method
Implementation
static Future<String> claimReward({required String rewardId}) async {
final deviceServerToken = GlobalAdVariables.deviceServerToken;
if (deviceServerToken == null) {
log("fetchRewards:[Device Token]=> ${deviceServerToken?.devicePublicKey}");
return "";
}
PackageInfo packageInfo = await PackageInfo.fromPlatform();
try {
final res = await Dio().post(
"${Urls().baseUrl}reward/claim",
data: {
"reward_id": rewardId,
"reward_type_id": GlobalAdVariables.fullJson['reward_type_id'],
"device_public_key": deviceServerToken.devicePublicKey,
"device_iifd":
await AppTrackingTransparency.getAdvertisingIdentifier(),
"appName": packageInfo.appName,
"package": packageInfo.packageName,
"version": packageInfo.version,
"buildNumber": packageInfo.buildNumber,
},
options: Options(
headers: {"device-public-key": deviceServerToken.devicePublicKey}),
);
if (res.data['success'] ?? false) {
return res.data['link'];
}
return "";
} on DioException catch (dioError) {
log("MultiAds:[claimReward]->Dio Error[❌]-> Message -> ${dioError.message.toString()}");
log("MultiAds:[claimReward]->Dio Error[❌]-> Response -> ${dioError.response!.data.toString()}");
return "";
} catch (error) {
log("MultiAds:[claimReward]->Catch Error[❌]-> ${error.toString()}");
return "";
}
}