at_follows_flutter 3.0.6 copy "at_follows_flutter: ^3.0.6" to clipboard
at_follows_flutter: ^3.0.6 copied to clipboard

outdated

A Flutter plugin project that provides a basic social "follows" functionality for @signs. Provides a list of followers and following for @signs with the option to unfollow them.

Now for some internet optimism. #

pub package pub points gitHub license

at_follows_flutter #

Introduction #

A Flutter plugin that provides a basic social "follows" functionality for @‎signs. This plugin provides a list of followers and following for @‎signs with the option to unfollow them.

Features #

In addition to providing the list of followers and following, this plugin:

  • Provides services to follow and unfollow.
  • Remove contact from followers list, manage list of followers, and list of following.

Get Started #

To get a basic overview of the @protocol and it's packages. Please visit the atsign docs.

To use this package you must be have a basic setup of the @platform/at_app. Go here to get started.

Android #

Add the following permissions to AndroidManifest.xml:

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.USE_FULL_SCREEN_INTENT" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-feature android:name="android.hardware.camera" />
<uses-feature android:name="android.hardware.camera.autofocus" />
<uses-feature android:name="android.hardware.camera.flash" />

Also, update the Android version support in app/build.gradle:

compileSdkVersion 29 // And above

minSdkVersion 24
targetSdkVersion 29 // And above

iOS #

Add the following permission string to info.plist:

<key>NSCameraUsageDescription</key>
<string>The camera is used to scan QR code to pair your device with your @‎sign</string>

Also, update the Podfile with the following lines of code:

post_install do |installer|
  installer.pods_project.targets.each do |target|
    flutter_additional_ios_build_settings(target)
    target.build_configurations.each do |config|
      config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] ||= [
        '$(inherited)',
        ## dart: PermissionGroup.calendar
        'PERMISSION_EVENTS=0',

        ## dart: PermissionGroup.reminders
        'PERMISSION_REMINDERS=0',

        ## dart: PermissionGroup.contacts
        'PERMISSION_CONTACTS=0',

        ## dart: PermissionGroup.microphone
        'PERMISSION_MICROPHONE=0',

        ## dart: PermissionGroup.speech
        'PERMISSION_SPEECH_RECOGNIZER=0',

        ## dart: [PermissionGroup.location, PermissionGroup.locationAlways, PermissionGroup.locationWhenInUse]
        'PERMISSION_LOCATION=0',

        ## dart: PermissionGroup.notification
        'PERMISSION_NOTIFICATIONS=0',

        ## dart: PermissionGroup.sensors
        'PERMISSION_SENSORS=0'
      ]
    end
  end
end

Plugin description #

Supports for single @‎sign follows feature. This plugin provides two screens:

  1. Follows screen - Displays all the @‎signs that are being followed and followers of the given @‎sign. Unfollow button will remove the particular @‎sign from following whereas follow button adds the @‎sign to following list.

  2. Add @‎sign to follow - Scan the QR code of an @‎sign or type the @‎sign to follow.

Sample usage #

The plugin takes AtClientService instance to show the follows list of an @‎sign.

TextButton(
  color: Colors.black,
  onPressed: () {
    Navigator.push(
          ctxt,
          MaterialPageRoute(
              builder: (context) => Connections(
                  atClientserviceInstance: atClientServiceInstance,
                  appColor: Colors.blue)));
  },
  child: Text('AtFollows')
)
Plugin parameters
  1. atClientserviceInstance - to perform further actions for the given @‎sign.
  2. appColor - applies to plugin screens to match the app's theme. (This should be bright color as it takes white font over that. Defaults to orange).
  3. followerAtsignTitle - follower @‎sign received from app's notification
  4. followAtsignTitle - @‎sign followed from webapp.

Follow an @‎sign #

To follow an @‎sign, call the following method:

/// Get the AtFollowServices instance
AtFollowServices atFollowServices = AtFollowServices();
Future<bool> followAtSign(String atSign)async {
  /// ... YOUR CODE ... ///
  /// Call the follow() method to follow an @‎sign
  bool isFollowed = await atFollowServices.follow(atSign);
  return isFollowed;
}

Unfollow an @‎sign #

To unfollow an @‎sign, call the following method and pass the @‎sign to unfollow:

Future<bool> unfollowAtSign(String atSign)async {
  /// ... YOUR CODE ... ///
  /// Call the unfollow() method to unfollow an @‎sign
  bool isUnfollowed = await atFollowServices.unfollow(atSign);
  return isUnfollowed;
}

Remove a @‎sign from following list #

To remove an @‎sign from following list, call the following method and pass the @‎sign to remove:

Future<bool> removeFollower(String atSign)async {
  /// ... YOUR CODE ... ///
  /// Call the removeFollower() method to remove an @‎sign from following list
  bool isRemoved = await atFollowServices.removeFollower(atSign);
  return isRemoved;
}

Get the list of followers #

To get the list of followers, call the following method:

Future<AtFollowsList?> getFollowers()async {
  /// ... YOUR CODE ... ///
  /// Call the getFollowersList() method to get the list of followers
  AtFollowsList? followers = await atFollowServices.getFollowersList();
  return followers;
}

Get the list of following #

To get the list of following, call the following method:

Future<AtFollowsList?> getFollowings()async {
  /// ... YOUR CODE ... ///
  /// Call the getFollowingList() method to get the list of following
  AtFollowsList? following = await atFollowServices.getFollowingList();
  return following;
}
7
likes
0
pub points
44%
popularity

Publisher

verified publisheratsign.org

A Flutter plugin project that provides a basic social "follows" functionality for @signs. Provides a list of followers and following for @signs with the option to unfollow them.

Homepage
Repository (GitHub)
View/report issues

License

unknown (LICENSE)

Dependencies

at_client, at_client_mobile, at_commons, at_lookup, at_server_status, at_utils, collection, flutter, flutter_local_notifications, flutter_qr_reader, permission_handler, provider, url_launcher, webview_flutter

More

Packages that depend on at_follows_flutter