3 个版本
0.1.7 | 2022 年 7 月 28 日 |
---|---|
0.1.6 | 2022 年 7 月 22 日 |
0.1.5 | 2022 年 7 月 14 日 |
5 在 #crossbow
190KB
3K SLoC
Crossbow Admob 插件
关于
本项目是一个 Crossbow 插件,允许从 Rust 中显示 AdMob 广告。无需担心构建,只需下载并使用即可。
特性
广告格式 | 可用 |
---|---|
横幅 | ❌ |
插屏广告 | ✅ |
激励视频广告 | ✅ |
激励视频插屏广告 | ✅ |
原生广告 | ❗ |
✅ = 工作正常并经过测试 — 🆗 = 工作正常但可能存在错误 — 🛠 = 开发中 — 📝 = 计划中 - ❌ = 不计划实现 - ❗ = 不计划实现
安装
只需添加以下 Rust 依赖项
[dependencies]
crossbow = "0.1.7"
crossbow-admob = "0.1.7"
并将以下内容添加到您的 Crossbow Android 配置中
[package.metadata.android]
plugins_remote = ["com.crossbow.admob:admob:0.1.7"]
这样就完成了,现在您可以使用 AdMob 广告了!
如果您想配置自定义的应用程序 ID,请将以下内容添加到您的 Cargo.toml 文件中
[[package.metadata.android.meta_data]]
name = "com.google.android.gms.ads.APPLICATION_ID"
value = "<YOUR ID HERE>"
# By default: ca-app-pub-3940256099942544~3347511713
使用方法
在您的 rust 项目中,您需要首先获取 JNIEnv 并从 Crossbow 获取 AdMob 的 JNI 单例实例。为此,请编写以下代码
use crossbow::android::{permission::*, plugin};
let (_, vm) = crossbow::android::create_java_vm().unwrap();
let jnienv = vm.attach_current_thread_as_daemon().unwrap();
let admob_singleton = plugin::get_jni_singleton("AdMob").expect("Crossbow Error: AdMob is not registered");
let admob = crossbow_admob::AdMobPlugin::from_jnienv(admob_singleton.clone(), jnienv).unwrap();
要显示插屏广告,请使用以下代码
admob.initialize(true, "G", false, true).unwrap();
admob.load_interstitial("ca-app-pub-3940256099942544/1033173712").unwrap();
admob.show_interstitial().unwrap();
读取信号
if let Ok(signal) = admob_singleton.get_receiver().recv().await {
println!("signal: {:?}", signal);
}
完整的文档您可以在这里找到。
感谢和灵感
此插件最初受 godot-admob-android 启发。
依赖项
~0.4–1.9MB
~28K SLoC