play-core

Crates.ioplay-core
lib.rsplay-core
version0.2.3
sourcesrc
created_at2022-08-25 04:00:50.513646
updated_at2022-09-12 13:55:47.312181
descriptionGoogle Play Core Plugin for Crossbow
homepage
repositoryhttps://github.com/dodorare/crossbow
max_upload_size
id651930
size4,949
David (enfipy)

documentation

README

Crossbow Google Play Core Plugin

Crate Info Documentation MIT/Apache 2.0 GitHub Stars

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!

Commit count: 474

cargo fmt