如何让谷歌播放服务工作?它只是不起作用

时间:2016-04-11 15:24:13

标签: android google-play-services

我已经尝试将google play服务整合到我的应用程序中好几天了,我完全感到沮丧。我无法将它集成到eclipse中,所以我决定从现在开始使用Android Studio,所以对我来说也是新的。 我无法从谷歌获取样本工作(我猜想一些依赖性错误,因为AS无法找到R),所以我尝试设置一个新的测试项目。但是onConnectionFailed被调用,我首先得到“Sign_In_Required”结果,并提示我可以点击我的googleaccount的窗口,当我重新启动应用程序时,我得到一个“INTERNAL_ERROR”结果或者我需要再次登录。

那么我想要你什么?我想知道可能出现什么问题,也许是一些非常好的教程如何使用谷歌播放服务,因为谷歌的那些似乎很复杂(因为如果我尝试它们似乎通常不起作用)。

Androidmanifest:

<meta-data android:name="com.google.android.gms.games.APP_ID"
    android:value="@string/app_id" />
<meta-data android:name="com.google.android.gms.version"
    android:value="@integer/google_play_services_version" />

游戏-ids.xml:

<resources>
    <string name="app_id">(myappidnumber)</string>
    <string name="package_name">(packagename)</string>
</resources>

的build.gradle:

dependencies {
...
    compile 'com.google.android.gms:play-services:8.4.0'
}

MainAcivity:

package (mypackage);

import android.content.IntentSender;
import android.os.Bundle;

import com.google.android.gms.common.ConnectionResult;
import com.google.android.gms.common.GooglePlayServicesUtil;
import com.google.android.gms.common.api.GoogleApiClient;
import com.google.android.gms.common.api.GoogleApiClient.OnConnectionFailedListener;

import com.google.android.gms.drive.*;
import android.support.v4.app.FragmentActivity;
import android.util.Log;

public class MainActivity extends FragmentActivity implements GoogleApiClient.ConnectionCallbacks, OnConnectionFailedListener{

    private GoogleApiClient myClient;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

         myClient = new GoogleApiClient.Builder(this)
                 .enableAutoManage(this ,
                         this )
                .addApi(Drive.API)
                .addScope(Drive.SCOPE_FILE)
                .addConnectionCallbacks(this)
                .addOnConnectionFailedListener(this)
                .build();
    }

    @Override
    public void onStart(){
        super.onStart();
        myClient.connect();
    }

    @Override
    public void onConnected(Bundle b) {

    }

    @Override
    public void onConnectionFailed(ConnectionResult result) {
        Log.d("CODE1", "onConnectionFailed() called, result: " + result);
    }

    @Override
    public void onConnectionSuspended(int result) {
    }
}

1 个答案:

答案 0 :(得分:1)

根据Daniel F

  
      
  1. 确保您已使用相应的证书指纹注册了包名称,并
  2.   
  3. 是否(重新)使用现有项目,然后您应该检查此项目是否有产品名称电子邮件地址(仔细检查那个)有了它,两者都可以在“同意屏幕”部分找到。
  4.   

以下是Android Studio 101的youtube播放列表,可指导您如何使用它。

您还可以找到Google提供的android training,因为它会提供示例以及如何(实现不同的API,代码示例和错误代码)。

此处还有类似的问题,可以在您的应用中为implementing google play service提供指导。