Clearsale Behavior Analytics SDK

Plugin Flutter do SDK Behavior Analytics da Clearsale

Dependências

Inserir no pubspec.yaml a dependência a seguir:

dependencies:
	behavior_analytics_flutter_sdk:
		git:
			url: https://PublicPackagesCS@dev.azure.com/PublicPackagesCS/Behavior/_git/BehaviorAnalytics.SDK.Flutter
			ref: main
			version: 0.3.6

Proguard

Configurações que precisam ser adicionadas ao arquivo de configuração do Proguard.

Obrigatário


-keep class sale.clear.behavior.android.** { *; }

-keep interface com.google.gson.annotations.Expose

-keep interface com.google.gson.annotations.SerializedName

Recomendado

-keepattributes Exceptions

Configuração de release recomendada

Essa é uma recomendação de configuração base para a release.


buildTypes {

release {

shrinkResources true

minifyEnabled true

proguardFiles getDefaultProguardFile('proguard-android.txt'),
	'proguard-rules.pro'
	signingConfig signingConfigs.debug 
	}
}

Dados e descrição

Dado Descrição
SessionID ID de sessão da coleta de device, deve ser enviado para a Clearsale tambem junto ao pedido
AppKey Valor fornecido pela Clearsale, que serve para identificar a origem da coleta de device.

Implementação

Inicialização do SDK

import  'package:behavior_analytics_flutter_sdk/behavior_analytics_flutter_sdk.dart';

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

class  _MyAppState  extends  State<MyApp> {
@override
void  initState() {
	super.initState();
	BehaviorAnalyticsFlutterSdk.start("appkey_fornecido_pela_clearsale");
}

Coleta de device

Exemplo de coleta


void _handleButtonPress() {
    BehaviorAnalyticsFlutterSdk.generateSessionID().then((sessionID) {
        BehaviorAnalyticsFlutterSdk.collectDeviceInformation(sessionID);

        print(sessionID);

        setState(() {
          _sessionID = sessionID;
        });
    });
}

@override
Widget build(BuildContext context) {
	print('build');
	return MaterialApp(
		home: Scaffold(
		appBar: AppBar(
			title: const Text('BehaviorAnalytics Plugin Example'),
		),
		body: Center(
			child: Column(
			mainAxisAlignment: MainAxisAlignment.center,
			children: [
				Text('SessionID: $_sessionID\n'),
				ElevatedButton(
				onPressed: _handleButtonPress,
				child: Text('Coletar'),
				),
			],
			),
		),
		),
	);
}