intercom_flutter 2.0.6

  • Readme
  • Changelog
  • Example
  • Installing
  • 97

intercom_flutter #

Pub Codemagic build status

Flutter wrapper for Intercom Android and iOS projects.

Usage #

Import package:intercom_flutter/intercom_flutter.dart and use the methods in Intercom class.

Example:

import 'package:intercom_flutter/intercom_flutter.dart';

void main() async {
    await Intercom.initialize('appIdHere', iosApiKey: 'iosKeyHere', androidApiKey: 'androidKeyHere');
    runApp(App());
}

class App extends StatelessWidget {

    @override 
    Widget build(BuildContext context) {
        return FlatButton(
            child: Text('Open Intercom'),
            onPressed: () async {
                await Intercom.displayMessenger();
            },
        );
    }
}

See Intercom Android and iOS package documentation for more information.

Android #

Permissions:

<uses-permission android:name="android.permission.INTERNET"/>

Optional permissions:

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.MANAGE_DOCUMENTS"/>

Enable AndroidX + Jetifier support in your android/gradle.properties file (see example app):

android.useAndroidX=true
android.enableJetifier=true

Push notifications in combination with FCM #

This plugin works in combination with the firebase_messaging plugin to receive Push Notifications. To set this up:

    <service
        android:name="io.maido.intercom.PushInterceptService"
        android:enabled="true"
        android:exported="true">
        <intent-filter>
          <action android:name="com.google.firebase.MESSAGING_EVENT" />
        </intent-filter>
    </service>

just above the closing </application> tag.

  • Ask FireBaseMessaging for the FCM token that we need to send to Intercom, and give it to Intercom (so Intercam can send push messages to the correct device):
final FirebaseMessaging _firebaseMessaging = FirebaseMessaging();
token = await _firebaseMessaging.getToken();

Intercom.sendTokenToIntercom(token);

Now, if either FireBase direct (e.g. by your own backend server) or Intercom sends you a message, it will be delivered your Android phone.

iOS #

Make sure that you have a NSPhotoLibraryUsageDescription entry in your Info.plist.

2.0.6 #

  • Added hideMessenger (thanks @Spikes042)

2.0.5+2 #

  • Fix iOS build error

2.0.5+1 #

  • Fix example project dependencies

2.0.5 #

  • Add displayMessageComposer (thanks @knaeckeKami)
  • Add support for Android 10
  • Add support for iOS 13

2.0.4 #

  • Support for push notifications

2.0.3 #

  • Upgraded Intercom SDK to 5.3
  • Upgraded Kotlin, Android Studio, Gradle and CocoaPods to latest version
  • Upgraded minimum Flutter version to 1.0.0
  • Upgraded minimum Dart version to 2.0.0
  • Fixed iOS warning

2.0.2 #

  • Added logEvent method (thanks @MrAlek)
  • Fixed registerIdentifiedUser (thanks @Spikes042)

2.0.1 #

  • Added argument validation to registerIdentifiedUser (thanks @Zazo032)

2.0.0 #

  • Changed message channel name
  • Added email to user registration

1.0.12 #

  • Added setUserHash (thanks @Spikes042)

1.0.11 #

  • Added unreadConversationCount and setInAppMessagesVisible
  • Migrated to AndroidX (thanks @LeonidVeremchuk and @Zazo032)

1.0.10 #

  • Updated author

1.0.9 #

  • Added support for companies
  • Added support for custom attributes

1.0.8 #

  • Fixed issues with nullability in Intercom Android SDK

1.0.7 #

  • Added Help Center support

1.0.6 #

  • Fixed null check in ObjectiveC

1.0.5 #

  • Fixed ObjectiveC warnings

1.0.4 #

  • Converter Swift code to ObjectiveC

1.0.3 #

  • Updated iOS project to Swift 4.2

1.0.2 #

  • Fixed plugin name in all places

1.0.1 #

  • Fixed ios headers

1.0.0 #

  • Added user attributes (name, email, phone, userId and company)
  • Renamed package to intercom_flutter because of the name clash with Intercom pod

0.0.4 #

  • Fixed pod name in podspec

0.0.3 #

  • Added example project
  • Formatted code
  • Added test

0.0.2 #

  • Changed minimum SDK version to 2.0.0-dev.28.0

0.0.1 #

  • Implemented initialize, registerIdentifiedUser, registerUnidentifiedUser, logout, setLauncherVisibility, displayMessenger on both Android and iOS

example/README.md

intercom_example #

Demonstrates how to use the intercom 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:
  intercom_flutter: ^2.0.6

2. Install it

You can install packages from the command line:

with Flutter:


$ flutter pub get

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

3. Import it

Now in your Dart code, you can use:


import 'package:intercom_flutter/intercom_flutter.dart';
  
Popularity:
Describes how popular the package is relative to other packages. [more]
94
Health:
Code health derived from static analysis. [more]
99
Maintenance:
Reflects how tidy and up-to-date the package is. [more]
100
Overall:
Weighted score of the above. [more]
97
Learn more about scoring.

We analyzed this package on Nov 21, 2019, and provided a score, details, and suggestions below. Analysis was completed with status completed using:

  • Dart: 2.6.1
  • pana: 0.12.21
  • Flutter: 1.9.1+hotfix.6

Platforms

Detected platforms: Flutter

References Flutter, and has no conflicting libraries.

Health issues and suggestions

Document public APIs. (-1 points)

23 out of 23 API elements have no dartdoc comment.Providing good documentation for libraries, classes, functions, and other API elements improves code readability and helps developers find and use your API.

Dependencies

Package Constraint Resolved Available
Direct dependencies
Dart SDK >=2.0.0 <3.0.0
flutter 0.0.0
Transitive dependencies
collection 1.14.11 1.14.12
meta 1.1.7 1.1.8
sky_engine 0.0.99
typed_data 1.1.6
vector_math 2.0.8
Dev dependencies
flutter_test
test ^1.6.3