Native plugin that helps detect network reachability using platform-provided signals on Android™ and iOS, including cases where a connection appears available but requires user sign-in.Public Wi-Fi networks may require user interaction before providing internet access.In such cases, an application can appear connected while online features remain unavailable.This plugin is designed to help identify network reachability using platform-provided signals, without relying on application-level pings or custom HTTP requests.It is implemented as a lightweight native plugin for the Android platform and the iOS platform.The plugin exposes a simplified connectivity state that can be used to adjust application behavior in situations such as in-app stores, advertisements, or online gameplay.Typical use cases include:Identifying networks that require user sign-in before providing internet accessAvoiding large downloads on connections reported as meteredAdjusting behavior under limited or unstable network conditionsRespecting system-level data or power-saving settings, where supported by the platformThe plugin is designed to integrate without background services or continuous polling and aims to minimize runtime overhead.You can test it: Demo apk Unity 2022Key FeaturesValidated Connectivity SignalProvides an HasInternetAccess indicator based on platform-provided network signals to help determine whether network access is available.Event-Driven DesignExposes asynchronous events (OnInternetAccessChanged, OnStateChanged) to react to connectivity changes without continuous polling.Connection State InformationExposes a ConnectionState structure with cross-platform network details, where supported by the device and operating system:Transport: Wi-Fi or cellularIsNotMetered: Indicates whether the current connection is reported as unmeteredIsConstrained: Indicates data-saving or low-data conditionsCellularGeneration: Reports cellular network generation when availablePlatform-Specific SignalsAdditional signals may be available depending on platform capabilities and OS version.Android platform (where supported):Captive portal detectionVPN usage indicationRoaming stateNetwork congestion signalEstimated download bandwidthSignal strength informationiOS platform (where supported):Low Power Mode stateNetwork Quality HeuristicsProvides derived indicators intended to help adapt runtime behavior:Quality: High-level quality classification (for example: Excellent, Good, Poor)Stability: A relative stability score that can be used when tuning retry or fallback logicLightweight IntegrationImplemented as a native wrapper without background services. Designed to minimize runtime overhead and avoid continuous processing.Platform CompatibilityAndroid: Core functionality available on Android 5.1 (API 22) and higher. Supports both Game Activity and single-activity configurations.iOS: Compatible with iOS 13.0 and later.• Unity Editor: Tested with Unity 2021 LTS, Unity 2022 LTS, and Unity 6.I used Gemini (LLM) as a supporting tool during development for:Reviewing parts of the codebase for readability, consistency, and potential edge cases.Generating additional test use-cases and scenarios to help validate expected behavior.Checking grammar and clarity in the documentation.Assisting with the creation of marketing images.All final implementation, architecture decisions, validation, and testing were done by me. AI tools were used strictly as assistance to improve quality and efficiency, not as a replacement for development work.




