
Jezik 🇸🇮 Slovenščina
Dokumentacija
Začetek
Uporaba
Preverjanje pristnosti
Konfiguracija
FastComments Android Library
To je uradna Android knjižnica za FastComments.
Pripomočki za komentiranje FastComments za Android
Repozitorij
Funkcije 
- 🔄 Komentiranje v živo z posodobitvami v realnem času
- 📱 Nativne Android UI komponente
- 🧵 Razprave v nitih z odgovori
- 👤 Varna SSO avtentikacija
- 👍 Sistem glasovanja z nastavljivimi slogi
- 🔔 Obvestila uporabnikov in prisotnost
- 🔍 Možnosti moderiranja komentarjev
- 📱 Integracija družbenega vira
- ♾️ Neskončno pomikanje za straničenje
- 🎨 Obsežno prilagajanje teme
Namestitev 
Dodajte FastComments SDK v datoteko build.gradle.kts vaše aplikacije:
dependencies {
implementation("com.fastcomments:sdk:0.0.1")
}
Prepričajte se, da imate repozitorij Repsy v datoteki settings.gradle.kts vašega projekta:
dependencyResolutionManagement {
repositories {
maven {
url = uri("https://repo.repsy.io/mvn/winrid/fastcomments")
}
// other repositories...
}
}
Osnovna uporaba 
1. Dodajte FastCommentsView v vašo postavitev
<com.fastcomments.sdk.FastCommentsView
android:id="@+id/commentsView"
android:layout_width="match_parent"
android:layout_height="match_parent" />
2. Inicializirajte in konfigurirajte SDK
// Konfigurirajte SDK
val config = CommentWidgetConfig(
"your-tenant-id",
"page-url-id",
"Page Title",
"yourdomain.com",
"Site Name"
)
// Dodatne možnosti konfiguracije
config.voteStyle = VoteStyle.UpDown // ali VoteStyle.Heart
config.enableInfiniteScrolling = true
config.hasDarkBackground = true // za podporo temnemu načinu
// Inicializirajte SDK
val sdk = FastCommentsSDK(config)
// Poiščite pogled komentarjev v vaši postavitvi
val commentsView = findViewById<FastCommentsView>(R.id.commentsView)
// Nastavite instanco SDK za pogled
commentsView.setSDK(sdk)
// Naložite komentarje
commentsView.load()
Varno SSO preverjanje pristnosti 
Uvedite varno overjanje za vaše uporabnike:
// Ustvarite podatke o uporabniku (najbolje na vašem strežniku)
val userData = SecureSSOUserData(
"user-id",
"user@example.com",
"User Name",
"https://path-to-avatar.jpg"
)
// Generirajte SSO žeton (to naj bo narejeno na strežniku!)
val sso = FastCommentsSSO.createSecure("YOUR_API_KEY", userData)
val token = sso.prepareToSend()
// Dodajte v config
config.sso = token
Integracija vira 
Prikaži vir v slogu družbenih omrežij s komentarji:
// Konfiguriraj SDK
CommentWidgetConfig config = new CommentWidgetConfig();
config.tenantId = "your-tenant-id";
config.urlId = "page-url-id";
// Inicializiraj Feed SDK
FastCommentsFeedSDK feedSDK = new FastCommentsFeedSDK(config);
// Nastavi pogled vira
FastCommentsFeedView feedView = findViewById(R.id.feedView);
feedView.setSDK(feedSDK);
// Nastavi poslušalca interakcij
feedView.setFeedViewInteractionListener(new FastCommentsFeedView.OnFeedViewInteractionListener() {
@Override
public void onFeedLoaded(List<FeedPost> posts) {
// Vir je bil uspešno naložen
}
@Override
public void onFeedError(String errorMessage) {
// Obravnavaj napake
}
@Override
public void onPostSelected(FeedPost post) {
// Uporabnik je izbral objavo
}
@Override
public void onCommentsRequested(FeedPost post) {
// Prikaži komentarje za objavo
CommentsDialog dialog = new CommentsDialog(context, post, feedSDK);
dialog.show();
}
});
// Naloži vir
feedView.load();
Integracija klepeta v živo 
Dodajte vmesnik za klepet v realnem času v vašo aplikacijo:
// Dodajte LiveChatView v vašo XML postavitev
// <com.fastcomments.sdk.LiveChatView
// android:id="@+id/liveChatView"
// android:layout_width="match_parent"
// android:layout_height="match_parent" />
// Ustvarite konfiguracijo za SDK
val config = CommentWidgetConfig().apply {
tenantId = "your-tenant-id"
urlId = "chat-room-identifier"
pageTitle = "Chat Room Name"
}
LiveChatView.setupLiveChatConfig(config)
// Izbirno: dodajte preverjanje pristnosti uporabnika
val userData = SimpleSSOUserData(
"User Name",
"user@example.com",
"https://path-to-avatar.jpg"
)
val sso = FastCommentsSSO(userData)
config.sso = sso.prepareToSend()
// Inicializirajte SDK
val sdk = FastCommentsSDK().configure(config)
// Nastavite pogled za klepet v živo
val liveChatView = findViewById<LiveChatView>(R.id.liveChatView)
liveChatView.setSDK(sdk)
liveChatView.load()
// Ne pozabite na upravljanje življenjskega cikla
override fun onResume() {
super.onResume()
sdk.refreshLiveEvents()
}
override fun onDestroy() {
super.onDestroy()
sdk.cleanup()
}
Primeri projektov 
Oglejte si te demonstracijske implementacije:
- Osnovni primer komentarjev
- Varna SSO implementacija
- Primer integracije vira
- Primer klepeta v živo
- Primer pogovornega okna za komentarje
Možnosti konfiguracije 
The SDK nudi številne možnosti konfiguracije prek razreda CommentWidgetConfig:
| Možnost | Opis |
|---|---|
tenantId |
ID vašega FastComments računa |
urlId |
ID, ki predstavlja trenutno stran |
sso |
SSO žeton za preverjanje pristnosti |
allowAnon |
Dovoli anonimno komentiranje |
voteStyle |
Slog glasovanja: UpDown ali Heart |
hideAvatars |
Skrij avatarje uporabnikov |
hasDarkBackground |
Označuje temni način |
customCSS |
Prilagojeni CSS slogi |
enableInfiniteScrolling |
Omogoči neskončno pomikanje |
readonly |
Onemogoči komentiranje, vendar prikaži komentarje |
disableVoting |
Onemogoči funkcionalnost glasovanja |
disableLiveCommenting |
Onemogoči posodobitve v realnem času |
Celovita prilagoditev teme 
Vsi gumbi in elementi uporabniškega vmesnika v FastComments SDK so tematsko prilagodljivi. Uporabite FastCommentsTheme.Builder za popoln nadzor nad blagovno znamko vaše aplikacije.
Programska tematska prilagoditev (priporočeno)
val theme = FastCommentsTheme.Builder()
// Gumbi za dejanja: Pošlji, glasuj, meni, všečkaj/deli
.setActionButtonColor(Color.parseColor("#FF1976D2"))
// Gumbi za odgovor: Gumbi za odgovor na komentarje
.setReplyButtonColor(Color.parseColor("#FF4CAF50"))
// Preklopni gumbi: Gumbi za prikaz/skrij odgovore
.setToggleRepliesButtonColor(Color.parseColor("#FFFF5722"))
// Gumbi 'Naloži več': Gumbi za paginacijo
.setLoadMoreButtonTextColor(Color.parseColor("#FF9C27B0"))
.setPrimaryColor(Color.parseColor("#FF6200EE"))
.setLinkColor(Color.parseColor("#FF1976D2"))
.setDialogHeaderBackgroundColor(Color.parseColor("#FF333333"))
.build()
// Uporabi temo
sdk.setTheme(theme)
Hitro prepisovanje barv
Prepišite barvne vire v datoteki colors.xml za enostavno prilagoditev blagovne znamke:
<!-- V datoteki res/values/colors.xml vaše aplikacije -->
<resources>
<!-- Spremenite vse primarne elemente uporabniškega vmesnika -->
<color name="primary">#FF1976D2</color>
<!-- Ali prilagodite posebne vrste gumbov -->
<color name="fastcomments_action_button_color">#FF1976D2</color>
<color name="fastcomments_reply_button_color">#FF4CAF50</color>
<color name="fastcomments_toggle_replies_button_color">#FFFF5722</color>
<color name="fastcomments_load_more_button_text_color">#FF9C27B0</color>
</resources>
Pokrivanje tematskih gumbov
Vsak gumb v SDK podpira tematsko prilagajanje:
- Gumbi za pošiljanje, gumbi za glasovanje, gumbi menija, gumbi za odgovore
- Gumbi za prikaz/skrij odgovore, gumbi 'naloži več'
- Gumbi dejanj v feedu (všeč, komentar, deljenje)
- Gumbi dialogov (pošlji, prekliči, shrani)
- Dinamični gumbi opravil v objavah v feedu
Za podrobno dokumentacijo o tematskem prilagajanju glejte THEMING.md.
Upravljanje pomnilnika 
Preprečevanje puščanja pomnilnika
Da preprečite puščanje pomnilnika pri uporabi pogledov FastComments v aktivnostih ali fragmentih, vedno pokličite cleanup(), ko pogled ni več potreben:
V aktivnostih:
@Override
protected void onDestroy() {
super.onDestroy();
// Počistite FastComments poglede, da preprečite puščanje pomnilnika
if (feedView != null) {
feedView.cleanup();
}
if (commentsView != null) {
commentsView.cleanup();
}
}
V fragmentih:
@Override
public void onDestroyView() {
super.onDestroyView();
// Počistite FastComments poglede, ko je pogled fragmenta uničen
if (feedView != null) {
feedView.cleanup();
feedView = null;
}
}
@Override
public void onDestroy() {
super.onDestroy();
// Dodatno čiščenje, ko je fragment uničen
if (feedSDK != null) {
feedSDK.cleanup();
feedSDK = null;
}
}
Pri preklapljanju fragmentov:
// Pred zamenjavo ali odstranitvijo fragmenta, ki vsebuje poglede FastComments
Fragment currentFragment = getSupportFragmentManager().findFragmentById(R.id.container);
if (currentFragment instanceof YourFragmentWithFeedView) {
((YourFragmentWithFeedView) currentFragment).cleanupFeedView();
}
// Nato nadaljujte s transakcijo fragmenta
getSupportFragmentManager().beginTransaction()
.replace(R.id.container, newFragment)
.commit();
Pomembno: Vedno pokličite metode cleanup(), da preprečite puščanje pomnilnika, še posebej ko:
- ko so aktivnosti uničene
- ko so pogledi fragmentov uničeni
- pri preklapljanju fragmentov
- ko zapuščate zaslone s komponentami FastComments
Potrebujete pomoč?
Če naletite na kakršne koli težave ali imate vprašanja glede Android knjižnice, prosimo:
Prispevanje
Prispevki so dobrodošli! Prosimo, obiščite repozitorij na GitHubu za smernice o prispevanju.