Skip to content

Integração de vibração

Integração do código de amostra

Código de integração de amostra está disponível aqui https://github.com/finogeeks/PhizClip-flutter-demo

Se seu ambiente não tiver se acostumado ao Github, você também pode visitar o gitee Repositório de espelho clicando aqui.

1. Obtenha credenciais de applet

Você precisa aplicar a chave SDK e o SDK Secret para usar o SDK, apenas se você configurar a chave SDK correta e o segredo SDK durante a inicialização do SDK, a inalização será bem -sucedida e funcionará corretamente.

1.1 Criar aplicativo

Uso registrado para fazer login para "Application Management - New Partner Application" Para concluir a criação de aplicação;

Image.png

1.2 Obter chave SDK e SDK secret

Após criar o aplicativo e adicionar o ID do Pacote correspondente, se precisar exportar a chave SDK e o SDK secret correspondentes, selecione Copiar após o ID do Pacote correspondente e cole usando Ctrl+V ou Command+V

Image.png

Entre eles:

  • Chave SDK: são as credenciais para a aplicação parceira poder utilizar o SDK do applet. Se a SDK Key não passar na verificação, todas as APIs do SDK não estarão disponíveis
  • SDK SECRET: é um certificado de segurança para acessar o serviço. Não compartilhe com terceiros

Nota

Detalhes sobre a criação de aplicativos e obtenção de SDK KEY e SDK SECRET podem ser encontrados em「Introdução-Guia de Operação-Guia de Operação Empresarial-7」

2. Integração do plug -in

2.1 Integração

Adicione dependências ao arquivo PubSpec.yaml

yaml
mop: latest.version

Se o seu computador tiver um chip Mac M1 Então você precisa adicionar as 3 linhas de código de Footwowing ao arquivo PODFILE na pasta iOS

yaml
config.build_settings['ENABLE_BITCODE'] = 'NO'
config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '9.0'
config.build_settings['EXCLUDED_ARCHS[sdk=iphonesimulator*]'] = 'arm64 i386'

Exemplo:

yaml
post_install do |installer|
installer.pods_project.targets.each do |target|
flutter_additional_ios_build_settings(target)
target.build_configurations.each do |config|
config.build_settings['ENABLE_BITCODE'] = 'NO'
config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '9.0'
config.build_settings['EXCLUDED_ARCHS[sdk=iphonesimulator*]'] = 'arm64 i386'
end
end
end

2.2 Exemplo

java
import 'package:flutter/material.dart';
import 'dart:async';
import 'dart:io';
import 'package:mop/mop.dart';

void main() => runApp(MyApp());

class MyApp extends StatefulWidget {
  @override
  _MyAppState createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> {
  @override
  void initState() {
    super.initState();
    init();
  }

  // Platform messages are asynchronous, so we initialize in an async method.
  Future<void> init() async {
    if (Platform.isIOS) {
      //com.finogeeks.mopExample
      final res = await Mop.instance.initialize(
          '22LyZEib0gLTQdU3MUauARlLry7JL/2fRpscC9kpGZQA', // SDK Key
          '1c11d7252c53e0b6', // SDK Secret
          apiServer: 'https://api.PhizClip.com', // Endereço do servidor
           apiPrefix: '/api/v1/mop' // Interface do servidor solicitar prefixo de roteamento
           );
      print(res);
    } else if (Platform.isAndroid) {
      //com.finogeeks.mopexample
      final res = await Mop.instance.initialize(
          '22LyZEib0gLTQdU3MUauARjmmp6QmYgjGb3uHueys1oA', // SDK Key
          '98c49f97a031b555', // SDK Secret
          apiServer: 'https://api.PhizClip.com', // Endereço do servidor
           apiPrefix: '/api/v1/mop' // Interface do servidor solicitar prefixo de roteamento
           );
      print(res);
    }
    if (!mounted) return;
  }

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: const Text(' PhizClip Flutter O plugin'),
        ),
        body: Center(
          child: Container(
            padding: EdgeInsets.only(
              top: 20,
            ),
            child: Column(
              children: <Widget>[
                Container(
                  decoration: BoxDecoration(
                    borderRadius: BorderRadius.all(Radius.circular(5)),
                    gradient: LinearGradient(
                      colors: const [Color(0xFF12767e), Color(0xFF0dabb8)],
                      stops: const [0.0, 1.0],
                      begin: Alignment.topCenter,
                      end: Alignment.bottomCenter,
                    ),
                  ),
                  child: FlatButton(
                    onPressed: () {
                      Mop.instance.openApplet('5e3c147a188211000141e9b1'); // phizclip AppID
                    },
                    child: Text(
                      'Abra o phizclip de exemplo',
                      style: TextStyle(color: Colors.white),
                    ),
                  ),
                ),
                SizedBox(height: 30),
                Container(
                  decoration: BoxDecoration(
                    borderRadius: BorderRadius.all(Radius.circular(5)),
                    gradient: LinearGradient(
                      colors: const [Color(0xFF12767e), Color(0xFF0dabb8)],
                      stops: const [0.0, 1.0],
                      begin: Alignment.topCenter,
                      end: Alignment.bottomCenter,
                    ),
                  ),
                  child: FlatButton(
                    onPressed: () {
                      Mop.instance.openApplet('5e4d123647edd60001055df1', sequence: 1); // phizclip AppID
                    },
                    child: Text(
                      'Abra o phizclip oficial',
                      style: TextStyle(color: Colors.white),
                    ),
                  ),
                ),
              ],
            ),
          ),
        ),
      ),
    );
  }
}