web-dev-qa-db-ja.com

Android Wearアプリが原因でgetGoogleAppIdがステータスエラーで失敗する

Android WearアプリがMoto360で正常に動作していました。このアプリは、Google管理コンソールでGoogle Play開発者サービスとGCM APIにアクセスします。次に、別の時計(LG G Watch)を使用しようとしました。時計とペアリングできる時計は常に1つだけなので、LG G Watchとペアリングするためにmoto360を「忘れる」必要がありました。Googleアプリに接続できないようです。 API(GCMまたは再生サービス)次のエラーが発生します:

I/GMPM    ( 2746): App measurement is starting up
E/GMPM    ( 2746): getGoogleAppId failed with status: 10
E/GMPM    ( 2746): Uploading is not possible. App measurement disabled

このエラーは、時計と付随するモバイルアプリの両方のlogcatで発生します。ステータスコードを調べてみましたが、情報が見つかりませんでした。誰かがこのステータスコードが何を意味するのかを手助けするのを手伝ってくれませんか?

12
VarsMolta

addApiaddApiIfAvailableに置き換えます

mGoogleApiClient = new GoogleApiClient.Builder(this)                     
                    .addApiIfAvailable(Drive.API)
                    .addScope(Drive.SCOPE_FILE)
                    .addConnectionCallbacks(this)
                    .addOnConnectionFailedListener(this)
                    .build();
2
Ashish Patel

私はグーグルのジオフェンシングの例で同じ問題を抱えていました。以下に示すように、場所とウェアラブルAPIバージョンの不一致が原因です。

dependencies {
    compile "com.Android.support:support-v4:23.0.0"
    compile "com.Android.support:support-v13:23.0.0"
    compile "com.Android.support:cardview-v7:23.0.0"
    compile 'com.google.Android.gms:play-services-location:7.3.0'
    compile 'com.google.Android.gms:play-services-wearable:7.8.0'
    compile 'com.Android.support:support-v13:23.0.1'
    wearApp project(':Wearable')
}

Build.gradeを確認して、使用中のAPIのバージョンを確認します。

0
Patrice Conil

私は同じエラーがありましたが、クライアントのインスタンス化で解決されました:

            GoogleApiClient  mGoogleClient = new GoogleApiClient.Builder(this)
            .addApi(Wearable.API)
            .addConnectionCallbacks(this)
            .addOnConnectionFailedListener(this)
            .build();

そして、必ずこのクラスをオーバーライドしてください:

@Override
    protected void onStart(){
        super.onStart();
        if (!mResolvingError) {  // more about this later
            mGoogleClient.connect();
        }
    }

    @Override
    protected void onStop(){
        mGoogleClient.disconnect();
        super.onStop();
    }

    @Override
    public void onConnected(Bundle bundle) {
        Log.d(TAG, "Connected");
    }

    @Override
    public void onConnectionSuspended(int i) {

    }

    @Override
    public void onConnectionFailed(ConnectionResult connectionResult) {
        Log.d(TAG, "Failed to connect");
    }

Log.dを使用して接続をテストしました。

0
7xRobin