getPurchaseId method

  1. @override
Future<Map<String, String>> getPurchaseId(
  1. String userId, {
  2. OneStoreConfig? config,
})
override

Implementation

@override
Future<Map<String, String>> getPurchaseId(
  String userId, {
  OneStoreConfig? config,
}) async {
  final resolvedConfig = (config ?? const OneStoreConfig()).resolved();
  final Object? raw = await methodChannel.invokeMethod<Object>(
    'getPurchaseId',
    <String, Object>{
      'userId': userId,
      ...resolvedConfig.toMethodChannelMap(),
    },
  );
  if (raw == null) {
    return <String, String>{
      'purchaseId': 'NA',
      'collectionId': 'NA',
      'azureToken': 'NA',
    };
  }
  if (raw is! Map) {
    return <String, String>{
      'purchaseId': 'NA',
      'collectionId': 'NA',
      'azureToken': 'NA',
    };
  }
  final Map<dynamic, dynamic> map = raw;
  final Object? pid = map['purchaseId'];
  final Object? cid = map['collectionId'];
  final Object? at = map['azureToken'];
  return <String, String>{
    'purchaseId': pid is String ? pid : 'NA',
    'collectionId': cid is String ? cid : 'NA',
    'azureToken': at is String ? at : 'NA',
  };
}