use bevy::prelude::*;
#[cfg(all(feature = "storekit", any(target_os = "ios", doc, test)))]
#[path = "store/environment.rs"]
mod store_environment;
#[cfg(all(test, feature = "storekit"))]
#[path = "store/operation.rs"]
mod store_operation_tests;
#[cfg(any(
all(feature = "storekit", any(target_os = "ios", doc)),
feature = "ads",
feature = "gamekit"
))]
mod ffi;
#[cfg(all(feature = "storekit", any(target_os = "ios", doc)))]
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(all(feature = "storekit", any(target_os = "ios", doc)))]
pub use crate::store::{
AppStoreEnvironment, Entitlements, EntitlementsChanged, ProductInfo, ProductsState,
ProductsUpdated, PurchaseCompleted, PurchaseOutcome, PurchaseRequest, RestoreCompleted,
RestoreOutcome, RestoreRequest, StoreActivity, StoreConfig, StoreProducts,
};
#[cfg(feature = "ads")]
pub use crate::ads::{
AdClicked, AdDismissed, AdFormat, AdInventory, AdLoadFailed, AdLoadState, AdLoaded,
AdShowFailed, AdShown, AdmobConfig, AdmobState, BannerPosition, ConsentInfoUpdateFailed,
ConsentStatus, ConsentUpdated, HideBanner, LoadAd, PresentPrivacyOptions,
PrivacyOptionsRequirement, RequestConsent, RewardEarned, ShowAd, ShowBanner, TEST_APP_ID,
UmpDebugGeography, UmpTestConfig,
};
#[cfg(feature = "platform")]
pub use crate::platform::{self, Haptic, PowerState, PowerStateChanged, ThermalState};
#[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(all(feature = "storekit", any(target_os = "ios", doc)))]
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);
#[cfg(feature = "platform")]
app.add_plugins(platform::PlatformPlugin);
let _ = app;
}
}