質問編集履歴

6

文言修正

2016/04/11 06:38

投稿

yori_roba
yori_roba

スコア10

test CHANGED
File without changes
test CHANGED
@@ -28,7 +28,7 @@
28
28
 
29
29
 
30
30
 
31
- ですので、保留状態の再現方法があれば教えていただきたいです。
31
+ ですので、保留状態の対策や、再現方法などがあれば教えていただきたいです。
32
32
 
33
33
  よろしくお願いします。
34
34
 

5

文言修正

2016/04/11 06:38

投稿

yori_roba
yori_roba

スコア10

test CHANGED
File without changes
test CHANGED
@@ -1,12 +1,26 @@
1
1
  ###実現したいこと
2
2
 
3
- Androidアプリ内課金のシステムを作っいます。
3
+ Androidアプリ内課金のことについの質問です。
4
+
5
+
6
+
7
+ 現在、Eclipse(Java)にてAndroidの開発をしております。
4
8
 
5
9
  課金時に決済が保留になった時の対策を考えています。
6
10
 
7
11
 
8
12
 
9
13
  ###発生している問題
14
+
15
+ お客様から、アプリ内課金時にGoogle側の購入ステータスが「保留」のまま購入完了しないというお問い合わせがありました。
16
+
17
+
18
+
19
+ 注文が保留になるケースの詳細です↓
20
+
21
+ https://support.google.com/payments/answer/6220327?hl=ja
22
+
23
+
10
24
 
11
25
  現状、エラー時の処理をユーザーキャンセル時、失敗時と分けて実装しています。
12
26
 
@@ -15,6 +29,8 @@
15
29
 
16
30
 
17
31
  ですので、保留状態の再現方法があれば教えていただきたいです。
32
+
33
+ よろしくお願いします。
18
34
 
19
35
 
20
36
 
@@ -97,9 +113,3 @@
97
113
  開発環境・Eclipse4.2
98
114
 
99
115
  ビルドターゲット・19(Android4.4.2)
100
-
101
-
102
-
103
- 注文が保留中になった場合の説明↓
104
-
105
- https://support.google.com/payments/answer/6220327?hl=ja

4

文言修正

2016/04/11 06:37

投稿

yori_roba
yori_roba

スコア10

test CHANGED
File without changes
test CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  Androidでアプリ内課金のシステムを作っています。
4
4
 
5
- 課金時に決済が保留になった時の対策をしたい。
5
+ 課金時に決済が保留になった時の対策を考えてます
6
6
 
7
7
 
8
8
 
@@ -10,11 +10,11 @@
10
10
 
11
11
  現状、エラー時の処理をユーザーキャンセル時、失敗時と分けて実装しています。
12
12
 
13
- 保留状態となった場合の処理がなく、またどうしたら保留状態を再現できるかがわかりませんでした。
13
+ 保留状態となった場合の処理がなく、またどうしたら保留状態を再現できるかがわかりませんでした。
14
14
 
15
15
 
16
16
 
17
- ですので、まずは保留状態の再現方法教えていただきたいです。
17
+ ですので、保留状態の再現方法があれば教えていただきたいです。
18
18
 
19
19
 
20
20
 

3

文言修正

2016/04/08 07:32

投稿

yori_roba
yori_roba

スコア10

test CHANGED
File without changes
test CHANGED
@@ -8,7 +8,7 @@
8
8
 
9
9
  ###発生している問題
10
10
 
11
- 現状、正常系でなければエラー処理となっています。
11
+ 現状、エラー時の処理をユーザーキャンセル時、失敗時分け実装しています。
12
12
 
13
13
  保留状態となった場合の処理がなく、またどうしたら保留状態を再現できるかがわからりませんでした。
14
14
 

2

ソースコードの修正

2016/04/08 07:29

投稿

yori_roba
yori_roba

スコア10

test CHANGED
File without changes
test CHANGED
@@ -82,6 +82,10 @@
82
82
 
83
83
 
84
84
 
85
+ //以下に、正常時の処理
86
+
87
+
88
+
85
89
  ```
86
90
 
87
91
 

1

ソースコードの修正

2016/04/08 07:26

投稿

yori_roba
yori_roba

スコア10

test CHANGED
File without changes
test CHANGED
@@ -20,45 +20,65 @@
20
20
 
21
21
  ###該当のソースコード
22
22
 
23
- apiを叩くクラスを用意し、コックでsuccessとerrorの処理を実装している。
23
+ GooglePlayサーバーが成功しなかった時レスポンス処理
24
24
 
25
- ```ここに言語を入力
25
+ ```
26
26
 
27
- /*api通信時の処理*/
27
+ OnIabPurchaseFinishedListener listener = new OnIabPurchaseFinishedListener() {
28
28
 
29
- public void sendApiPointsBuypoint(String productId, String purchaseData,
29
+ public void onIabPurchaseFinished(IabResult result, Purchase info) {
30
30
 
31
- String dataSignature, String settlement_android_id) {
31
+ if (result.isFailure()) {
32
32
 
33
- apiPointsBuypoint.setApiSendListener(new ApiSendListener() {
34
33
 
35
- @Override
36
34
 
37
- public void success(JSONObject response, JSONObject userStatus) {
35
+ switch (result.getResponse()) {
38
36
 
39
- //ここに成功時の処理を記入
37
+ //ユーザーキャンセル
40
38
 
41
- }
39
+ case IabHelper.BILLING_RESPONSE_RESULT_USER_CANCELED:
42
40
 
43
- @Override
41
+ case IabHelper.IABHELPER_USER_CANCELLED:
44
42
 
45
- public void error(int code, String message) {
43
+ Log.d("ApiInAppBilling", "[ERROR] User Canceles");
46
44
 
47
- if (code != 200){
45
+ CustomDialog customDialog = new CustomDialog(BuyPoint.this,
48
46
 
49
- //ここに失敗時の処理を記入
47
+ getString(R.string.point_buy_cancel),getString(R.string.ok), "");
50
48
 
51
- }else{
49
+ customDialog.setCancelable(false);
52
50
 
53
- //リトライ処理を繰り返す
51
+ customDialog.show();
54
52
 
55
- }
53
+ break;
56
54
 
57
- }
55
+ default:
58
56
 
59
- });
57
+ // 失敗時
60
58
 
59
+ Log.d("ApiInAppBilling", "[ERROR] Result Failed");
60
+
61
+
62
+
63
+ new AlertDialog.Builder(BuyPoint.this)
64
+
65
+ .setTitle("エラー")
66
+
67
+ .setMessage(getString(R.string.point_buy_error))
68
+
69
+ .setPositiveButton(R.string.ok, null)
70
+
71
+ .setCancelable(false).show();
72
+
73
+ break;
74
+
61
- }
75
+ }
76
+
77
+
78
+
79
+ return;
80
+
81
+ }
62
82
 
63
83
 
64
84