UIKit Component: Community management components are built on top of the social.plus SDK, providing ready-to-use administrative and moderation UI with full data management handled automatically.

Feature Overview

Community Management UIKit components provide comprehensive administrative tools for community oversight, settings management, and content moderation. These components enable moderators and administrators to configure community settings, manage notifications, review pending content, and control permissions—all through ready-to-use interfaces built on top of the social.plus SDK.

Key Features

Community Settings

Comprehensive community configuration
  • Community profile editing and management
  • Member management and role assignment
  • Privacy and visibility controls
  • Community closure and leave functionality

Notification Management

Fine-grained notification controls
  • Community-wide notification settings
  • Post, comment, and story notification preferences
  • Individual notification type management
  • User notification preference controls

Content Moderation

Pending posts and content oversight
  • Pending post review and approval
  • Community post moderation tools
  • Join request management
  • Content acceptance and decline workflows

Permission Control

Post and story permission management
  • Post creation permission settings
  • Story comment permission controls
  • Role-based access management
  • Community-specific permission configurations

Implementation Guide

Core community settings and configurationCommunity Settings components provide comprehensive administrative controls for community management, including profile editing, member management, and core community configuration options.

Community Setting Page

The Community Settings Page is the gateway for changing various settings within the community and updating its profile information. Users can leave the community or close the entire community from this page.

Features

FeatureDescription
Editing ProfileCommunity profile can be updated through this setting
Updating MembersAdding new members or removing existing members can be done from this setting. It also has the functionality to change role of users within the community
Notification SettingAll notification settings related to a community can be changed here
Post PermissionsPost related permissions can be changed here
Story CommentsStory comment permissions can be changed here
Leave CommunityUser can leave the community
Close CommunityModerator user can close the entire community

Customization Options

Config IDTypeDescription
community_setting_page/*/*PageYou can customize page theme
community_setting_page/*/edit_profileElementYou can customize text
community_setting_page/*/membersElementYou can customize text
community_setting_page/*/notificationsElementYou can customize text
community_setting_page/*/post_permissionElementYou can customize text
community_setting_page/*/story_settingElementYou can customize text
community_setting_page/*/leave_communityElementYou can customize text
community_setting_page/*/close_communityElementYou can customize text
community_setting_page/*/close_community_descriptionElementYou can customize text

Code Examples

let page = AmityCommunitySettingPage(community: community)
let viewController = AmitySwiftUIHostingController(rootView: page)

Community Story Setting Page

The Community Story Setting Page is the page where users can update the setting whether new comments will be allowed in the story in a community.

Features

FeatureDescription
Allow CommentsThis setting will allow users to create new comments in the community stories

Customization Options

Config IDTypeDescription
community_story_setting_page/*/*PageYou can customize page theme

Code Examples

let page = AmityCommunityStorySettingPage(community: community)
let viewController = AmitySwiftUIHostingController(rootView: page)
The Community Settings Page will navigate to each page related to the setting. You can override these behaviors to navigate to your own pages.
class CustomAmityCommunitySettingPageBehavior: AmityCommunitySettingPageBehavior {
    override init() {
        super.init()
    }
    
    override func goToEditCommunityPage(_ context: AmityCommunitySettingPageBehavior.Context) {
        // override behavior
    }
    
    override func goToMembershipPage(_ context: AmityCommunitySettingPageBehavior.Context) {
        // override behavior
    }
    
    override func goToNotificationPage(_ context: AmityCommunitySettingPageBehavior.Context) {
        // override behavior
    }
    
    override func goToPostPermissionPage(_ context: AmityCommunitySettingPageBehavior.Context) {
        // override behavior
    }
    
    override func goToStorySettingPage(_ context: AmityCommunitySettingPageBehavior.Context) {
        // override behavior
    }
}

// Call this function to setup custom behaviour class in UIKit
func setCommunitySettingPageBehavior() {
    let customBehavior = CustomAmityCommunitySettingPageBehavior()
    AmityUIKit4Manager.behaviour.communitySettingPageBehavior = customBehavior
}
Implementation Strategy: Start with the AmityCommunitySettingPage as the central administrative hub, then integrate specialized pages for notifications, content moderation, and permissions based on your community’s needs. Use AmityPendingRequestPage primarily for pending post moderation workflows, and leverage the Community Membership components for join request management. Configure notification settings to match your engagement strategy and implement custom navigation behaviors early to ensure smooth administrative workflows between different management interfaces.