понедельник, 20 июля 2015 г.

Кнопка Google Plus в додатках на Android

title_plus_one_button
Поговоримо про інтеграцію кнопки Google’s +1 з додатками на базі Android.

Перше питання, - "Навіщо?". Все заради популярності вашого додатку. Дана кнопка допоможе підвищи рейтинг в Play Store.
Перш за все, потрібно додати бібліотеку у ваш проект або ж залежність у файл gradle.



  1. dependencies {
  2. compile 'com.google.android.gms:play-services:7.3.0'
  3. }
dependencies {
    compile 'com.google.android.gms:play-services:7.3.0'
}
Після цього додаємо зображення кнопки +1 Button на ваш layout. Розмір кнопки PlusOneButton має бути standard, tall, small чи medium. Для зміни розміру кнопки потрібно змінити атрибут  size.
size of +1 button
  1. <com.google.android.gms.plus.PlusOneButton
  2. xmlns:plus="http://schemas.android.com/apk/lib/com.google.android.gms.plus"
  3. android:id="@+id/plus_one_button"
  4. android:layout_width="wrap_content"
  5. android:layout_height="wrap_content"
  6. plus:size="standard"
  7. plus:annotation="none" />
<com.google.android.gms.plus.PlusOneButton
        xmlns:plus="http://schemas.android.com/apk/lib/com.google.android.gms.plus"
        android:id="@+id/plus_one_button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        plus:size="standard"
        plus:annotation="none" />

В наступному кроці ми оновлюємо код activity.
  1. import android.os.Bundle;
  2. import android.support.v7.app.AppCompatActivity;
  3. import com.google.android.gms.common.api.GoogleApiClient;
  4. import com.google.android.gms.plus.Plus;
  5. import com.google.android.gms.plus.PlusOneButton;

  6. public class MainActivity extends AppCompatActivity {
  7. private static final int PLUS_ONE_REQUEST_CODE = 0;
  8. private static final String APP_URL = "https://play.google.com/store/apps/details?id=app_package";
  9. private PlusOneButton mPlusOneButton;
  10. private GoogleApiClient mGoogleApiClient;

  11. @Override
  12. protected void onCreate(Bundle savedInstanceState) {
  13. super.onCreate(savedInstanceState);
  14. setContentView(R.layout.activity_plus_one);

  15. mPlusOneButton = (PlusOneButton) findViewById(R.id.plus_one_button);
  16. mGoogleApiClient = new GoogleApiClient.Builder(this)
  17. .addApi(Plus.API)
  18. .addScope(Plus.SCOPE_PLUS_LOGIN)
  19. .useDefaultAccount()
  20. .build();
  21. }

  22. @Override
  23. protected void onResume() {
  24. super.onResume();
  25. mPlusOneButton.initialize(APP_URL, PLUS_ONE_REQUEST_CODE);
  26. }

  27. @Override
  28. protected void onStart() {
  29. super.onStart();
  30. mGoogleApiClient.connect();
  31. }

  32. @Override
  33. protected void onStop() {
  34. super.onStop();
  35. mGoogleApiClient.disconnect();
  36. }
  37. }
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import com.google.android.gms.common.api.GoogleApiClient;
import com.google.android.gms.plus.Plus;
import com.google.android.gms.plus.PlusOneButton;

public class MainActivity extends AppCompatActivity {
    private static final int PLUS_ONE_REQUEST_CODE = 0;
    private static final String APP_URL = "https://play.google.com/store/apps/details?id=app_package";
    private PlusOneButton mPlusOneButton;
    private GoogleApiClient mGoogleApiClient;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_plus_one);

        mPlusOneButton = (PlusOneButton) findViewById(R.id.plus_one_button);
        mGoogleApiClient = new GoogleApiClient.Builder(this)
                .addApi(Plus.API)
                .addScope(Plus.SCOPE_PLUS_LOGIN)
                .useDefaultAccount()
                .build();
    }

    @Override
    protected void onResume() {
        super.onResume();
        mPlusOneButton.initialize(APP_URL, PLUS_ONE_REQUEST_CODE);
    }

    @Override
    protected void onStart() {
        super.onStart();
        mGoogleApiClient.connect();
    }

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

Для коректної роботи, вам буде необхідно змінити app_package на пакет вашого додатку. Перевіряємо і бачимо, що тепер все запрацювало.
+1 button application demo

Комментариев нет:

Отправить комментарий