appwin_core 0.4.1 copy "appwin_core: ^0.4.1" to clipboard
appwin_core: ^0.4.1 copied to clipboard

Flutter foundation for the Appwin SDKs: one configure, plus the device identity and session shared by every product.

appwin_core #

appwin_core is the foundation of the Appwin SDKs for Flutter. It carries what every Appwin product shares: the device identity, the authenticated session and the network client. You configure it once, and the products you installed use it.

Appwin is an engagement platform for mobile app studios. It puts an in-app support messenger, a community feed and push notifications inside your app, all rendered natively, and gives your team one dashboard to run them.

Features #

  • One configure for every Appwin product in your app, whatever the number
  • Anonymous by default - a device is known without asking anyone to sign up
  • identify attaches your own user id when someone signs in
  • One identity across products - sign in once, recognised in Support and Community
  • signOut clears the person without losing the device
  • Native under the hood - Swift on iOS, Kotlin on Android

Installation #

flutter pub add appwin_core

Most apps never run that command. Every Appwin product declares appwin_core as a dependency and re-exports it, so installing appwin_support or appwin_community already gives you AppwinCore under the same import. Add it directly only if you want the identity API with no product at all.

Requirements #

Platform Minimum
iOS 16.0
Android 7.0 (API 24)

Nothing to add to your Podfile or to your Gradle repositories: the plugin declares the native SDKs it needs, from CocoaPods and Maven Central.

Getting started #

Configure once, at launch:

void main() async {
  WidgetsFlutterBinding.ensureInitialized();
  await AppwinCore.instance.configure(appId: 'your-app-id');
  runApp(const MyApp());
}

When someone signs in to your app:

await AppwinCore.instance.identify(externalId: user.id);
await AppwinCore.instance.bootstrapSession(externalId: user.id);

Both calls, not one: identify records the identity, bootstrapSession mints the token that carries it. Without the second, the calls that follow stay on the anonymous session until the next launch.

On sign-out:

await AppwinCore.instance.signOut();

One configure, then one initialize() per product #

configure prepares the foundation and checks nothing. Each product you install has its own initialize(), which asks the server whether that product may open for this app, and answers rather than throwing:

final support = await AppwinSupport.instance.initialize();
debugPrint('Appwin Support: $support');   // ready / unavailable(plan) / ...

if (support.isReady) {
  // Show your help button.
}

Gate your own entry point on that result: the SDK cannot hide your tab or your button, it does not own your navigation. The three products share one round trip and the verdict is cached on disk, so being offline falls back to the last known answer instead of closing a product you pay for.

Documentation #

License #

Proprietary. Use is reserved to studios holding a current Appwin contract.

0
likes
150
points
298
downloads

Documentation

API reference

Publisher

verified publisherappwin.io

Weekly Downloads

Flutter foundation for the Appwin SDKs: one configure, plus the device identity and session shared by every product.

Homepage
Repository (GitHub)
View/report issues

License

unknown (license)

Dependencies

flutter, plugin_platform_interface

More

Packages that depend on appwin_core

Packages that implement appwin_core