flutter_whatsapp_stickers
Flutter plugin for adding WhatsApp Stickers within your flutter app.
WhatsApp Stickers Plugin for Flutter
English project snapshot. Visit GitHub for the latest content.
This plugin is still under development and for now, only Android is supported. Feedback and Pull Requests are welcome!
I'm in the process of rebuilding this plugin and the new version will be released at the end of October 🤞
Add flutter_whatsapp_stickers as a dependency in your pubspec.yaml file.
Check out the example directory for a sample app.
Add the following option to your app\build.gradle file. This will prevent all WebP files from being compressed.
android {
aaptOptions {
noCompress "webp"
}
}
You need to include your assets in your pubspec.yaml file.
flutter:
assets:
- sticker_packs/sticker_packs.json
- sticker_packs/1/
If you are using assets that are not bundled in your build, then you need to add the following to your Manifest file. Note that you cannot use both.
<meta-data android:name="NonAssetContentProvider" android:value="true" />
To change the stickers packs file, add this Build Config Field to your app\build.gradle file. The default is sticker_packs.json.
buildConfigField("String", "STICKER_PACK_FILE", "\"sticker_packs.json\"")
Currently, there is no iOS support. Pull requests for this are more than welcome for this.
Check if WhatsApp is installed.
bool whatsAppInstalled = await WhatsAppStickers.isWhatsAppInstalled;
Check if the WhatsApp Consumer package is installed
bool whatsAppConsumerAppInstalled = await WhatsAppStickers.isWhatsAppConsumerAppInstalled;
Check if the WhatsApp Business package app is installed
bool whatsAppSmbAppInstalled = await WhatsAppStickers.isWhatsAppSmbAppInstalled;
Check if a sticker pack is installed.
_stickerPackInstalled = await WhatsAppStickers().isStickerPackInstalled(_stickerPackIdentifier);
Add a sticker pack to WhatsApp.
WhatsAppStickers().addStickerPack(
packageName: WhatsAppPackage.Consumer,
stickerPackIdentifier: _stickerPackIdentifier,
stickerPackName: _stickerPackName,
listener: _listener,
);
Updated Sticker Pack contents and notify listeners
WhatsAppStickers().updatedStickerPacks(_stickerPackIdentifier);
The Add Sticker Pack Listener
Future<void> _listener(StickerPackResult action, bool result, {String error}) async {
// Do what you must here
}
Here is an example of how to create a custom stickers_packs.json file.
void createLocalFile() async {
String dir = (await getApplicationDocumentsDirectory()).path;
Directory stickersDirectory = Directory("$dir/sticker_packs");
if (!await stickersDirectory.exists()) {
await stickersDirectory.create();
}
File jsonFile = File('$dir/sticker_packs/sticker_packs.json');
String content = jsonEncode(stickerPacks);
jsonFile.writeAsStringSync(content);
}
Dependency list 4 items
{"sdk":"flutter"}^2.0.1^3.0.0{"sdk":"flutter"}Start with your use case, compare repository activity, and check the original project before adopting it.
“A repository is the most basic element of GitHub.”
GitHub Docs — About repositories ↗