start method

void start()

Starts listening to the store's updates, once. Called on first use and by dartvel_flutter at startup: StoreKit delivers transactions that completed while the application was closed only to a listener.

Implementation

void start() {
  final DVStoreClient? client = _store;
  if (client == null || _updates != null) return;
  _updates = client.updates.listen((DVStoreDeviceTransaction transaction) {
    if (transaction.state == DVStoreTransactionState.pending) return;
    unawaited(_settle(client, transaction).then((_) {}, onError: (Object e) {
      _log.log('A store update could not be settled and will be presented '
          'again: $e', level: DVLogLevel.warn);
    }));
  });
}