Извлечение идентификатора группы WhatsApp во Flutter: несколько методов с примерами кода

Чтобы получить идентификатор группы WhatsApp во Flutter, вы можете попробовать следующие методы:

Метод 1: использование средства запуска Flutter URL

import 'package:flutter/material.dart';
import 'package:url_launcher/url_launcher.dart';
void main() {
  runApp(MyApp());
}
class MyApp extends StatelessWidget {
  final String groupUrl = "https://chat.whatsapp.com/ABCDEF123456";
  void getGroupId() async {
    if (await canLaunch(groupUrl)) {
      final RegExp regExp = RegExp(
        r"(?:https?:\/\/chat\.whatsapp\.com\/(?:invite\/)?)([\w-]+)",
        caseSensitive: false,
        multiLine: false,
      );
      final Match match = regExp.firstMatch(groupUrl);
      if (match != null && match.groupCount >= 1) {
        final String groupId = match.group(1);
        print(groupId);
      }
    }
  }
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: Text('WhatsApp Group ID'),
        ),
        body: Center(
          child: ElevatedButton(
            child: Text('Get Group ID'),
            onPressed: getGroupId,
          ),
        ),
      ),
    );
  }
}

Метод 2: использование Flutter WebView

import 'package:flutter/material.dart';
import 'package:webview_flutter/webview_flutter.dart';
void main() {
  runApp(MyApp());
}
class MyApp extends StatelessWidget {
  final String groupUrl = "https://chat.whatsapp.com/ABCDEF123456";
  void getGroupId(WebViewController controller) async {
    final String groupId = await controller.evaluateJavascript(
        'document.getElementsByClassName("copyable-text")[0].getAttribute("data-pre-plain-text").split("] ")[1]');
    print(groupId);
  }
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: Text('WhatsApp Group ID'),
        ),
        body: WebView(
          initialUrl: groupUrl,
          javascriptMode: JavascriptMode.unrestricted,
          onWebViewCreated: (WebViewController controller) {
            getGroupId(controller);
          },
        ),
      ),
    );
  }
}

Эти два метода демонстрируют, как извлечь идентификатор группы WhatsApp во Flutter. Метод 1 использует пакет Flutter URL Launcher для запуска URL-адреса группы и извлечения идентификатора группы с помощью регулярного выражения. Метод 2 использует пакет Flutter WebView для загрузки URL-адреса группы и извлечения идентификатора группы с помощью оценки JavaScript.