1

私は奇妙な状況に直面しました。Google Play Services に接続したら、GamesClient.loadAchievements(this, true); を呼び出して実績の配列をリクエストします。onAchievementsLoaded() メソッドで、すべての実績が正しいタイプであることがわかります。確実に Achievement.getType() を呼び出すと、アチーブメントごとに Achievement.TYPE_INCREMENTAL が返されます。

を使用して実績を 1 増やしようとすると、問題が発生します。

GamesClient.incrementAchievementImmediate(this, id, 1);

onAchievementUpdated() で statusCode を受け取り3002 (STATUS_ACHIEVEMENT_NOT_INCREMENTAL)ます。

私は完全に欲求不満です。問題は、最初はすべての実績が他のタイプ (インクリメンタルではない) でしたが、開発コンソールでタイプが変更されたことです。あれから2日経過。

4

1 に答える 1

1

これは私のミスでした。もう一度コードを見直したところ、間違った実績 ID を送信していたことがわかりました。しかし、Google の人たちも醜いです - 彼らはそのために間違ったステータス コードを報告します。ドキュメントによると、応答は STATUS_ACHIEVEMENT_UNKNOWN である必要があります。代わりに 3002 STATUS_ACHIEVEMENT_NOT_INCREMENTAL を受け取っていたので、かなり混乱しました。

于 2013-11-08T14:54:44.610 に答える