Flutter如何使用in_app_purchase插件来实现订阅?

时间:2019-07-23 12:36:09

标签: flutter

我正在使用in_app_purchase(https://pub.dev/packages/in_app_purchase)Flutter插件来实现订阅。

我不明白如何检查某个用户是否仍在订阅: queryPastPurchases方法为每个订阅返回一个PurchaseDetails对象,但是我找不到当前订阅的“状态”(活动/非活动等)。

我可以检查transactionDate字段,但这不是一个好的解决方案。

在此问题上寻求帮助

1 个答案:

答案 0 :(得分:-1)

遍历每个PurchaseDetails,如果 purchase.billingClientPurchase.sku == “您的订阅ID” ,则存在有效订阅。 如果用户取消订阅,并且该订阅已超过结束期限(30天),则 response.past购买列表 将不包含“ your_subscriptionID “

     <?php
     if(isset($_FILES['userfile'])){
       $file_array = reArrayFiles($_FILES['userfile']);
       pre_r($_FILES);
       for($i=0; $i<count($file_array); $i++){

         if($file_array[$i]['error']){
           ?> <div class = "alert alert-danger">
          <?php echo $file_array[$i]['name'].' - 
             '.$phpFileUploadsErrors[$file_array[$i]['error']];
          ?> </div> <?php
         }
         else{

          $extensions = array('jpg', 'png', 'gif', 'jpeg');

          $file_ext = explode('.', $file_array[$i]['name']);

          $file_ext = end($file_ext);
          echo $file_ext;

           if(!in_array($file_ext, $extensions)){
            ?> <div class = "alert alert-danger">
           <?php echo "{$file_array[$i]['name']} Invalid file extension!";
            ?> </div> <?php
          }
          else{
             move_uploaded_file($file_array[$i] 
             ['tmp_name'],"uploads/".$file_array[$i]['name']);
             ?> <div class = "alert alert-success">
             <?php echo $file_array[$i]['name'].' - 
              '.$phpFileUploadsErrors[$file_array[$i]['error']];
           ?> </div> <?php

          }
        }
      } 
    }    ?>