flutter_linkedin_login 2.3.0

  • README.md
  • CHANGELOG.md
  • Example
  • Installing
  • Versions
  • 79

flutter_linkedin_login

A Flutter plugin for Sign in with LinkedIn

Installation

See the installation instructions on pub

Android

Follow the "Associate your Android app with your LinkedIn app" section of LinkedIn's Getting started with Android. Find your package name in the android/app/src/main/AndroidManifest.xml file. For the debug key hash value generation, remember to use 'android' as your password. Click update after adding your package and key in LinkedIn's developer console for your changes to take.

Open your MainActivity in your Android app/src/main/ directory and override the onActivityResult method with the following


import android.content.Intent
import io.tuantvu.flutterlinkedinlogin.FlutterLinkedinLoginPlugin

//kotlin
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
  FlutterLinkedinLoginPlugin.onActivityResult(this, requestCode, resultCode, data)
  super.onActivityResult(requestCode, resultCode, data)
}

import android.content.Intent
import io.tuantvu.flutterlinkedinlogin.FlutterLinkedinLoginPlugin

//java
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
  FlutterLinkedinLoginPlugin.onActivityResult(this, requestCode, resultCode, data);
  super.onActivityResult(requestCode, resultCode, data);
}

iOS

Follow the "Associate your iOS app with your LinkedIn app" section of LinkedIn's Getting started with iOS.

Open your AppDelegate in your ios/Runner directory and add the following function

//swift
//add #import <flutter_linkedin_login/FlutterLinkedinLoginPlugin.h>
//to your Running-Bridging-Header.h file
override func application(_ app: UIApplication, open: URL, options: [UIApplicationOpenURLOptionsKey : Any] = [:]) -> Bool {
    if (FlutterLinkedinLoginPlugin.shouldHandle(open)) {
        return FlutterLinkedinLoginPlugin.application(app, open: open, sourceApplication: nil, annotation: nil)
    }
    return true
}
//objective-c
//add #import <flutter_linkedin_login/FlutterLinkedinLoginPlugin.h> at top of your AppDelegate.m
- (BOOL)application:(UIApplication *)application open:(NSURL *)open options:(UIApplicationOpenURLOptionsKey *)options {
    if ([FlutterLinkedinLoginPlugin shouldHandleUrl:url]) {
        return [FlutterLinkedinLoginPlugin application:application open:open sourceApplication:nil annotation: nil];
    }
    return YES;
}

Usage

See the example

Methods

MethodDescriptionReturns
loginBasic()Log in with basic profile"Logged in" or "Access token still valid"
getProfile()Retrieves profile with whatever permissions were asked for during log inLinkedInProfile
loginBasicWithProfile()Convenience method that logs in with basic profile and returns the profileLinkedInProfile
logout()Logs out"Cleared session" or "No session"

Widgets

WidgetDescriptionRender
LinkedInSignInButtonButton that calls loginBasicWithProfile(). To get the profile, pass in argument onSignIn: (profile, ex){...}Sign In with LinkedIn

LinkedInProfile

  String firstName;
  String lastName;
  String headline;
  String id;
  String pictureUrl;
  String summary;
  String industry;
  String emailAddress;
  String formattedName;
  LinkedInLocation location;
  List<LinkedInPosition> positions;
  String publicProfileUrl;

Additional API calls

Submit an issue if you would like to see additional LinkedIn APIs exposed. This simple implementation was enough for my purposes.

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog and this project adheres to Semantic Versioning.

v2.3.0 - 2018-12-15

Added

  • publicProfileUrl
  • location in positions

v2.2.1 - 2018-12-13

Updated

  • ext.kotlin_version = '1.2.71'

v2.2.0 - 2018-12-10

Added

  • LinkedInPositions

v2.1.0 - 2018-09-09

Added

  • LinkedInSignInButton

v2.0.0 - 2018-09-09

Added

  • loginBasicWithProfile()

Removed

  • static getters for login, profile, and clearSession

v1.1.0 - 2018-09-09

Added

  • emailAddress, formattedName, and location to LinkedInProfile
  • toJson() for LinkedInProfile
  • methods loginBasic(), logout(), and getProfile() in preparation to remove getters

v1.0.0 - 2018-07-22

Added

  • Support for iOS

Changed

  • Android check session valid before getting profile

v0.1.1 - 2018-07-22

Changed

  • Android MainActivity must override onActivityResult

v0.0.1 - 2018-07-04

Added

  • Support for Android

example/README.md

flutter_linkedin_login_example

Demonstrates how to use the flutter_linkedin_login plugin.

Getting Started

For help getting started with Flutter, view our online documentation.

Use this package as a library

1. Depend on it

Add this to your package's pubspec.yaml file:


dependencies:
  flutter_linkedin_login: ^2.3.0

2. Install it

You can install packages from the command line:

with Flutter:


$ flutter packages get

Alternatively, your editor might support flutter packages get. Check the docs for your editor to learn more.

3. Import it

Now in your Dart code, you can use:


import 'package:flutter_linkedin_login/flutter_linkedin_login.dart';
  
Version Uploaded Documentation Archive
2.3.0 Dec 15, 2018 Go to the documentation of flutter_linkedin_login 2.3.0 Download flutter_linkedin_login 2.3.0 archive
2.2.1 Dec 14, 2018 Go to the documentation of flutter_linkedin_login 2.2.1 Download flutter_linkedin_login 2.2.1 archive
2.2.0 Dec 11, 2018 Go to the documentation of flutter_linkedin_login 2.2.0 Download flutter_linkedin_login 2.2.0 archive
2.1.0 Sep 10, 2018 Go to the documentation of flutter_linkedin_login 2.1.0 Download flutter_linkedin_login 2.1.0 archive
2.0.0 Sep 9, 2018 Go to the documentation of flutter_linkedin_login 2.0.0 Download flutter_linkedin_login 2.0.0 archive
1.0.0 Jul 22, 2018 Go to the documentation of flutter_linkedin_login 1.0.0 Download flutter_linkedin_login 1.0.0 archive
Popularity:
Describes how popular the package is relative to other packages. [more]
65
Health:
Code health derived from static analysis. [more]
90
Maintenance:
Reflects how tidy and up-to-date the package is. [more]
100
Overall:
Weighted score of the above. [more]
79
Learn more about scoring.

We analyzed this package on Dec 15, 2018, and provided a score, details, and suggestions below. Analysis was completed with status completed using:

  • Dart: 2.1.0
  • pana: 0.12.7
  • Flutter: 1.0.0

Platforms

Detected platforms: Flutter

References Flutter, and has no conflicting libraries.

Health issues and suggestions

Document public APIs (-9.76 points)

82 out of 84 API elements (library, class, field or method) have no adequate dartdoc content. Good documentation improves code readability and discoverability through search.

Dependencies

Package Constraint Resolved Available
Direct dependencies
Dart SDK >=1.20.1 <3.0.0
flutter 0.0.0
Transitive dependencies
collection 1.14.11
meta 1.1.6
sky_engine 0.0.99
typed_data 1.1.6
vector_math 2.0.8