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

質問編集履歴

2

調査ログ追記

2016/09/29 07:06

投稿

chibikurosan
chibikurosan

スコア52

title CHANGED
File without changes
body CHANGED
@@ -149,4 +149,81 @@
149
149
  }
150
150
 
151
151
 
152
- ```
152
+ ```
153
+
154
+ > 追記
155
+ ※ご指摘の点検証ログの追記します。
156
+
157
+ ご指摘の点確認させて頂きました。
158
+
159
+ ・また、アプリ実行時にonConnectionFailedの処理が流れていないかを確認してください。
160
+ アプリ起動時に処理が流れております。。
161
+
162
+ ```
163
+
164
+ @Override
165
+ public void onConnectionFailed(ConnectionResult connectionResult) {
166
+ int errorCode = connectionResult.getErrorCode();
167
+
168
+ Log.d("apis","errorCode" + errorCode);
169
+
170
+ // サインインしていない場合、サインイン処理を実行する
171
+ if (errorCode == ConnectionResult.SIGN_IN_REQUIRED
172
+ && !mIntentInProgress && connectionResult.hasResolution()) {
173
+
174
+ Log.d("apis","a");
175
+
176
+ try {
177
+ mIntentInProgress = true;
178
+ connectionResult.startResolutionForResult(this, 100);
179
+ } catch (IntentSender.SendIntentException e) {
180
+ mIntentInProgress = false;
181
+ mGoogleApiClient.connect();
182
+ }
183
+ }
184
+ }
185
+
186
+ ```
187
+
188
+ デバッグログ
189
+ D/apis: errorCode4
190
+ D/apis: a
191
+
192
+
193
+
194
+
195
+ ・mGoogleApiClientがnullじゃないか
196
+ → nullじゃないようです。com.google.android.gms.internal.zzpy@42bb5208
197
+
198
+ ・mGoogleApiClient.isConnectedがtrueを返すか。
199
+ → falseを返してしまいました。。
200
+
201
+ ```
202
+
203
+ @Override
204
+ protected void onActivityResult(int requestCode, int resultCode, Intent data) {
205
+ super.onActivityResult(requestCode, resultCode, data);
206
+
207
+ Log.d("apis","apis" + requestCode + "____" + resultCode + "__EEEE___" + RESULT_OK + "___ mGoogleApiClient.isConnected()" + mGoogleApiClient.isConnected());
208
+
209
+
210
+ if (requestCode == 100) {
211
+ mIntentInProgress = false;
212
+ if (resultCode != RESULT_OK) {
213
+ // エラーの場合、resultCodeにGamesActivityResultCodes内の値が入っている
214
+ Log.d("apis","apis" + resultCode + "mGoogleApiClient:" + mGoogleApiClient);
215
+
216
+ // スコア送信
217
+ Games.Leaderboards.submitScore(mGoogleApiClient,"リーダーボードID",7);
218
+ return;
219
+ }else{
220
+ // スコア送信
221
+ Games.Leaderboards.submitScore(mGoogleApiClient,"リーダーボードID",5);
222
+
223
+ }
224
+
225
+ ```
226
+
227
+ デバッグログ
228
+ D/apis: apis100____10004__EEEE___-1___ mGoogleApiClient.isConnected()false
229
+ D/apis: apis10004mGoogleApiClient:com.google.android.gms.internal.zzpy@42bb5208

1

初期化部分も追記

2016/09/29 07:06

投稿

chibikurosan
chibikurosan

スコア52

title CHANGED
File without changes
body CHANGED
@@ -49,4 +49,104 @@
49
49
  <meta-data android:name="com.google.android.gms.version"
50
50
  android:value="@integer/google_play_services_version" />
51
51
 
52
+ ```
53
+
54
+
55
+
56
+ > 追記
57
+ ※@yonaさんご指摘ありがとうございます!
58
+
59
+ ### 初期化部分
60
+
61
+ http://qiita.com/yamacraft/items/90bfb804538abd404b3e#_reference-ffffee604ed2ee9514f6
62
+ を参考にテスト中です。
63
+
64
+ ```java:MainActivity.java
65
+
66
+
67
+ public class MainActivity extends FragmentActivity implements GoogleApiClient.ConnectionCallbacks, GoogleApiClient.OnConnectionFailedListener {
68
+
69
+ private GoogleApiClient mGoogleApiClient;
70
+ private boolean mIntentInProgress;
71
+
72
+
73
+ @Override
74
+ protected void onStart() {
75
+ super.onStart();
76
+
77
+ mGoogleApiClient.connect();
78
+
79
+ }
80
+
81
+ @Override
82
+ protected void onCreate(Bundle savedInstanceState) {
83
+ super.onCreate(savedInstanceState);
84
+ setContentView(R.layout.activity_main);
85
+
86
+
87
+ // 初期設定
88
+ // 各種リスナー登録とGoogleAPIで利用するAPIやスコープの設定
89
+ mGoogleApiClient = new GoogleApiClient.Builder(this)
90
+ .addConnectionCallbacks(this)
91
+ .addOnConnectionFailedListener(this)
92
+ .addApi(Games.API).addScope(Games.SCOPE_GAMES)
93
+ .build();
94
+
95
+ }
96
+
97
+
98
+ @Override
99
+ protected void onActivityResult(int requestCode, int resultCode, Intent data) {
100
+ super.onActivityResult(requestCode, resultCode, data);
101
+
102
+ Log.d("apis","apis111" + requestCode + "____" + resultCode + "___" + RESULT_OK);
103
+
104
+ if (requestCode == 100) {
105
+ mIntentInProgress = false;
106
+ if (resultCode != RESULT_OK) {
107
+
108
+ Log.d("apis","apistesttest" + resultCode);
109
+ // スコア送信
110
+ Games.Leaderboards.submitScore(mGoogleApiClient,"リーダーボードID",5);
111
+ return;
112
+ }
113
+
114
+
115
+ if (!mGoogleApiClient.isConnected()) {
116
+
117
+ mGoogleApiClient.reconnect();
118
+ }else{
119
+
120
+
121
+ }
122
+ }
123
+ }
124
+
125
+
126
+ @Override
127
+ public void onConnectionSuspended(int i) {
128
+ mGoogleApiClient.connect();
129
+ }
130
+
131
+ @Override
132
+ public void onConnectionFailed(ConnectionResult connectionResult) {
133
+ int errorCode = connectionResult.getErrorCode();
134
+
135
+ // サインインしていない場合、サインイン処理を実行する
136
+ if (errorCode == ConnectionResult.SIGN_IN_REQUIRED
137
+ && !mIntentInProgress && connectionResult.hasResolution()) {
138
+
139
+ Log.d("apis","apis22");
140
+
141
+ try {
142
+ mIntentInProgress = true;
143
+ connectionResult.startResolutionForResult(this, 100);
144
+ } catch (IntentSender.SendIntentException e) {
145
+ mIntentInProgress = false;
146
+ mGoogleApiClient.connect();
147
+ }
148
+ }
149
+ }
150
+
151
+
52
152
  ```