use underscore based event name
Seto committed
Nov 24, 2025 at 16:09 UTC
f6b708de00f3509d31f45b648f9048244a50c28f
6 files changed
+59
-43
android/src/main/java/Generated.kt
+1
-1
@@ -25,7 +25,7 @@ class Generated {
25
const val REWARDED_IMPRESSION = "rewarded/impression"
26
const val REWARDED_LOAD = "rewarded/load"
27
const val REWARDED_LOAD_FAIL = "rewarded/load_fail"
28
- const val REWARDED_REWARD = "rewarded/reward"
28
+ const val REWARDED_REWARD = "rewarded_reward"
29
const val REWARDED_SHOW = "rewarded/show"
30
const val REWARDED_SHOW_FAIL = "rewarded/show_fail"
31
}
examples/tauri-app/src-tauri/capabilities/android.json
new
+7
@@ -0,0 +1,7 @@
1
+{
2
+ "$schema": "../gen/schemas/android-schema.json",
3
+ "identifier": "android-permission",
4
+ "description": "enables the Android permissions",
5
+ "windows": ["main"],
6
+ "permissions": ["admob:default", "admob:allow-register-listener"]
7
+}
examples/tauri-app/src-tauri/capabilities/default.json
+5
-5
@@ -1,7 +1,7 @@
1
{
2
- "$schema": "../gen/schemas/mobile-schema.json",
3
- "identifier": "default",
4
- "description": "enables the default permissions",
5
- "windows": ["main"],
6
- "permissions": ["admob:default"]
2
+ "$schema": "../gen/schemas/desktop-schema.json",
3
+ "identifier": "default",
4
+ "description": "enables the default permissions",
5
+ "windows": ["main"],
6
+ "permissions": []
7
}
examples/tauri-app/src-tauri/gen-override/android/app/src/main/AndroidManifest.xml
+1
@@ -1,6 +1,7 @@
1
<?xml version="1.0" encoding="utf-8"?>
2
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
3
<uses-permission android:name="android.permission.INTERNET" />
4
+ <uses-permission android:name="com.google.android.gms.permission.AD_ID"/>
5
6
<!-- AndroidTV support -->
7
<uses-feature android:name="android.software.leanback" android:required="false" />
examples/tauri-app/src/App.svelte
+44
-36
@@ -1,32 +1,43 @@
1
<script lang="ts">
2
-import { BannerAd, RewardedAd } from "tauri-plugin-admob-api";
3
-import Greet from "./lib/Greet.svelte";
2
+ import { BannerAd, RewardedAd } from "tauri-plugin-admob-api";
3
+ import Greet from "./lib/Greet.svelte";
4
+ import { onMount } from "svelte";
5
5
-let response = "";
6
+ let response = "";
7
7
-async function showBannerAd() {
8
- const banner = new BannerAd({
9
- adUnitId: "ca-app-pub-3940256099942544/9214589741",
10
- position: "top",
11
- });
12
- if (!(await banner.isLoaded())) {
13
- await banner.load();
14
- }
15
- await banner.show();
16
-}
17
-async function showRewardedAd() {
18
- try {
19
- const rewardedAd = new RewardedAd({
20
- adUnitId: "ca-app-pub-3940256099942544/5224354917",
21
- });
22
- if (!(await rewardedAd.isLoaded())) {
23
- await rewardedAd.load();
24
- }
25
- await rewardedAd.show();
26
- } catch(e) {
27
- console.log(e);
28
- }
29
-}
8
+ const bannerAd = new BannerAd({
9
+ adUnitId: "ca-app-pub-3940256099942544/9214589741",
10
+ position: "top",
11
+ });
12
+
13
+ const rewardedAd = new RewardedAd({
14
+ adUnitId: "ca-app-pub-3940256099942544/5224354917",
15
+ });
16
+
17
+ async function showBannerAd() {
18
+ await bannerAd.show();
19
+ }
20
+ async function showRewardedAd() {
21
+ try {
22
+ await rewardedAd.show();
23
+ const rewardPromise = await rewardedAd.onRewarded(async (reward) => {
24
+ console.log("RewardedAd get reward callback:", reward);
25
+ });
26
+ console.log(rewardPromise.event);
27
+ } catch (e) {
28
+ console.log(e);
29
+ }
30
+ }
31
+
32
+ async function loadAds() {
33
+ await bannerAd.load();
34
+ await rewardedAd.load();
35
+ }
36
+
37
+ onMount(() => {
38
+ console.log("the component has mounted");
39
+ loadAds();
40
+ });
41
</script>
42
43
<main class="container">
@@ -34,33 +45,30 @@ async function showRewardedAd() {
45
46
<div class="row">
47
<a href="https://vitejs.dev" target="_blank">
37
- <img alt="Vite Logo" class="logo vite" src="/vite.svg"/>
48
+ <img alt="Vite Logo" class="logo vite" src="/vite.svg" />
49
</a>
50
<a href="https://tauri.app" target="_blank">
40
- <img alt="Tauri Logo" class="logo tauri" src="/tauri.svg"/>
51
+ <img alt="Tauri Logo" class="logo tauri" src="/tauri.svg" />
52
</a>
53
<a href="https://svelte.dev" target="_blank">
43
- <img alt="Svelte Logo" class="logo svelte" src="/svelte.svg"/>
54
+ <img alt="Svelte Logo" class="logo svelte" src="/svelte.svg" />
55
</a>
56
</div>
57
47
- <p>
48
- Click on the Tauri, Vite, and Svelte logos to learn more.
49
- </p>
58
+ <p>Click on the Tauri, Vite, and Svelte logos to learn more.</p>
59
60
<div class="row">
52
- <Greet/>
61
+ <Greet />
62
</div>
63
64
<div class="row">
56
- <button on:click="{showBannerAd}">Show Banner Ad</button>
65
+ <button on:click={showBannerAd}>Show Banner Ad</button>
66
<div>{@html response}</div>
67
</div>
68
<div class="row">
60
- <button on:click="{showRewardedAd}">Show Rewarded Ad</button>
69
+ <button on:click={showRewardedAd}>Show Rewarded Ad</button>
70
<div>{@html response}</div>
71
</div>
63
-
72
</main>
73
74
<style>
guest-js/ads/rewarded.ts
+1
-1
@@ -21,7 +21,7 @@ export class RewardedAd extends MobileAd<RewardedAdOptions> {
21
): Promise<PluginListener> {
22
return await addPluginListener(
23
'admob',
24
- 'rewarded/reward',
24
+ 'rewarded_reward',
25
handler
26
);
27
}