bannerImpression method
Implementation
Future<void> bannerImpression(BannerResponse banner) async {
final storage = HiveStorageService.instance;
Map<String, dynamic> body = {
'profileId': await storage.getProfileId(),
'deviceId': await storage.getDeviceId(),
'sessionId': await storage.getSessionId(),
'banners': [
{
'token': banner.token,
'bannerId': banner.bannerId.toString(),
'segmentId': banner.segmentId.toString(),
}
]
};
final response = await http.post(
Uri.parse('${_getEndpoint()}/api/v0/impressions'),
headers: {
'content-type': 'application/json',
'authorization': 'Bearer $_accessToken',
},
body: jsonEncode(body),
);
if (response.statusCode != 200) {
throw Exception(
'Banner Impression API error: ${response.statusCode} - ${response.body}',
);
}
}