5 个版本

0.2.3 2022 年 9 月 12 日
0.2.2 2022 年 8 月 30 日
0.2.1 2022 年 8 月 25 日
0.2.0 2022 年 8 月 16 日
0.1.9 2022 年 8 月 10 日

#2#crossbow

MIT/Apache

165KB
2.5K SLoC

Rust 1.5K SLoC // 0.0% comments Kotlin 861 SLoC // 0.3% comments

Crossbow AdMob 插件

Crate Info Documentation MIT/Apache 2.0 GitHub Stars

关于

这是一个 Crossbow 插件,允许从 Rust 中展示 AdMob 广告。无需担心构建过程,只需下载并使用即可。

支持的功能

广告格式 可用
横幅 ❌ (可能与 NativeActivity 不兼容)
横幅广告
奖励视频广告
奖励视频横幅广告
原生广告

✅ = 已工作并测试 — 🆗 = 已工作但可能包含错误 — 🛠 = 正在开发中 — 📝 = 已计划 - ❌ = 不工作 - ❗ = 不计划实现

安装

只需添加如下 Rust 依赖

[dependencies]
crossbow = "0.2.3"
[target.'cfg(target_os = "android")'.dependencies]
admob-android = "0.2.3"

并将以下内容添加到您的 Crossbow Android 配置中

[package.metadata.android]
plugins_remote = ["com.crossbow.admob:admob:0.2.3"]

这样,您就可以开始使用 AdMob 广告了!

如果您想发布或分享应用以展示真实广告,请通过 Cargo.toml 文件配置自定义 APPLICATION_ID

[[package.metadata.android.manifest.application.meta_data]]
name = "com.google.android.gms.ads.APPLICATION_ID"
value = "<YOUR ID HERE>"
# By default: ca-app-pub-3940256099942544~3347511713

使用

第一步是插件初始化。在您的 Rust 项目中,您需要初始化 Crossbow 实例,然后获取 Android 插件

#![cfg(target_os = "android")]

use crossbow::android::*;
let crossbow = CrossbowInstance::new();
let admob: admob_android::AdMobPlugin = crossbow.get_plugin()?;
// Initialize AdMob Service
admob.initialize(true, "G", false, true).unwrap();

要展示横幅广告,使用以下代码(请注意,目前此插件没有异步 API - 因此 loadshow 函数应在 Sinals 收到或 is_initialized()/is_interstitial_loaded() 检查后立即调用)

admob.load_interstitial("ca-app-pub-3940256099942544/1033173712").unwrap();
admob.show_interstitial().unwrap();

结果将如下所示

AdMob Ad Result Example

读取信号

if let Ok(signal) = admob.get_receiver().recv().await {
    println!("Signal: {:?}", signal);
}

完整的文档可以在这里找到 这里

感谢和灵感

此插件最初灵感来源于 godot-admob-android

依赖

~0.4–1MB
~21K SLoC