質問編集履歴

2

調査ログ追記

2016/09/29 07:06

投稿

chibikurosan
chibikurosan

スコア52

test CHANGED
File without changes
test CHANGED
@@ -301,3 +301,157 @@
301
301
 
302
302
 
303
303
  ```
304
+
305
+
306
+
307
+ > 追記
308
+
309
+ ※ご指摘の点検証ログの追記します。
310
+
311
+
312
+
313
+ ご指摘の点確認させて頂きました。
314
+
315
+
316
+
317
+ ・また、アプリ実行時にonConnectionFailedの処理が流れていないかを確認してください。
318
+
319
+ アプリ起動時に処理が流れております。。
320
+
321
+
322
+
323
+ ```
324
+
325
+
326
+
327
+ @Override
328
+
329
+ public void onConnectionFailed(ConnectionResult connectionResult) {
330
+
331
+ int errorCode = connectionResult.getErrorCode();
332
+
333
+
334
+
335
+ Log.d("apis","errorCode" + errorCode);
336
+
337
+
338
+
339
+ // サインインしていない場合、サインイン処理を実行する
340
+
341
+ if (errorCode == ConnectionResult.SIGN_IN_REQUIRED
342
+
343
+ && !mIntentInProgress && connectionResult.hasResolution()) {
344
+
345
+
346
+
347
+ Log.d("apis","a");
348
+
349
+
350
+
351
+ try {
352
+
353
+ mIntentInProgress = true;
354
+
355
+ connectionResult.startResolutionForResult(this, 100);
356
+
357
+ } catch (IntentSender.SendIntentException e) {
358
+
359
+ mIntentInProgress = false;
360
+
361
+ mGoogleApiClient.connect();
362
+
363
+ }
364
+
365
+ }
366
+
367
+ }
368
+
369
+
370
+
371
+ ```
372
+
373
+
374
+
375
+ デバッグログ
376
+
377
+ D/apis: errorCode4
378
+
379
+ D/apis: a
380
+
381
+
382
+
383
+
384
+
385
+
386
+
387
+
388
+
389
+ ・mGoogleApiClientがnullじゃないか
390
+
391
+ → nullじゃないようです。com.google.android.gms.internal.zzpy@42bb5208
392
+
393
+
394
+
395
+ ・mGoogleApiClient.isConnectedがtrueを返すか。
396
+
397
+ → falseを返してしまいました。。
398
+
399
+
400
+
401
+ ```
402
+
403
+
404
+
405
+ @Override
406
+
407
+ protected void onActivityResult(int requestCode, int resultCode, Intent data) {
408
+
409
+ super.onActivityResult(requestCode, resultCode, data);
410
+
411
+
412
+
413
+ Log.d("apis","apis" + requestCode + "____" + resultCode + "__EEEE___" + RESULT_OK + "___ mGoogleApiClient.isConnected()" + mGoogleApiClient.isConnected());
414
+
415
+
416
+
417
+
418
+
419
+ if (requestCode == 100) {
420
+
421
+ mIntentInProgress = false;
422
+
423
+ if (resultCode != RESULT_OK) {
424
+
425
+ // エラーの場合、resultCodeにGamesActivityResultCodes内の値が入っている
426
+
427
+ Log.d("apis","apis" + resultCode + "mGoogleApiClient:" + mGoogleApiClient);
428
+
429
+
430
+
431
+ // スコア送信
432
+
433
+ Games.Leaderboards.submitScore(mGoogleApiClient,"リーダーボードID",7);
434
+
435
+ return;
436
+
437
+ }else{
438
+
439
+ // スコア送信
440
+
441
+ Games.Leaderboards.submitScore(mGoogleApiClient,"リーダーボードID",5);
442
+
443
+
444
+
445
+ }
446
+
447
+
448
+
449
+ ```
450
+
451
+
452
+
453
+ デバッグログ
454
+
455
+ D/apis: apis100____10004__EEEE___-1___ mGoogleApiClient.isConnected()false
456
+
457
+ D/apis: apis10004mGoogleApiClient:com.google.android.gms.internal.zzpy@42bb5208

1

初期化部分も追記

2016/09/29 07:06

投稿

chibikurosan
chibikurosan

スコア52

test CHANGED
File without changes
test CHANGED
@@ -101,3 +101,203 @@
101
101
 
102
102
 
103
103
  ```
104
+
105
+
106
+
107
+
108
+
109
+
110
+
111
+ > 追記
112
+
113
+ ※@yonaさんご指摘ありがとうございます!
114
+
115
+
116
+
117
+ ### 初期化部分
118
+
119
+
120
+
121
+ http://qiita.com/yamacraft/items/90bfb804538abd404b3e#_reference-ffffee604ed2ee9514f6
122
+
123
+ を参考にテスト中です。
124
+
125
+
126
+
127
+ ```java:MainActivity.java
128
+
129
+
130
+
131
+
132
+
133
+ public class MainActivity extends FragmentActivity implements GoogleApiClient.ConnectionCallbacks, GoogleApiClient.OnConnectionFailedListener {
134
+
135
+
136
+
137
+ private GoogleApiClient mGoogleApiClient;
138
+
139
+ private boolean mIntentInProgress;
140
+
141
+
142
+
143
+
144
+
145
+ @Override
146
+
147
+ protected void onStart() {
148
+
149
+ super.onStart();
150
+
151
+
152
+
153
+ mGoogleApiClient.connect();
154
+
155
+
156
+
157
+ }
158
+
159
+
160
+
161
+ @Override
162
+
163
+ protected void onCreate(Bundle savedInstanceState) {
164
+
165
+ super.onCreate(savedInstanceState);
166
+
167
+ setContentView(R.layout.activity_main);
168
+
169
+
170
+
171
+
172
+
173
+ // 初期設定
174
+
175
+ // 各種リスナー登録とGoogleAPIで利用するAPIやスコープの設定
176
+
177
+ mGoogleApiClient = new GoogleApiClient.Builder(this)
178
+
179
+ .addConnectionCallbacks(this)
180
+
181
+ .addOnConnectionFailedListener(this)
182
+
183
+ .addApi(Games.API).addScope(Games.SCOPE_GAMES)
184
+
185
+ .build();
186
+
187
+
188
+
189
+ }
190
+
191
+
192
+
193
+
194
+
195
+ @Override
196
+
197
+ protected void onActivityResult(int requestCode, int resultCode, Intent data) {
198
+
199
+ super.onActivityResult(requestCode, resultCode, data);
200
+
201
+
202
+
203
+ Log.d("apis","apis111" + requestCode + "____" + resultCode + "___" + RESULT_OK);
204
+
205
+
206
+
207
+ if (requestCode == 100) {
208
+
209
+ mIntentInProgress = false;
210
+
211
+ if (resultCode != RESULT_OK) {
212
+
213
+
214
+
215
+ Log.d("apis","apistesttest" + resultCode);
216
+
217
+ // スコア送信
218
+
219
+ Games.Leaderboards.submitScore(mGoogleApiClient,"リーダーボードID",5);
220
+
221
+ return;
222
+
223
+ }
224
+
225
+
226
+
227
+
228
+
229
+ if (!mGoogleApiClient.isConnected()) {
230
+
231
+
232
+
233
+ mGoogleApiClient.reconnect();
234
+
235
+ }else{
236
+
237
+
238
+
239
+
240
+
241
+ }
242
+
243
+ }
244
+
245
+ }
246
+
247
+
248
+
249
+
250
+
251
+ @Override
252
+
253
+ public void onConnectionSuspended(int i) {
254
+
255
+ mGoogleApiClient.connect();
256
+
257
+ }
258
+
259
+
260
+
261
+ @Override
262
+
263
+ public void onConnectionFailed(ConnectionResult connectionResult) {
264
+
265
+ int errorCode = connectionResult.getErrorCode();
266
+
267
+
268
+
269
+ // サインインしていない場合、サインイン処理を実行する
270
+
271
+ if (errorCode == ConnectionResult.SIGN_IN_REQUIRED
272
+
273
+ && !mIntentInProgress && connectionResult.hasResolution()) {
274
+
275
+
276
+
277
+ Log.d("apis","apis22");
278
+
279
+
280
+
281
+ try {
282
+
283
+ mIntentInProgress = true;
284
+
285
+ connectionResult.startResolutionForResult(this, 100);
286
+
287
+ } catch (IntentSender.SendIntentException e) {
288
+
289
+ mIntentInProgress = false;
290
+
291
+ mGoogleApiClient.connect();
292
+
293
+ }
294
+
295
+ }
296
+
297
+ }
298
+
299
+
300
+
301
+
302
+
303
+ ```