Flutter通信插件intercom_flutter_plugin的使用

Flutter通信插件intercom_flutter_plugin的使用

Flutter插件intercom_flutter_plugin用于在您的应用中集成Intercom。Intercom SDK允许您使用Intercom Messenger与客户交流,发送富媒体消息,展示帮助中心,并跟踪事件。

版本信息

  • 使用Intercom Android SDK版本 15.1.3
  • Android最低SDK版本 21
  • 使用Intercom iOS SDK版本 15.0.3
  • iOS最低目标版本 13

使用方法

步骤1 - 添加Intercom引用

如果您是第一次使用Intercom,您需要创建一个账户并开始免费试用。

步骤2 - 初始化Intercom

首先,您需要获取您的Intercom应用ID和API密钥。如果要在Android上使用Intercom,则需要Android API密钥。如果要在iOS上使用Intercom,则需要iOS API密钥。

在您的lib/main.dart文件中,导入package:intercom_flutter_plugin/intercom_flutter_plugin.dart包,并使用Intercom类中的方法。然后,在lib/main.dart文件中初始化Intercom:

import 'package:flutter/material.dart';
import 'package:intercom_flutter_plugin/intercom_flutter_plugin.dart';

void main() async {
  // 初始化flutter绑定。
  WidgetsFlutterBinding.ensureInitialized();
  // 初始化Intercom。
  // 确保添加来自您的Intercom工作区的密钥。
  await Intercom.instance.initialize(
    appId: 'appIdHere',
    androidApiKey: 'androidKeyHere',
    iosApiKey: 'iosKeyHere',
  );
  runApp(App());
}

步骤3 - 创建用户并显示Messenger

最后,您需要创建一个用户,如下所示:

class App extends StatelessWidget {
  final SharedPreferences sharedPreferences;

  const App({super.key, required this.sharedPreferences});

  @override
  Widget build(BuildContext context) {
    return ElevatedButton(
      child: Text('打开Intercom'),
      onPressed: () async {
        // 只有当用户在Intercom中注册后,Messenger才会加载消息。
        await Intercom.instance.loginIdentifiedWithEmail(email: 'example@test.com');
        await Intercom.instance.displayMessenger();
      },
    );
  }
}

可用方法

以下是Intercom类的一些可用方法:

Future<void> initialize({required String appId, String? androidApiKey, String? iosApiKey});
Stream<int> getUnreadStream();
Future<void> setUserHash(String userHash);
Future<void> loginIdentifiedWithUserId({required String userId, IntercomStatusCallback? statusCallback});
Future<void> loginIdentifiedWithEmail({required String email, IntercomStatusCallback? statusCallback});
Future<void> loginIdentifiedUser({required String userId, required String email, IntercomStatusCallback? statusCallback});
Future<void> loginUnidentifiedUser({IntercomStatusCallback? statusCallback});
Future<void> logout();
Future<void> setLauncherVisibility(IntercomVisibility visibility);
Future<int> unreadConversationCount();
Future<void> setInAppMessagesVisibility(IntercomVisibility visibility);
Future<void> displayMessenger();
Future<void> hideMessenger();
Future<void> displayHelpCenter();
Future<void> displayHelpCenterCollections(List<String> collectionIds);
Future<void> displayMessages();
Future<void> logEvent(String name, [Map<String, Object?>? metaData]);
Future<void> sendTokenToIntercom(String token);
Future<void> handlePushMessage();
Future<void> displayMessageComposer(String message);
Future<bool> isIntercomPush(Map<String, String> message);
Future<void> handlePush(Map<String, String> message);
Future<void> setBottomPadding(int padding);
Future<void> displayArticle(String articleId);
Future<void> displayCarousel(String carouselId);
Future<void> displaySurvey(String surveyId);

示例代码

为了方便起见,我们还提供了一个工作项目的示例。您可以查看我们的仓库以了解更多详情:

import 'package:intercom_flutter_plugin_example/src/app.dart';
import 'package:flutter/material.dart';
import 'package:intercom_flutter_plugin/intercom_flutter_plugin.dart';
import 'package:shared_preferences/shared_preferences.dart';

import 'environment/keys.dart';

void main() async {
  WidgetsFlutterBinding.ensureInitialized();
  // TODO: 确保添加来自您的Intercom工作区的密钥。
  await Intercom.instance.initialize(
    appId: appId,
    androidApiKey: androidApiKey,
    iosApiKey: iosApiKey,
  );
  final SharedPreferences sharedPreferences = await SharedPreferences.getInstance();
  runApp(App(sharedPreferences: sharedPreferences));
}

更多关于Flutter通信插件intercom_flutter_plugin的使用的实战教程也可以访问 https://www.itying.com/category-92-b0.html

1 回复

更多关于Flutter通信插件intercom_flutter_plugin的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html


intercom_flutter_plugin 是一个用于在 Flutter 应用中集成 Intercom 客户通信平台的插件。Intercom 是一个广泛使用的客户沟通工具,允许开发者通过应用内消息、推送通知、电子邮件等多种方式与用户进行互动。

以下是如何在 Flutter 项目中使用 intercom_flutter_plugin 的基本步骤:

1. 添加依赖

首先,在 pubspec.yaml 文件中添加 intercom_flutter_plugin 依赖:

dependencies:
  flutter:
    sdk: flutter
  intercom_flutter_plugin: ^3.0.0

然后运行 flutter pub get 来安装依赖。

2. 配置 Intercom

在 Intercom 官网注册并创建一个应用,获取到 appIdiOSApiKeyandroidApiKey

3. 初始化 Intercom

在 Flutter 应用的 main.dart 文件中初始化 Intercom:

import 'package:flutter/material.dart';
import 'package:intercom_flutter_plugin/intercom_flutter_plugin.dart';

void main() async {
  WidgetsFlutterBinding.ensureInitialized();
  
  // 初始化 Intercom
  await Intercom.instance.initialize(
    'your_app_id',
    iosApiKey: 'your_ios_api_key',
    androidApiKey: 'your_android_api_key',
  );

  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Intercom Example',
      home: HomeScreen(),
    );
  }
}

4. 注册用户

在用户登录或注册后,使用 registerIdentifiedUser 方法将用户注册到 Intercom:

await Intercom.instance.registerIdentifiedUser(userId: 'user_id');

或者使用用户的电子邮件地址:

await Intercom.instance.registerIdentifiedUser(email: 'user@example.com');

5. 显示消息窗口

你可以通过调用 displayMessenger 方法来显示 Intercom 的消息窗口:

await Intercom.instance.displayMessenger();

6. 设置用户属性

你可以设置用户的属性,以便在 Intercom 中更好地识别和管理用户:

await Intercom.instance.updateUser(
  name: 'John Doe',
  email: 'john.doe@example.com',
  phone: '+1234567890',
  company: 'Company Name',
  companyId: 'company_id',
  userId: 'user_id',
);

7. 注销用户

当用户注销时,调用 logout 方法来注销用户:

await Intercom.instance.logout();
回到顶部