tauri_plugin_google_admob/
models.rs1use serde::{Deserialize, Serialize};
2
3#[derive(Debug, Clone, Deserialize, Serialize)]
6#[serde(rename_all = "camelCase")]
7pub struct InitializeRequest {
8 #[serde(default)]
9 pub test_device_ids: Vec<String>,
10 #[serde(default)]
11 pub tag_for_child_directed_treatment: Option<bool>,
12 #[serde(default)]
13 pub tag_for_under_age_of_consent: Option<bool>,
14}
15
16#[derive(Debug, Clone, Default, Deserialize, Serialize)]
17#[serde(rename_all = "camelCase")]
18pub struct InitializeResponse {
19 pub initialized: bool,
20}
21
22#[derive(Debug, Clone, Deserialize, Serialize)]
25#[serde(rename_all = "camelCase")]
26pub struct BannerAdOptions {
27 pub ad_unit_id: String,
28 #[serde(default = "default_banner_position")]
29 pub position: BannerPosition,
30 #[serde(default)]
31 pub ad_size: BannerSize,
32}
33
34fn default_banner_position() -> BannerPosition {
35 BannerPosition::Bottom
36}
37
38#[derive(Debug, Clone, Default, Deserialize, Serialize)]
39#[serde(rename_all = "lowercase")]
40pub enum BannerPosition {
41 Top,
42 #[default]
43 Bottom,
44}
45
46#[derive(Debug, Clone, Default, Deserialize, Serialize)]
47#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
48pub enum BannerSize {
49 #[default]
50 Banner,
51 LargeBanner,
52 MediumRectangle,
53 FullBanner,
54 Leaderboard,
55 Adaptive,
56}
57
58#[derive(Debug, Clone, Default, Deserialize, Serialize)]
59#[serde(rename_all = "camelCase")]
60pub struct ShowBannerResponse {
61 pub shown: bool,
62}
63
64#[derive(Debug, Clone, Default, Deserialize, Serialize)]
65#[serde(rename_all = "camelCase")]
66pub struct HideBannerResponse {
67 pub hidden: bool,
68}
69
70#[derive(Debug, Clone, Deserialize, Serialize)]
73#[serde(rename_all = "camelCase")]
74pub struct InterstitialAdOptions {
75 pub ad_unit_id: String,
76}
77
78#[derive(Debug, Clone, Default, Deserialize, Serialize)]
79#[serde(rename_all = "camelCase")]
80pub struct PrepareInterstitialResponse {
81 pub loaded: bool,
82}
83
84#[derive(Debug, Clone, Default, Deserialize, Serialize)]
85#[serde(rename_all = "camelCase")]
86pub struct ShowInterstitialResponse {
87 pub shown: bool,
88}
89
90#[derive(Debug, Clone, Deserialize, Serialize)]
93#[serde(rename_all = "camelCase")]
94pub struct RewardedAdOptions {
95 pub ad_unit_id: String,
96}
97
98#[derive(Debug, Clone, Default, Deserialize, Serialize)]
99#[serde(rename_all = "camelCase")]
100pub struct PrepareRewardedResponse {
101 pub loaded: bool,
102}
103
104#[derive(Debug, Clone, Default, Deserialize, Serialize)]
105#[serde(rename_all = "camelCase")]
106pub struct ShowRewardedResponse {
107 pub shown: bool,
108 pub reward: Option<AdReward>,
109}
110
111#[derive(Debug, Clone, Default, Deserialize, Serialize)]
112#[serde(rename_all = "camelCase")]
113pub struct AdReward {
114 pub reward_type: String,
115 pub amount: i32,
116}
117
118#[derive(Debug, Clone, Deserialize, Serialize)]
121#[serde(rename_all = "camelCase")]
122pub struct RewardedInterstitialAdOptions {
123 pub ad_unit_id: String,
124}
125
126#[derive(Debug, Clone, Default, Deserialize, Serialize)]
127#[serde(rename_all = "camelCase")]
128pub struct PrepareRewardedInterstitialResponse {
129 pub loaded: bool,
130}
131
132#[derive(Debug, Clone, Default, Deserialize, Serialize)]
133#[serde(rename_all = "camelCase")]
134pub struct ShowRewardedInterstitialResponse {
135 pub shown: bool,
136 pub reward: Option<AdReward>,
137}
138
139#[derive(Debug, Clone, Deserialize, Serialize)]
142#[serde(rename_all = "camelCase")]
143pub struct AppOpenAdOptions {
144 pub ad_unit_id: String,
145}
146
147#[derive(Debug, Clone, Default, Deserialize, Serialize)]
148#[serde(rename_all = "camelCase")]
149pub struct PrepareAppOpenResponse {
150 pub loaded: bool,
151}
152
153#[derive(Debug, Clone, Default, Deserialize, Serialize)]
154#[serde(rename_all = "camelCase")]
155pub struct ShowAppOpenResponse {
156 pub shown: bool,
157}
158
159#[derive(Debug, Clone, Deserialize, Serialize)]
162#[serde(rename_all = "camelCase")]
163pub struct AdEvent {
164 pub ad_type: AdType,
165 pub event: AdEventType,
166 #[serde(skip_serializing_if = "Option::is_none")]
167 pub error: Option<String>,
168 #[serde(skip_serializing_if = "Option::is_none")]
169 pub reward: Option<AdReward>,
170}
171
172#[derive(Debug, Clone, Deserialize, Serialize)]
173#[serde(rename_all = "camelCase")]
174pub enum AdType {
175 Banner,
176 Interstitial,
177 Rewarded,
178 RewardedInterstitial,
179 AppOpen,
180}
181
182#[derive(Debug, Clone, Deserialize, Serialize)]
183#[serde(rename_all = "camelCase")]
184pub enum AdEventType {
185 Loaded,
186 FailedToLoad,
187 Opened,
188 Closed,
189 Clicked,
190 Impression,
191 FailedToShow,
192 Reward,
193}
194
195#[derive(Debug, Deserialize, Serialize)]
198#[serde(rename_all = "camelCase")]
199pub struct PingRequest {
200 pub value: Option<String>,
201}
202
203#[derive(Debug, Clone, Default, Deserialize, Serialize)]
204#[serde(rename_all = "camelCase")]
205pub struct PingResponse {
206 pub value: Option<String>,
207}