質問編集履歴
1
文法の修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -30,12 +30,6 @@
|
|
30
30
|
|
31
31
|
try {
|
32
32
|
|
33
|
-
/// Androidの場合アイテムの購入時、レシートと同時にそのレシートの署名を取得出来ます。
|
34
|
-
|
35
|
-
/// `purchaseDetails.billingClientPurchase.signature`がレシートの署名データ
|
36
|
-
|
37
|
-
/// `purchaseDetails.verificationData.localVerificationData`が生のレシートデータとなります。
|
38
|
-
|
39
33
|
final body = json.encode({
|
40
34
|
|
41
35
|
'signature': purchaseDetails.billingClientPurchase.signature, //コンパイルエラー
|
@@ -46,31 +40,11 @@
|
|
46
40
|
|
47
41
|
|
48
42
|
|
49
|
-
/// `RECEIPT_VERIFICATION_ENDPOINT_FOR_ANDROID`にはCloudFunctionsのエンドポイントが設定されている想定です。
|
50
|
-
|
51
|
-
/// 双方のデータをレシート検証用エンドポイントに送信し、ステータスコード200が返却されれば検証は完了です。
|
52
|
-
|
53
|
-
/// 200以外のステータスコードを受信した場合、`catch`にて補足され即座に`false`が返却されます。
|
54
|
-
|
55
43
|
await http.post(RECEIPT_VERIFICATION_ENDPOINT_FOR_ANDROID, body: body);
|
56
44
|
|
57
45
|
|
58
46
|
|
59
|
-
/// 以下はレシート検証が正常に完了した場合の実装サンプルです。
|
60
|
-
|
61
|
-
/// isAutoRenewing = true の場合、定期購読タイプのアイテムであると判定出来ます。
|
62
|
-
|
63
47
|
final typeOfSubscription = purchaseDetails.billingClientPurchase.isAutoRenewing; //コンパイルエラー
|
64
|
-
|
65
|
-
if (typeOfSubscription) {
|
66
|
-
|
67
|
-
/// 定期購読タイプのアイテムの場合の処理
|
68
|
-
|
69
|
-
} else {
|
70
|
-
|
71
|
-
/// 非消費型、または消費型アイテムの場合の処理
|
72
|
-
|
73
|
-
}
|
74
48
|
|
75
49
|
} catch (e) {
|
76
50
|
|