flutter_msa_sdk_plus 4.1.0+1 copy "flutter_msa_sdk_plus: ^4.1.0+1" to clipboard
flutter_msa_sdk_plus: ^4.1.0+1 copied to clipboard

MSA SDK for Flutter - OAID functionality for Chinese Android devices.

flutter_msa_sdk_plus #

OAID SDK for Flutter - MSA functionality for Chinese Android devices.

This is an enhanced version of the original flutter_msa_sdk with improved architecture using platform interface.

Features #

  • Get OAID (Open Advertising ID) from Chinese Android devices
  • Check if device supports OAID functionality
  • Cross-platform support (Android only, iOS returns empty values)

Installation #

Add this to your package's pubspec.yaml file:

dependencies:
  flutter_msa_sdk_plus: ^1.0.0

Usage #

Import the package in your Dart code:

import 'package:flutter_msa_sdk_plus/flutter_msa_sdk_plus.dart';

API #

// Determine whether the device supports getting OAID
bool isSupport = await FlutterMsaSdkPlus().isSupport();
// Get OAID from device
String oaid = await FlutterMsaSdkPlus().getOAID();

Complete Example #

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

void main() {
  runApp(MyApp());
}

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

class _MyAppState extends State<MyApp> {
  String _oaid = '';
  bool _isSupport = false;
  bool _isLoading = false;

  @override
  void initState() {
    super.initState();
    _checkOAIDSupport();
  }

  Future<void> _checkOAIDSupport() async {
    setState(() {
      _isLoading = true;
    });
    
    try {
      final isSupport = await FlutterMsaSdkPlus().isSupport();
      setState(() {
        _isSupport = isSupport;
      });
    } catch (e) {
      print('Error checking OAID support: $e');
    } finally {
      setState(() {
        _isLoading = false;
      });
    }
  }

  Future<void> _getOAID() async {
    if (!_isSupport) {
      ScaffoldMessenger.of(context).showSnackBar(
        SnackBar(content: Text('Device does not support OAID')),
      );
      return;
    }

    setState(() {
      _isLoading = true;
    });

    try {
      final oaid = await FlutterMsaSdkPlus().getOAID();
      setState(() {
        _oaid = oaid;
      });
    } catch (e) {
      print('Error getting OAID: $e');
      setState(() {
        _oaid = 'Error: $e';
      });
    } finally {
      setState(() {
        _isLoading = false;
      });
    }
  }

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: const Text('flutter_msa_sdk_plus example'),
        ),
        body: Center(
          child: Column(
            mainAxisAlignment: MainAxisAlignment.center,
            children: <Widget>[
              Text('OAID Support: $_isSupport'),
              SizedBox(height: 20),
              Text('OAID: $_oaid'),
              SizedBox(height: 20),
              _isLoading
                  ? CircularProgressIndicator()
                  : Column(
                      children: [
                        ElevatedButton(
                          onPressed: _checkOAIDSupport,
                          child: Text('Check Support'),
                        ),
                        SizedBox(height: 10),
                        ElevatedButton(
                          onPressed: _getOAID,
                          child: Text('Get OAID'),
                        ),
                      ],
                    ),
            ],
          ),
        ),
      ),
    );
  }
}

Platform Support #

Android #

  • Full OAID functionality with support for major Chinese device manufacturers
  • Includes dependencies for: ASUS, BUN, Heytap, Samsung, Huawei, ZUI, and generic implementation

iOS #

  • Returns false for isSupport()
  • Returns empty string for getOAID()
  • iOS devices do not have OAID equivalent

Dependencies #

This plugin uses the following Android dependencies:

  • com.github.gzu-liyujiang.Android_CN_OAID:OAID_ASUS:3.0.3
  • com.github.gzu-liyujiang.Android_CN_OAID:OAID_BUN:3.0.3
  • com.github.gzu-liyujiang.Android_CN_OAID:OAID_HEYTAP:3.0.3
  • com.github.gzu-liyujiang.Android_CN_OAID:OAID_SAMSUNG:3.0.3
  • com.github.gzu-liyujiang.Android_CN_OAID:OAID_UODIS:3.0.3
  • com.github.gzu-liyujiang.Android_CN_OAID:OAID_ZUI:3.0.3
  • com.github.gzu-liyujiang.Android_CN_OAID:OAID_IMPL:3.0.3

License #

The MIT License.

1
likes
0
points
0
downloads

Publisher

unverified uploader

Weekly Downloads

MSA SDK for Flutter - OAID functionality for Chinese Android devices.

Repository (GitHub)
View/report issues

License

unknown (license)

Dependencies

flutter, plugin_platform_interface

More

Packages that depend on flutter_msa_sdk_plus

Packages that implement flutter_msa_sdk_plus