Общая информация
Репозиторий на Github: ok-android-sdk
Пример Android приложения с SDK: ok-android-sdk/odnoklassniki-android-sdk-example
Android SDK позволяет авторизоваться через клиентский OAuth, делать записи к пользователю и приглашать/слать нотификации в игру, а также вызывать REST-методы.
Настройка и подключение
Перед подключением SDK необходимо проверить в настройках приложения:
- Android добавлен в платформы приложения;
- включена клиентская авторизация;
- добавлен redirect_uri вида okauth://ok{APP_ID};
- приложение обладает нужными для функционирования правами, для нативных приложений рекомендуется иметь и запрашивать LONG_ACCESS_TOKEN.
Для подключения при сборке через gradle:
Добавить код в раздел dependencies файла build.gradle
compile 'ru.ok:odnoklassniki-android-sdk:2.0.3'
Откорректировать AndroidManifest.xml:
- добавить разрешения на интернет
<uses-permission android:name="android.permission.INTERNET"/>
- добавить OAuth Activity, подставив свой APP_ID
<activity android:name="ru.ok.android.sdk.OkAuthActivity"> <intent-filter> <action android:name="android.intent.action.VIEW"/> <category android:name="android.intent.category.DEFAULT"/> <category android:name="android.intent.category.BROWSABLE"/> <data android:host="ok{APP_ID}" android:scheme="okauth"/> </intent-filter> </activity>
- при использовании виджетов, необходимо добавить соответствующее Activity
<activity android:name="ru.ok.android.sdk.OkPostingActivity"/> <activity android:name="ru.ok.android.sdk.OkAppInviteActivity"/> <activity android:name="ru.ok.android.sdk.OkAppSuggestActivity"/>
Использование SDK
Создание/получение экземпляра Odnoklassniki
Odnoklassniki.createInstance(this, APP_ID, APP_KEY);
Odnoklassniki.getInstance();
Вызов авторизации (requestAuthorization)
odnoklassniki.requestAuthorization(OkListener, REDIRECT_URI, OkAuthType.ANY, OkScope.VALUABLE_ACCESS, OkScope.LONG_ACCESS_TOKEN);
Вызов REST-метода (request)
odnoklassniki.request(METHOD_NAME, params, "GET");
Вызов виджетов
С помощью SDK можно использовать следующие виджеты: * виджет публикации - performPosting * виджет приглашения и рекомендации - performAppInvite / performAppSuggest:
odnoklassniki.performPosting("{\"media\":[{\"type\":\"text\",\"text\":\"hello world!\"}]}", false, params, OkListener);
odnoklassniki.performAppInvite(OkListener, params);
odnoklassniki.performAppSuggest(OkListener, params);