Reputation: 365
I am trying to integrate google+ sign in in an Android application. The API is connecting and the sign in also works. But unfortunately i am unable to retrieve users profile info. I have put 2 SHA1 key on the developer console. One is using the Android's SDK's debug.keystore file and another is from project keystore files which has been generated in Android Studio.
GoogleApiClient has been setup like this:
mGoogleApiClient = new GoogleApiClient.Builder(this).addConnectionCallbacks(this).addOnConnectionFailedListener(this).addApi(Plus.API, Plus.PlusOptions.builder().build()).addScope(Plus.SCOPE_PLUS_PROFILE)
.addScope(Plus.SCOPE_PLUS_LOGIN).build();
onConnection method:
@Override
public void onConnected(Bundle arg0) {
signedInUser = false;
//Plus.PeopleApi.loadVisible(mGoogleApiClient, null).setResultCallback(this);
Toast.makeText(this, "Connected", Toast.LENGTH_LONG).show();
if (Plus.PeopleApi.getCurrentPerson(mGoogleApiClient) != null) {
Person currentPerson = Plus.PeopleApi.getCurrentPerson(mGoogleApiClient);
String personName = currentPerson.getDisplayName();
String personPhotoUrl = currentPerson.getImage().getUrl();
String email = Plus.AccountApi.getAccountName(mGoogleApiClient);
username.setText(personName);
emailLabel.setText(email);
}
}
AndroidManifest.xml permission:
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="android.permission.USE_CREDENTIALS" />
build.gradle(app) :
apply plugin: 'com.android.application'
apply plugin: 'com.google.gms.google-services'
..........
..........
dependencies {
compile 'com.android.support:appcompat-v7:22.2.1'
compile 'com.facebook.android:facebook-android-sdk:4.1.0'
compile 'com.google.code.gson:gson:2.2.4'
compile 'com.google.android.gms:play-services-identity:8.1.0'
compile 'com.google.android.gms:play-services-plus:8.1.0'
compile files('libs/android_adcolony_2.2.0.jar')
compile files('libs/adcolony.jar')
compile files('libs/heyzap-ads-sdk.jar')
compile files('libs/android_unityads_4.0.1.jar')
}
I followed the official google+ api documentation regarding setting the configuration files and the SHA1 hashkey generation using keytool.
Logcat:
10-19 13:06:36.961 25859-25859/com.littlefroginc.rollnearn.android.activities E/Zygote﹕ MountEmulatedStorage()
10-19 13:06:36.971 5859-25859/com.littlefroginc.rollnearn.android.activities E/Zygote﹕ v2
10-19 13:06:36.971 25859-25859/com.littlefroginc.rollnearn.android.activities I/libpersona﹕ KNOX_SDCARD checking this for 10272
10-19 13:06:36.971 25859-25859/com.littlefroginc.rollnearn.android.activities I/SELinux﹕ Function: selinux_compare_spd_ram, SPD-policy is existed. and_ver=SEPF_SM-G920I_5.0.2 ver=22
10-19 13:06:36.971 25859-25859/com.littlefroginc.rollnearn.android.activities I/libpersona﹕ KNOX_SDCARD not a persona
10-19 13:06:36.971 25859-25859/com.littlefroginc.rollnearn.android.activities I/SELinux﹕ Function: selinux_compare_spd_ram , priority [2] , priority version is VE=SEPF_SM-G920I_5.1.1_0035
10-19 13:06:36.971 25859-25859/com.littlefroginc.rollnearn.android.activities E/Zygote﹕ accessInfo : 0
10-19 13:06:36.971 25859-25859/com.littlefroginc.rollnearn.android.activities E/SELinux﹕ [DEBUG] get_category: variable seinfo: default sensitivity: NULL, cateogry: NULL
10-19 13:06:37.021 25859-25859/com.littlefroginc.rollnearn.android.activities D/TimaKeyStoreProvider﹕ TimaSignature is unavailable
10-19 13:06:37.021 25859-25859/com.littlefroginc.rollnearn.android.activities D/ActivityThread﹕ Added TimaKeyStore provider
10-19 13:06:37.091 25859-25859/com.littlefroginc.rollnearn.android.activities I/InjectionManager﹕ Inside getClassLibPath + mLibMap{0=, 1=}
10-19 13:06:37.111 25859-25859/com.littlefroginc.rollnearn.android.activities I/InjectionManager﹕ Inside getClassLibPath caller
10-19 13:06:37.151 25859-25880/com.littlefroginc.rollnearn.android.activities I/GMPM﹕ App measurement is starting up
10-19 13:06:37.151 25859-25859/com.littlefroginc.rollnearn.android.activities D/InjectionManager﹕ InjectionManager
10-19 13:06:37.151 25859-25859/com.littlefroginc.rollnearn.android.activities D/InjectionManager﹕ fillFeatureStoreMap com.littlefroginc.rollnearn.android.activities
10-19 13:06:37.151 25859-25859/com.littlefroginc.rollnearn.android.activities I/InjectionManager﹕ Constructor com.littlefroginc.rollnearn.android.activities, Feature store :{}
10-19 13:06:37.151 25859-25859/com.littlefroginc.rollnearn.android.activities I/InjectionManager﹕ featureStore :{}
10-19 13:06:37.161 25859-25880/com.littlefroginc.rollnearn.android.activities E/GMPM﹕ getGoogleAppId failed with status: 10
10-19 13:06:37.161 25859-25880/com.littlefroginc.rollnearn.android.activities E/GMPM﹕ Uploading is not possible. App measurement disabled
10-19 13:06:37.161 25859-25859/com.littlefroginc.rollnearn.android.activities D/SecWifiDisplayUtil﹕ Metadata value : SecSettings2
10-19 13:06:37.181 25859-25859/com.littlefroginc.rollnearn.android.activities D/PhoneWindow﹕ *FMB* installDecor mIsFloating : false
10-19 13:06:37.181 25859-25859/com.littlefroginc.rollnearn.android.activities D/PhoneWindow﹕ *FMB* installDecor flags : -2139029248
10-19 13:06:37.201 25859-25859/com.littlefroginc.rollnearn.android.activities I/InjectionManager﹕ Inside getClassLibPath caller
10-19 13:06:37.201 25859-25859/com.littlefroginc.rollnearn.android.activities W/ResourcesManager﹕ Asset path '/system/framework/com.android.media.remotedisplay.jar' does not exist or contains no resources.
10-19 13:06:37.201 25859-25859/com.littlefroginc.rollnearn.android.activities W/ResourcesManager﹕ Asset path '/system/framework/com.android.location.provider.jar' does not exist or contains no resources.
10-19 13:06:37.271 25859-25859/com.littlefroginc.rollnearn.android.activities D/Activity﹕ performCreate Call Injection manager
10-19 13:06:37.271 25859-25859/com.littlefroginc.rollnearn.android.activities I/InjectionManager﹕ dispatchOnViewCreated > Target : com.littlefroginc.rollnearn.android.activities.TestActivity isFragment :false
10-19 13:06:37.281 25859-25889/com.littlefroginc.rollnearn.android.activities D/OpenGLRenderer﹕ Use EGL_SWAP_BEHAVIOR_PRESERVED: true
10-19 13:06:37.291 25859-25859/com.littlefroginc.rollnearn.android.activities D/PhoneWindow﹕ *FMB* isFloatingMenuEnabled mFloatingMenuBtn : null
10-19 13:06:37.291 25859-25859/com.littlefroginc.rollnearn.android.activities D/PhoneWindow﹕ *FMB* isFloatingMenuEnabled return false
10-19 13:06:37.321 25859-25859/com.littlefroginc.rollnearn.android.activities D/SRIB_DCS﹕ log_dcs ThreadedRenderer::initialize entered!
10-19 13:06:37.341 25859-25889/com.littlefroginc.rollnearn.android.activities D/libEGL﹕ loaded /vendor/lib64/egl/libGLES_mali.so
10-19 13:06:37.361 25859-25889/com.littlefroginc.rollnearn.android.activities I/OpenGLRenderer﹕ Initialized EGL, version 1.4
10-19 13:06:37.371 25859-25889/com.littlefroginc.rollnearn.android.activities I/OpenGLRenderer﹕ HWUI protection enabled for context , &this =0x7f761bfec0 ,&mEglDisplay = 1 , &mEglConfig = 1982403248
10-19 13:06:37.371 25859-25889/com.littlefroginc.rollnearn.android.activities D/OpenGLRenderer﹕ Get maximum texture size. GL_MAX_TEXTURE_SIZE is 8192
10-19 13:06:37.371 25859-25889/com.littlefroginc.rollnearn.android.activities D/OpenGLRenderer﹕ Enabling debug mode 0
10-19 13:06:37.371 25859-25889/com.littlefroginc.rollnearn.android.activities D/mali_winsys﹕ new_window_surface returns 0x3000, [1440x2560]-format:1
10-19 13:06:37.471 25859-25859/com.littlefroginc.rollnearn.android.activities I/Timeline﹕ Timeline: Activity_idle id: android.os.BinderProxy@324ea6d time:3900228
10-19 13:06:38.441 25859-25859/com.littlefroginc.rollnearn.android.activities D/SRIB_DCS﹕ log_dcs ThreadedRenderer::initialize entered!
10-19 13:06:38.441 25859-25889/com.littlefroginc.rollnearn.android.activities D/mali_winsys﹕ new_window_surface returns 0x3000, [497x181]-format:1
Upvotes: 0
Views: 699
Reputation: 1061
you can use this code its working for me
mGoogleApiClient = new GoogleApiClient.Builder(LoginActivity.this)
.addConnectionCallbacks(this)
.addOnConnectionFailedListener(this).addApi(Plus.API)
.addScope(Plus.SCOPE_PLUS_LOGIN).build();
ang get email as
String email = Plus.AccountApi.getAccountName(mGoogleApiClient);
Upvotes: 0
Reputation: 6302
Try setting up your GoogleApiClient like this:
mGoogleApiClient = new GoogleApiClient.Builder(this)
.addConnectionCallbacks(this)
.addOnConnectionFailedListener(this)
.addApi(Plus.API)
.addScope(new Scope(Scopes.PROFILE))
.addScope(new Scope(Scopes.EMAIL))
.build();
and if you dont have the below code in your manifest, then add it in side the application tag
<application>
.
.
<meta-data
android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version" />
.
.
</application>
Upvotes: 1