Skip to main content

appwin_community 1.0.0 copy "appwin_community: ^1.0.0" to clipboard
appwin_community: ^1.0.0 copied to clipboard

In-app community feed for Flutter apps: posts, comments, reactions and member profiles, rendered natively and moderated from the Appwin dashboard.

appwin_community #

appwin_community puts a community feed inside your Flutter app: posts, comments, member profiles and moderation, all drawn natively. Your app provides an entry point, a tab or a button, and the SDK draws the rest.

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 #

  • ✅ Native feed - SwiftUI on iOS, Compose on Android, embedded in your own layout
  • ✅ Posts, comments and reactions without a single screen to build
  • ✅ Member profiles, shared with the other Appwin products
  • ✅ Moderation from the dashboard, and reporting on the member side
  • ✅ Unread badge you can read and show in your own navigation
  • ✅ Configured from the dashboard - colours, wording, enabled features, no app release
  • ✅ Comes with appwin_core, so a single configure covers every product

Installation #

flutter pub add appwin_community

That is the only package to install. appwin_core comes with it as a dependency and is re-exported, so AppwinCore is available under the same import - do not add it yourself, or you take on a second version constraint to keep aligned with this one.

Requirements #

Platform Minimum
iOS 16.0
Android 7.0 (API 24)

No repository to add: the plugin declares the native SDKs it needs, from CocoaPods (or Swift Package Manager) and Maven Central. Your app only has to meet the minimums: an iOS deployment target of 16.0 (in Xcode, plus platform :ios, '16.0' in ios/Podfile if you use CocoaPods), and minSdk = 24 in android/app/build.gradle if yours is lower.

On other platforms, AppwinCommunityView renders a neutral screen rather than throwing, so a multi-platform app stays launchable.

Getting started #

1. Configure the foundation at launch. This step is required, and it is the only one that is: every Appwin product reads the identity and the session it sets up.

import 'package:appwin_community/appwin_community.dart';   // re-exports AppwinCore

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

2. Initialise Community and gate your own UI. configure checks nothing; initialize() asks the server whether Community may open for this app. The SDK cannot remove your tab, it does not own your navigation.

final community = await AppwinCommunity.instance.initialize();
debugPrint('Appwin Community: $community');   // ready / unavailable(plan) / ...

if (community.isReady) {
  // Add your community tab, or render AppwinCommunityView().
}

It answers rather than throwing: not being entitled is a normal outcome. The products share one round trip and the verdict is cached, so being offline falls back to the last known answer instead of closing a product you pay for.

3. Show the feed where you want it, usually a tab:

const AppwinCommunityView()

It takes the room your layout gives it and carries no close button, since there is a tab to leave it. Apps without a dedicated tab present it full screen instead:

await AppwinCommunity.instance.presentCommunity();

4. Attach your own user when someone signs in, so their posts and profile follow them across devices:

await AppwinCore.instance.identify(user.id);
await AppwinCommunity.instance.setUser(
  nickname: user.displayName,
  avatarUrl: user.photoUrl,
);

setUser pushes the nickname and photo your app already knows, so the member does not type them twice.

5. Show the unread badge on your tab:

StreamBuilder<int>(
  stream: AppwinCommunity.instance.unreadNotificationCountStream,
  builder: (context, snapshot) => Badge.count(count: snapshot.data ?? 0),
)

To route Community notification taps yourself (select your tab first), set AppwinCommunity.instance.onNotificationTap before initialize() and call openPost from it. To react to what the member does (a first post, a comment), listen to AppwinCommunity.instance.events.

Documentation #

License #

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

0
likes
150
points
1.59k
downloads

Documentation

API reference

Publisher

verified publisherappwin.io

Weekly Downloads

In-app community feed for Flutter apps: posts, comments, reactions and member profiles, rendered natively and moderated from the Appwin dashboard.

Homepage
Repository (GitHub)
View/report issues

Topics

#appwin #community #social #feed #comments

License

unknown (license)

Dependencies

appwin_core, flutter, plugin_platform_interface

More

Packages that depend on appwin_community

Packages that implement appwin_community