use bevy::prelude::*;
#[cfg(any(feature = "storekit", feature = "ads", feature = "gamekit"))]
mod ffi;
#[cfg(feature = "storekit")]
pub mod store;
#[cfg(feature = "ads")]
pub mod ads;
#[cfg(feature = "platform")]
pub mod platform;
#[cfg(feature = "att")]
pub mod att;
#[cfg(feature = "gamekit")]
pub mod gamekit;
#[cfg(feature = "review")]
pub mod review;
pub mod prelude {
pub use crate::IosPlugin;
#[cfg(feature = "storekit")]
pub use crate::store::{
Entitlements, EntitlementsChanged, ProductInfo, ProductsState, ProductsUpdated,
PurchaseCompleted, PurchaseOutcome, PurchaseRequest, RestoreRequest, StoreConfig,
StoreProducts,
};
#[cfg(feature = "ads")]
pub use crate::ads::{
AdClicked, AdDismissed, AdFormat, AdInventory, AdLoadFailed, AdLoadState, AdLoaded,
AdShowFailed, AdShown, AdmobConfig, AdmobState, BannerPosition, ConsentStatus,
ConsentUpdated, HideBanner, LoadAd, RequestConsent, RewardEarned, ShowAd, ShowBanner,
TEST_APP_ID,
};
#[cfg(feature = "platform")]
pub use crate::platform::{self, Haptic};
#[cfg(feature = "att")]
pub use crate::att::{RequestTracking, TrackingStatus, TrackingStatusChanged};
#[cfg(feature = "gamekit")]
pub use crate::gamekit::{
AuthenticateGameCenter, GameCenter, GameCenterAuthChanged, GameCenterAuthState,
ReportAchievement, ShowGameCenter, SubmitScore,
};
#[cfg(feature = "review")]
pub use crate::review;
}
pub struct IosPlugin;
impl Plugin for IosPlugin {
fn build(&self, app: &mut App) {
#[cfg(feature = "storekit")]
app.add_plugins(store::StorePlugin);
#[cfg(feature = "ads")]
app.add_plugins(ads::AdsPlugin);
#[cfg(feature = "att")]
app.add_plugins(att::AttPlugin);
#[cfg(feature = "gamekit")]
app.add_plugins(gamekit::GameKitPlugin);
let _ = app;
}
}