Vk sdk Android Пример

Решили поделиться своими наработками по реализации ВКонтакте API для Android. Данное SDK позволяет быстро авторизоваться и вызывать методы API, например отправить запись на стену, получить список друзей пользователя и многое другое. Изначально библиотека разрабатывалась как ядро проекта Kate Mobile. Совсем недавно пришла идея оформить часть кода в ощедоступную библиотеку.

На скорую руку вынести её в отдельный проект и теперь она доступна всем желающим. Сейчас реализованы основные методы API, пополняем по мере необходимости. Будем улучшать на основании полученного фидбэка. Если он будет.

SDK опубликовано на гитхабе https://github.com/thest1/Android-VKontakte-SDK. Распространяется по лицензии MIT. Вы можете её использовать в любых проектах, в том числе коммерческих. Можете её модифицировать. Ссылку на первоисточник желательно размещать по возможности.

Быстро понять принципы работы библиотеки вам поможет демо-проект AndroidVkSdkSample. В нём реализована авторизация и, в качестве примера, отправка записи на свою стену.

VK Android SDK. Создаём нативные приложения / Арсений Васильев

Чтобы подключить библиотеку к своему проекту, нужно выполнить следующие шаги:

  1. Импортировать проект AndroidVkSdk в Eclipse. AndroidVkSdk реализован как Android Library Project.
  2. Добавить в своём проекте ссылку на AndroidVkSdk.
  3. Убедиться что у вашего приложения есть разрешение на доступ в Интернет

String url=Auth.getUrl(API_ID, Auth.getSettings()); webview.loadUrl(url);
String[] auth=Auth.parseRedirectUrl(url);
API api=new Api(access_token, API_ID);
api.createWallPost(user_id, text, null, null, false, false, false, null, null);

Источник: habr.com

Вход через VK.com во Flutter приложении

В этой статье я попытаюсь дать подробные инструкции по подключению авторизации через ВКонтакте в ваше Flutter приложение.

Вход осуществляется с помощью VK SDK. Для добавления SDK в приложение будем использовать плагин flutter_login_vk с pub.dev. Плагин поддерживает iOS и Android.

Итак, начнем. Установите последнюю версию плагина для логина через VK, как указано на вкладке «Installing». Теперь можно двигаться дальше, для начала нам нужно создать приложение на VK.com.

Шаг 1 из 5. Создание приложения на VK.com

  1. Введите «Название».
  2. Выберите «Standalone-приложение» в качестве платформы.
  3. Нажмите «Подключить приложение».

Приложение будет создано. Теперь откройте вкладку «Настройки» и скопируйте ID приложения (далее в статье мы будем называть его [ APP_ID ] ).

Дальше следует настроить приложение для нужных платформ в секции «Настройки SDK». Если вам не нужна какая-то из платформ, можете просто пропустить соответствующий ей подраздел.

Еще по теме:  Как заблокировать звонки в контакте

Настройка приложения для Android

  1. Укажите в поле «Название пакета для Android» package name вашего Android приложения. Его можно найти в атрибуте package тега корневого тега ApplicationManifest . xml ( / android / app / src / main / AndroidManifest . xml ).
  2. Укажите в поле «Main activity для Android» класс основной activity вашего преложения (вместе с пакетом). По умолчанию это будет com . yourcompany . yourapp . MainActivity (на забудьте заменить com . yourcompany . yourapp на свои значения).
  3. Чтобы заполнить поле «Отпечаток сертификата для Android» вам нужно создать SHA1 отпечаток как описано в документации (нужно брать значение без префикса SHA1 : ). Добавьте отпечатки для debug и релизного сертификатов. Примечание: если ваше приложение использует функцию подписания Google Play App Signing (а скорее всего да), то вам нужно взять SHA-1 отпечаток сертификата из Google Play Console (раздел Управление релизом — Подписи приложений).⚠️ Важно! Нужно добавлять отпечатки для всех вариантов сборок. Т.е. если вы используете CI/CD, который собирает APK для тестирования со своим собственным сертификатом (например это может быть автоматически сгенерированный debug сертификат, или какой-то еще), то вам нужно добавлять отпечатки для них тоже.
  4. Нажмите «Сохранить изменения».

