-
Notifications
You must be signed in to change notification settings - Fork 8
Expand file tree
/
Copy pathAppodealAdRevenueCallback.cs
More file actions
47 lines (41 loc) · 1.91 KB
/
AppodealAdRevenueCallback.cs
File metadata and controls
47 lines (41 loc) · 1.91 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
// ReSharper disable CheckNamespace
using System.Diagnostics.CodeAnalysis;
using UnityEngine;
using UnityEngine.Scripting;
using AppodealStack.Monetization.Common;
namespace AppodealStack.Monetization.Platforms.Android
{
/// <summary>
/// Android implementation of the <see cref="AppodealStack.Monetization.Common.IAdRevenueListener"/> interface.
/// </summary>
[SuppressMessage("ReSharper", "InconsistentNaming")]
internal class AppodealAdRevenueCallback : AndroidJavaProxy
{
private readonly IAdRevenueListener _listener;
internal AppodealAdRevenueCallback(IAdRevenueListener listener) : base(AndroidConstants.JavaInterfaceName.AdRevenueCallback)
{
_listener = listener;
}
[Preserve]
private void onAdRevenueReceive(AndroidJavaObject ad)
{
if (ad == null)
{
_listener?.OnAdRevenueReceived(null);
return;
}
var adRevenue = new AppodealAdRevenue
{
AdType = ad.Call<string>(AndroidConstants.JavaMethodName.AdRevenue.GetAdTypeString),
NetworkName = ad.Call<string>(AndroidConstants.JavaMethodName.AdRevenue.GetNetworkName),
AdUnitName = ad.Call<string>(AndroidConstants.JavaMethodName.AdRevenue.GetAdUnitName),
DemandSource = ad.Call<string>(AndroidConstants.JavaMethodName.AdRevenue.GetDemandSource),
Placement = ad.Call<string>(AndroidConstants.JavaMethodName.AdRevenue.GetPlacement),
Revenue = ad.Call<double>(AndroidConstants.JavaMethodName.AdRevenue.GetRevenue),
Currency = ad.Call<string>(AndroidConstants.JavaMethodName.AdRevenue.GetCurrency),
RevenuePrecision = ad.Call<string>(AndroidConstants.JavaMethodName.AdRevenue.GetRevenuePrecision)
};
_listener?.OnAdRevenueReceived(adRevenue);
}
}
}