teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

1

「REV001」部分を修正

2020/08/16 13:31

投稿

sunmo
sunmo

スコア10

title CHANGED
File without changes
body CHANGED
@@ -82,20 +82,42 @@
82
82
  #endregion
83
83
 
84
84
  #region 商品の読み込み
85
- public void LoadPurchases_InApp()
85
+ //public void LoadPurchases_InApp()
86
+ //{
87
+
88
+ // if (billingClient.IsReady)
89
+ // {
90
+ // List<string> skuList = new List<string>();
91
+ // skuList.Add("android.test.purchased");
92
+ // skuList.Add("android.test.canceled");
93
+ // skuList.Add("android.test.item_unavailable");
94
+ // SkuDetailsParams.Builder paramse = SkuDetailsParams.NewBuilder();
95
+ // paramse.SetSkusList(skuList).SetType(BillingClient.SkuType.Inapp);
96
+ // billingClient.QuerySkuDetailsAsync(paramse.Build());(★応答がない)
97
+ // }
98
+ //}
99
+ //変更 REV001
100
+ public async Task<QuerySkuDetailsResult> LoadPurchases_InApp()
86
101
  {
102
+ if (BillingClient == null || !BillingClient.IsReady)
103
+ {
104
+ await ConnectAsync();
105
+ }
87
106
 
88
- if (billingClient.IsReady)
107
+ IList<string> skuList = new JavaList<string>
89
108
  {
90
- List<string> skuList = new List<string>();
91
- skuList.Add("android.test.purchased");
109
+ "android.test.purchased",
92
- skuList.Add("android.test.canceled");
110
+ "android.test.canceled",
93
- skuList.Add("android.test.item_unavailable");
111
+ "android.test.item_unavailable"
94
- SkuDetailsParams.Builder paramse = SkuDetailsParams.NewBuilder();
112
+ };
113
+
95
- paramse.SetSkusList(skuList).SetType(BillingClient.SkuType.Inapp);
114
+ SkuDetailsParams paramse = SkuDetailsParams.NewBuilder().SetSkusList(skuList).SetType(BillingClient.SkuType.Inapp).Build();
115
+
96
- billingClient.QuerySkuDetailsAsync(paramse.Build());(★応答がない)
116
+ var querySkuDetailsResult = await BillingClient.QuerySkuDetailsAsync(paramse);
117
+ return querySkuDetailsResult;
97
118
  }
98
119
  }
120
+ //<=== 変更 REV001
99
121
 
100
122
  public void OnSkuDetailsResponse(BillingResult p0, IList<SkuDetails> p1)
101
123
  {
@@ -220,13 +242,23 @@
220
242
  #endregion
221
243
  }
222
244
 
245
+      //private void BuyInApp()
246
+ //{
247
+ // //商品の詳細情報を取得
248
+ // billingSupport.LoadPurchases_InApp();
249
+
250
+ // //商品を購入
251
+ // billingSupport.PurchaseInApp(billingSupport.SkuDetails[0]);//★ここでSkuDetailsがnullになる
252
+ //}
253
+ //変更 REV001 ===>
223
-     private void BuyInApp()
254
+ private async Task BuyInApp()
224
255
  {
225
256
  //商品の詳細情報を取得
226
- billingSupport.LoadPurchases_InApp();
257
+ var response = await billingSupport.LoadPurchases_InApp();
227
258
 
228
- //商品を購入
259
+ //商品を購入/消費
229
- billingSupport.PurchaseInApp(billingSupport.SkuDetails[0]);//★ここでSkuDetailsがnullになる
260
+ billingSupport.PurchaseInApp(billingSupport.SkuDetails[0]);
230
261
  }
262
+ //<=== 変更 REV001
231
263
    }
232
264
  ```