jpush_flutter_plugin 0.0.1-alpha.6 copy "jpush_flutter_plugin: ^0.0.1-alpha.6" to clipboard
jpush_flutter_plugin: ^0.0.1-alpha.6 copied to clipboard

This plugin implements `jpush`'s message push service, supports iOS & Android.

example/lib/main.dart

// Copyright (c) 2022, Kimmy
// https://kimmy.me
//
// Use of this source code is governed by an MIT-style
// license that can be found in the LICENSE file or at
// https://opensource.org/licenses/MIT.

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

Future<void> main() async {
  WidgetsFlutterBinding.ensureInitialized();
  await setDebugMode(debugMode: true);
  await setAuth(auth: true);
  await init('3d3593296cc489e91041f7b8', 'app-store', (call) {
    print('[method]: ${call.method}');
  });
  Future.delayed(const Duration(seconds: 5), () async {
    await setAlias(0, 'gqwyudagdasgcygewyufdgewyuqgdfqwgf');
  });

  // await deleteAlias(0);
  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  @override
  Widget build(BuildContext context) {
    return const MaterialApp(home: HomePage());
  }
}

class HomePage extends StatefulWidget {
  const HomePage({super.key});

  @override
  State<HomePage> createState() => _HomePageState();
}

class _HomePageState extends State<HomePage> {
  String? _platformName;

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(title: const Text('JpushFlutterPlugin Example')),
      body: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: [
            if (_platformName == null)
              const SizedBox.shrink()
            else
              Text(
                'Platform Name: $_platformName',
                style: Theme.of(context).textTheme.headline5,
              ),
            const SizedBox(height: 16),
            ElevatedButton(
              onPressed: () async {
                try {
                  final result = await getPlatformName();
                  setState(() => _platformName = result);
                } catch (error) {
                  ScaffoldMessenger.of(context).showSnackBar(
                    SnackBar(
                      backgroundColor: Theme.of(context).primaryColor,
                      content: Text('$error'),
                    ),
                  );
                }
              },
              child: const Text('Get Platform Name'),
            ),
          ],
        ),
      ),
    );
  }
}