3 releases
0.2.3 | Sep 12, 2022 |
---|---|
0.2.2 | Aug 30, 2022 |
0.2.1 | Aug 25, 2022 |
#163 in #android
155KB
2.5K
SLoC
Crossbow Google Play Core Plugin
About
This project is a Crossbow Plugin for Google Play Core libraries written in Rust and Kotlin.
Installation
Important: Before using this plugin please read more about Google Play Core libraries and In-app updates.
Just add Rust dependencies like this:
[dependencies]
crossbow = "0.2.3"
[target.'cfg(target_os = "android")'.dependencies]
play-core = "0.2.3"
And finally, add this to your Crossbow Android configuration:
[package.metadata.android]
plugins_remote = ["com.crossbow.play_core:play_core:0.2.3"]
That's it, now you can start using Play Core!
Usage
First step is plugin initialization. In your rust project, you will need to initialize Crossbow
instance and then get Android plugin:
#![cfg(target_os = "android")]
use crossbow::android::*;
let crossbow = CrossbowInstance::new();
let play_core: play_core::PlayCorePlugin = crossbow.get_plugin()?;
After plugin initialization you can use supported features. For example to start connection and query purchases you can use:
play_core.check_update()?;
play_core.in_progress_update()?;
To read signals:
if let Ok(signal) = play_core.get_receiver().recv().await {
println!("Signal: {:?}", signal);
}
Complete documentation you can find here.
Future work
Ideally we will get rid of the Java wrapper and will create C++ wrapper around Google Play Core native - so that it will support all features and will work faster than with JNI. If you want to help us with it - welcome!
Dependencies
~0.4–0.9MB
~19K SLoC