Kurulum
Android projenize Hardal’ı başlatmak ve event’leri göndermeye başlamak için bu kodu ekleyin:
Native (Android)
Flutter
React Native
Java (Android)
cURL
import android. util. Log
import kotlinx. coroutines. Dispatchers
import kotlinx. coroutines. GlobalScope
import kotlinx. coroutines. launch
import org. json. JSONObject
import java. net. HttpURLConnection
import java. net. URL
class HardalTracker {
companion object {
private const val TAG = "HardalTracker"
fun sendEvent (
hardalCustomUrl: String,
signalId: String,
eventName: String,
eventData: Map< String, Any> = emptyMap ( )
) {
GlobalScope. launch ( Dispatchers. IO) {
try {
val url = URL ( "https:// $ hardalCustomUrl /push/hardal" )
val connection = url. openConnection ( ) as HttpURLConnection
connection. requestMethod = "POST"
connection. setRequestProperty ( "Content-Type" , "application/json" )
connection. doOutput = true
val payloadJson = JSONObject ( ) . apply {
put ( "name" , eventName)
put ( "website" , signalId)
put ( "data" , JSONObject ( eventData) )
}
val bodyJson = JSONObject ( ) . apply {
put ( "type" , "event" )
put ( "payload" , payloadJson)
}
connection. outputStream. use { os ->
os. write ( bodyJson. toString ( ) . toByteArray ( ) )
}
val responseCode = connection. responseCode
if ( responseCode in 200 .. 299 ) {
Log. d ( TAG, "Event sent successfully" )
} else {
Log. e ( TAG, "Failed to send event: $ responseCode " )
}
connection. disconnect ( )
} catch ( e: Exception) {
Log. e ( TAG, "Exception when sending event: ${ e. message } " , e)
}
}
}
}
}
Yapılandırma Seçenekleri
Android entegrasyonu için aşağıdakileri özelleştirebilirsiniz:
Custom event özellikleri
Event toplu işleme
Başarısız istekler için yeniden deneme mantığı
Arkaplan thread yönetimi
Kullanım Örneği
Native (Android)
Flutter
React Native
Java (Android)
HardalTracker. sendEvent (
hardalCustomUrl = "example.usehardal.com" ,
signalId = "cm5v9x9f80003tivvx7nr2bjh" ,
eventName = "purchase" ,
eventData = mapOf ( "productId" to "123" , "price" to 99.99 )
)
Sorun Giderme
Doğrulama
Android entegrasyonunuzu doğrulamak için:
Android Studio’da Logcat’i izleyin
İstekleri incelemek için Network Profiler’ı kullanın
Başarılı HTTP yanıtlarını kontrol edin (200 durum kodu)
Event’lerin Hardal dashboard’unuzda göründüğünü doğrulayın
Geliştirme için, uygulamanızın hata ayıklama yapılandırmasında log seviyesini VERBOSE olarak ayarlayarak detaylı günlük kaydını etkinleştirebilirsiniz.