flutter_asa_attribution.dart 926 B

123456789101112131415161718192021222324252627282930313233343536
  1. import 'dart:async';
  2. import 'dart:io';
  3. import 'package:flutter/services.dart';
  4. class FlutterAsaAttribution {
  5. FlutterAsaAttribution._();
  6. static FlutterAsaAttribution get instance => _instance;
  7. static final FlutterAsaAttribution _instance = FlutterAsaAttribution._();
  8. static const MethodChannel _channel =
  9. const MethodChannel('lianshumin.github.io/flutter_asa_attribution');
  10. Future<Map<String, dynamic>?> requestAttributionDetails() async {
  11. assert(Platform.isIOS);
  12. try {
  13. final Map? result = await _channel.invokeMethod<Map>(
  14. 'requestAttributionDetails',
  15. );
  16. return result?.cast<String, dynamic>() ?? <String, dynamic>{};
  17. } on PlatformException catch (e) {
  18. throw PlatformException(
  19. code: e.code,
  20. message: e.message,
  21. );
  22. }
  23. }
  24. Future<String?> attributionToken() {
  25. return _channel.invokeMethod(
  26. 'attributionToken',
  27. );
  28. }
  29. }