Android SDK

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

Вызов виджетов (виджет публикации - performPosting, виджет приглашения и рекомендации - performAppInvite / performAppSuggest):

odnoklassniki.performPosting("{\"media\":[{\"type\":\"text\",\"text\":\"hello world!\"}]}", false, params, OkListener);
odnoklassniki.performAppInvite(OkListener, params);
odnoklassniki.performAppSuggest(OkListener, params);