Настройка приложения для iOS

  1. Укажите ваш Bundle идентификатор в поле «App Bundle ID для iOS» (вы можете найти его в Xcode: Runner — Target Runner — General, раздел «Identity», поле «Bundle Identifier»).
  2. Также заполните поле «App ID для iOS» — это ваш SKU (его можно найти в App Store Connect: My Apps — — App Store — App Information, раздел «General Information»). Чаще всего он такой же, как Bundle ID.
  3. Нажмите «Сохранить изменения».

Шаг 2 из 5. Настройка Android

Теперь переходим к настройки Flutter приложения для работы с VK SDK. Начнем с Android (если ваша целевая платформа только iOS — пропустите этот шаг).

VK Android SDK 2.0 / Арсений Васильев

Отредактируйте ApplicationManifest . xml ( / android / app / src / main / AndroidManifest . xml ):

    Добавьте требуемое разрешение INTERNET в корень тега manifest , если его там еще нет (почти наверняка есть):

Источник: syntaxerror.ru

ВКонтакте представили SDK для Android

ВКонтакте представили SDK для Android

Популярная социальная сеть ВКонтакте пополнила свой набор инструментариев для разработки приложений, в котором уже имеются Flash и Javascript SDK, а также SDK для iOS, еще одним — SDK для Android.

Эта библиотека включает в себя инструменты для авторизации, как при наличии на девайсе пользователя официального клиента, так и при его отсутствии, а также инструменты для облегчения составления/выполнения запросов и обработки ответов.

Еще по теме:  Как пользоваться vk combo

Не забыли ребята и о владельцах девайсов с неактуальными версиями Android на борту — тестовое приложение, поставляемое вместе с SDK, имеет требования Android 2.2+

Также не оставлен без внимания вопрос защиты.
Подробности под катом.

Где взять?

VK Android SDK доступен для скачивания на GitHub.

Как подключить?
SDK к проекту

В Eclipse, которым, к слову, я пользуюсь, а также в Android Studio, с использованием сборщика Gradle, VK SDK подключается также, как и любая другая библиотека, поэтому не стану на этом останавливаться. Скажу только, что для удобства я изменил структуру папок:
До

=> После

Если же вы не используете Gradle в Android Studio, то следует переименовать подключаемый модуль из «main» в «vksdk».

В манифесте необходимо прописать активность com.vk.sdk.VKOpenAuthActivity.

Проект к ВКонтакте

Настройки приложения

Разработчики создали систему безопасности, благодаря которой другое приложение не сможет выдать себя за ваше.

  • Во-первых, после создания standalone-приложения, в его настройках вы должны указать название пакета.
  • Во-вторых, вы должны указать в настройках имя главной активности вашего приложения.
  • В-третьих (это самое главное), вы должны указать отпечаток ключа вашего приложения, предварительно удалив двоеточия. Можно несколько, например, debug и release. Утилита keytool выдала мне три отпечатка — MD5, SHA1 и SHA256. ВКонтакт интересует SHA1.
Как использовать?
Авторизация

При запуске приложения нужно инициализировать SDK:
VKSdk.initialize(VKSdkListener listener, String appId, VKAccessToken token);

Авторизацию рекомендуется производить одним из следующих способов:
VKSdk.authorize(String. scope);
VKSdk.authorize(String[] scope, boolean revoke, boolean forceOAuth);
По умолчанию авторизация происходит через вконтакте клиент. Если оный на девайсе пользователя не установлен или forceOAuth == true, то страница авторизации открывается в отдельной активности.

Поскольку библиотека включает элементы интерфейса, то ей необходимо отслеживать происходящее на дисплее. Для этого используется класс VKUIHelper. Поэтому во всех активностях нужно переопределить методы примерно так:

Выполнение запросов

