VRChatAPIをいい感じに扱えるようになるAndroid向けライブラリ
Retrofit2, RxJava2, Moshiを使用しています
OkHttpを使用しているためAndroid 5.0(API level 21)以上対応です
@minSdkVersion
現時点では https://vrchatapi.github.io/ の情報を使用しています
API名 | サポートされているか | 備考 |
---|---|---|
User API | フルサポート | |
Favorites API | フルサポート | |
World API | 一部サポート | deleteWorldのデバッグができていません / GetWorldMetadataはサポートされていません |
Avatar API | 一部サポート | Save Avatarはサポートされていません |
Notification API | フルサポート | Send Notificationは削除されています |
他のAPIは現時点でサポートされていません
jcenterで利用可能です
repositories {
jcenter()
}
dependenciesに下記の依存関係とともに書いてください
implementation "com.squareup.okhttp3:okhttp:4.2.2"
implementation "com.squareup.retrofit2:retrofit:2.6.2"
implementation "com.squareup.retrofit2:adapter-rxjava2:2.6.2"
implementation "com.squareup.retrofit2:converter-moshi:2.6.2"
implementation "io.reactivex.rxjava2:rxjava:2.2.14"
implementation "com.squareup.moshi:moshi:1.9.1"
implementation "com.squareup.moshi:moshi-kotlin:1.9.1"
implementation "com.riku1227:vrchatlin:1.0.1"
VRChatlin.get(context)
でクライアントインスタンスが取れます シングルトンになっているので一番最初以降は使い回されます
/* 非推奨 */
VRChatlin.get(context).APIService()
これで勝手にサービスの初期化をしてくれますが
このままだとCookie(Authトークンなど)を平文でSharedPreferencesに保存してしまうので
Android Jetpack Security の EncryptedSharedPreferences を使用することを推奨します
EncryptedSharedPreferences使ってみる
/* 推奨 */
VRChatlin.get(context).APIService(SharedPreferences)
一番最初呼び出すときに引数に用意したSharedPreferencesを入れることでそのSharedPreferencesを使用することができます
VRChatlin.get(context).APIService(SharedPreferences, OkHttpClient)
/* もしくは */
VRChatlin.get(context).APIService(initOkHttpClient = OkHttpClient) //非推奨
これで用意したOkHttpClientを使用することができます
ただこれだとCookieを保存しないので、処理を作るか、CookieJarに VRChatlinCookieJar を使用してください
これでサービスの初期化ができました
初期化した次からはSharedPreferencesなどを引数に入れなくても大丈夫です