Общая информация

Репозиторий на 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);