Можно составить запрос, используя имеющуюся в SDK модель:
VKRequest request = VKApi.users().get();
Или непосредственно указать имя вызываемого метода:
VKRequest request = new VKRequest(«status.get»);
То же самое с параметрами:
VKRequest request = VKApi.users().get(VKParameters.from(VKApiConst.USER_IDS, «1,2»));
VKRequest request = new VKRequest(«friends.get», VKParameters.from(VKApiConst.FIELDS, «sex,bdate,city»));

Для загрузки фотографий предусмотрены специальные типы запроса — VKUploadAlbumPhotoRequest для загрузки в альбом и VKUploadWallPhotoRequest для загрузки на стену. Оба имеют по два конструктора:

VKRequest request = VKApi.uploadWallPhotoRequest(VKUploadImage image, int user_id, int group_id); VKRequest request = VKApi.uploadAlbumPhotoRequest(VKUploadImage image, int album_id, int group_id); VKRequest request = VKApi.uploadWallPhotoRequest(File image, int user_id, int group_id); VKRequest request = VKApi.uploadAlbumPhotoRequest(File image, int album_id, int group_id);

Еще по теме:  Что значит файл не должен быть исполняемым Вконтакте

При загрузке фото на свою стену или стену группы user_id == 0, иначе — id пользователя, на стену которого будем гадить загружать фото.
При загрузке фото на стену/в альбом группы group_id == id целевой группы, иначе group_id == 0 (например, загрузка фото в свой альбом).
В album_id, соответственно, идентификатор фотоальбома.

Что касается объекта VKUploadImage, то в его конструктор необходимо передать изображение в виде объекта Bitmap и объект VKImageParameters, представляющий тип изображения (png, jpg) и значение quality (для jpg).

Аналоги для аудиозаписей, видеозаписей и документов пока не реализованы, но я не вижу проблем с тем, чтобы сделать это самостоятельно.

Перед выполнением запроса можно изменить некоторые его параметры:

// Количество попыток выполение запроса. В случае успешного результата или API Error оставшиеся попытки сбрасываются. // Дефолтное значение: 1. Значение 0 соответствует infinity. request.attempts = 0; // Использование защищенного соединения (HTTPS). // Значение false можно использовать только при наличии соответствующего scope (nohttps). // Дефолтное значение: true. request.secure = false; // Язык интерфейса вконтакте (при авторизации). // Если установлено значение false или системный язык не поддерживается — будет использован английский язык. // Дефолтное значение: true. useSystemLanguage = false; // Значение false отключает автоматический парсинг ответа сервера с использованием модели, имеющейся в SDK. // Дефолтное значение: true. request.parseModel = false;

Выполняется запрос методом request.executeWithListener(VKRequestListener listener);
Ответ сервера (VKResponse) приходит в listener.
Пример оправки запроса:

Можно выполнить несколько запросов одним пакетом. Для этого создаем, так сказать, мультизапрос:
VKBatchRequest batch_req = new VKBatchRequest(VKRequest. requests);
Как видите, в одном пакете может быть любое количество запросов.
Выполняется мультизапрос также, как и единичный, только с другим слушателем:

Обработка ответов

Если в ответе ожидается объект, Java-представления которого пока нет в модели SDK, имеет смысл установить parseModel = false; и самостоятельно обрабатывать полученный JSON. Иначе достаточно привести полученный объект к необходимому типу.

SDK Вконтакте для Android — довольно удобный и элегантный инструмент. Однако, конечно, ещё сырой. Файл-менеджмент пока представляет собой только загрузку фото. Аудио-, видеозаписи и документы пока в пролёте. Модель пока включает только Java-представления пользователя и фотографии.

Однако уже имеются средства обработки капчи и ошибки валидации.
Библиотеке есть куда развиваться — а это значит, что можно в этом поучавствовать и вписаться в историю ВКонтакте.

Официальную документацию по SDK для Android можно почитать здесь.

Источник: savepearlharbor.com

Рейтинг
( Пока оценок нет )
Загрузка ...