A Flutter package for encoding and decoding hex messages for SMS/MMS communication. This package provides a robust solution for handling hex-encoded messages across multiple platforms.
- 🔄 Hex encoding and decoding
- 📱 SMS/MMS message generation
- 📊 Message segmentation counting
- 💾 File download support
- 📲 Direct SMS/MMS client opening
- 🌐 Cross-platform support (iOS, Android, Web, Desktop)
- ✨ Zero external runtime dependencies
- 🔒 Null safety
- 📚 Comprehensive documentation
Add this to your package's pubspec.yaml
file:
dependencies:
flutter_txms: ^0.1.0
import 'package:flutter_txms/flutter_txms.dart';
void main() {
final txms = Txms();
// Encode a hex string
final encoded = txms.encode('0x48656c6c6f20576f726c64'); // "Hello World"
print('Encoded: $encoded');
// Decode back to hex
final decoded = txms.decode(encoded);
print('Decoded: $decoded');
}
final txms = Txms();
// Generate SMS URI
final smsUri = txms.sms(
number: '+12019715152',
message: '0x48656c6c6f',
network: 'mainnet',
);
print('SMS URI: $smsUri');
// Open SMS client directly with encoded message
await txms.openSmsClient(
number: '+12019715152',
message: '0x48656c6c6f',
network: 'mainnet',
);
// Open MMS client directly with encoded message
await txms.openMmsClient(
number: '+12019715152',
message: '0x48656c6c6f',
network: 'mainnet',
);
final txms = Txms();
// Save message to file
final filePath = await txms.downloadMessage(
'0x48656c6c6f20576f726c64',
optionalFilename: 'hello',
);
print('Saved to: $filePath');
final txms = Txms();
// Count SMS segments
final smsCount = txms.count('0x48656c6c6f20576f726c64', 'sms');
print('Number of SMS segments: $smsCount');
// Count MMS segments
final mmsCount = txms.count('0x48656c6c6f20576f726c64', 'mms');
print('Number of MMS segments: $mmsCount');
Android | iOS | Web | macOS | Windows | Linux |
---|---|---|---|---|---|
✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
- Custom network aliases
- Country-specific endpoints
- Batch message processing
- Platform-specific URI generation
- Comprehensive error handling
- Direct SMS/MMS client launching
Contributions are welcome! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.
This project is licensed under the CORE License - see the LICENSE file for details.