flutter_amazon_iap 0.0.1 copy "flutter_amazon_iap: ^0.0.1" to clipboard
flutter_amazon_iap: ^0.0.1 copied to clipboard

discontinued
PlatformAndroid

Amazon In-app purchase for Flutter use Amazon AppStore SDK

example/lib/main.dart

import 'dart:async';

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

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

class MyApp extends StatefulWidget {
  const MyApp({super.key});

  @override
  State<MyApp> createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> {
  FlutterAmazonIapPlugin flutterAmazonIapPlugin = FlutterAmazonIapPlugin.instance;
  List<String> consumableSkus = ['consumable1', 'consumable2'];
  List<String> subscriptionSkus = ['subscription1', 'subscription2'];
  StreamSubscription<UserDataResponse?>? userDataSubscription;
  StreamSubscription<PurchaseUpdatesResponse?>? purchaseUpdatesSubscription;
  StreamSubscription<ProductDataResponse?>? productSubscription;
  StreamSubscription<PurchaseResponse?>? purchaseSubscription;

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

  Future<void> initialize() async {
    await flutterAmazonIapPlugin.initialize();
    userDataSubscription = FlutterAmazonIapPlugin.userDataResponse?.listen((event) {
      print(event);
    });

    purchaseUpdatesSubscription = FlutterAmazonIapPlugin.purchaseUpdatesResponse?.listen((event) {
      print(event);
    });

    productSubscription = FlutterAmazonIapPlugin.productResponse?.listen((event) {
      print(event);
    });

    purchaseSubscription = FlutterAmazonIapPlugin.purchaseResponse?.listen((event) {
      print(event);
    });
  }

  @override
  void dispose() {
    userDataSubscription?.cancel();
    purchaseUpdatesSubscription?.cancel();
    productSubscription?.cancel();
    purchaseSubscription?.cancel();
    super.dispose();
  }

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: const Text('Flutter Amazon Iap'),
        ),
        body: Column(
          crossAxisAlignment: CrossAxisAlignment.center,
          children: [
            ElevatedButton(
              onPressed: () => flutterAmazonIapPlugin.getUserData(),
              child: const Text('Get User Data'),
            ),
            const SizedBox(height: 16),
            ElevatedButton(
              onPressed: () => flutterAmazonIapPlugin.getPurchaseUpdates(),
              child: const Text('Get Purchase Updates'),
            ),
            const SizedBox(height: 16),
            ElevatedButton(
              onPressed: () => flutterAmazonIapPlugin.getProduct([...consumableSkus, ...subscriptionSkus]),
              child: const Text('Get Product'),
            ),
            const SizedBox(height: 16),
            ElevatedButton(
              onPressed: () => flutterAmazonIapPlugin.purchase(consumableSkus.first),
              child: const Text('Purchase'),
            ),
            const SizedBox(height: 16),
          ],
        ),
      ),
    );
  }
}
0
likes
140
points
25
downloads

Documentation

API reference

Publisher

unverified uploader

Weekly Downloads

Amazon In-app purchase for Flutter use Amazon AppStore SDK

Homepage

License

Apache-2.0 (license)

Dependencies

flutter, freezed_annotation, json_annotation, plugin_platform_interface

More

Packages that depend on flutter_amazon_iap

Packages that implement flutter_amazon_iap