# Dataroid Entegrasyonu - Studio
## MiniApp'e Neden Dataroid Entegre Edilmeli
MiniApp'inizin kabuk uygulama içerisindeki kullanıcı hareketlerinin takip edilebilmesi ve bu hareketlerin sistemsel olarak raporlanabilmesi gibi özellikleri kullanmak için entegrasyonu yapılmalıdır.
### MiniApp'e Dataroid Entegrasyonunda Kullanılabilir Event'ler, Kod Örnekleri ve Event Kuralları
1. **app_buttonclick Eventi**
MiniApp üzerindeki tüm butonların click eventinde beslenmelidir.
```ts
quick.integrations.Dataroid.track("app_buttonclick", {
button_name:"buttonName", //buton üzerinde yazan isim girilmeli
app_name: "MiniAppName", //miniapp adı girilmeli
viewLabel: "MiniApp PageName", //ekran ismi girilmeli
});
```
2. **app_checkbox Eventi**
MiniApp üzerindeki tüm checkbox larda checkbox seçimi sonrasında alınan aksiyonda beslenmelidir. Her checkbox seçiminde beslenmemelidir.
```ts
quick.integrations.Dataroid.track("app_checkbox", {
text:"checkboxName", //checkbox'ta yazan metin girilmeli
app_name: "MiniAppName", //miniapp adı girilmeli
viewLabel: "MiniApp PageName", //ekran ismi girilmeli
header: "checkboxHeader", //Checkbox'ın işlevini açıklayan bilgi girilmeli
});
```
3. **app_inputEntry Eventi**
MiniApp üzerindeki tüm textfield larda textfield girişi bittikten sonra alınan aksiyonda beslenmelidir.
```ts
quick.integrations.Dataroid.track("app_inputEntry", {
text:"textfieldContent", //input' a girilen veri beslenmeli
app_name: "MiniAppName", //miniapp adı girilmeli
viewLabel: "MiniApp PageName", //ekran ismi girilmeli
header: "textfieldHeader", //input' un işlevini açıklayan bilgi girilmeli
});
```
4. **app_comboSelect Eventi**
MiniApp üzerindeki tüm combobox veya selectbox larda seçim yapıldıktan sonra alınan aksiyonda beslenmelidir.
```ts
quick.integrations.Dataroid.track("app_comboSelect", {
text:"selectedContent", //kullanıcının ekranda seçtiği değer verilmeli
app_name: "MiniAppName", //miniapp adı girilmeli
viewLabel: "MiniApp PageName", //ekran ismi girilmeli
header: "comboHeader", //combo' nun işlevini açıklayan bilgi girilmeli
});
```
5. **app_tx_completed Eventi**????
Miniapplerde httpCall yapılmadığı durumlarda alınan aksiyonun başarılı olması durumunda beslenecek eventtir. app_httpCall eventi ile aynı anda beslenmemelidir.
```ts
quick.integrations.Dataroid.track("app_tx_completed", {
app_name: "MiniAppName", //miniapp adı girilmeli
trx: "transactionInfo", //yapılan işlemin başarılı şekilde bittiğini ifade eden veri girilmeli
});
```
6. **app_viewStart Eventi**
MiniApp lerde her bir başarılı sayfa açılışında beslenecek olan eventtir.
```ts
quick.integrations.Dataroid.track("app_viewStart", {
app_name: "MiniAppName", //miniapp adı girilmeli
viewLabel: "MiniApp PageName", //ekran ismi girilmeli
});
```
7. **app_popup Eventi**
MiniApp lerde popup açıldığı durumlarda beslenir. Kullanıcının popup üzerinde aldığı aksiyon bittikten sonra beslenir.
```ts
quick.integrations.Dataroid.track("app_popup", {
app_name: "MiniAppName", //miniapp adı girilmeli
viewLabel: "MiniApp PageName", //ekran ismi girilmeli
header: "popupHeader", //popup' ın başlığındaki bilgi girilmeli
text:"popupContent", //popup içeriğindeki veri girilmeli
buttonPressed : "buttonName", //ekranda basılan buton adı girilmeli, popup dışına basarak kapatıldı ise N/A beslenir.
});
```
8. **app_httpCall Eventi**
MiniApp lerde http istekleri yapıldığında dönen cevaptan sonra beslenir. Başarılı veya başarısız tamamlansada event beslenmelidir.
```ts
quick.integrations.Dataroid.track("app_httpCall", {
app_name: "MiniAppName", //miniapp adı girilmeli
successCode: true/false, //işlem başarı durumuna göre true/false beslenmeli
errorCode: "errorCode", //successCode false ise servisten dönen hata kodu beslenmeli
errorMessage:"errorMessage", //successCode false ise servisten dönen hata mesajı beslenmeli
requestUrl : "requestUrl", //http isteğin gittiği adres verilmeli
});
```
9. **app_paymentCompleted Eventi**
MiniApp lerde yapılan ödeme işleminden sonra işlem başarılı veya başarısız olarak beslenmelidir.
```ts
quick.integrations.Dataroid.track("app_paymentCompleted", {
app_name: "MiniAppName", //miniapp adı girilmeli
trx: "orderId", //ödeme işlemine ait orderId girilmeli
productInfo: "productInfo", //ürün/hizmet adı
totalAmount: 1234,55, //işlem tutarı
currencyCode : "TRY", //döviz cinsi verilmeli(TRY, USD, EUR vb.)
successCode: true/false, //işlem başarı durumu beslenmeli
errorCode:"errorCode", //successCode false ise ödeme hatasının kodu verilmeli
errorMessage: "errorMessage", //successCode false ise ödeme hatasının mesajı verilmeli
});
```
* Studio'da event tanımları yapmak ve diğer kullanımlar için [tıklayınız.](https://docs.onplateau.com/UI-Screens/UI-Settings/Integrations/Easy-Integrations/dataroid-integration)
## MiniApp'e Dataroid Entegrasyonu Nasıl Yapılır
MiniApp'inizde sürüm çıkışında **Dataroid Track** iznini verdikten sonra uygulamanız içerisinde uygun olan kısımlarında aşağıdaki tabloda bulunan **event**'leri ekleyerek entegrasyonu gerçekleştirebilirsiniz.

## MiniApp'e Dataroid Entegrasyonu Yaparken Dikkat Etmeniz Gerekenler
MiniApp'inize Dataroid Entegrasyonu yapmak için 2 önemli konu bulunmaktadır.
- Sürüm içerisinde **Dataroid Track** consent'inin seçili olması gerekmektedir.
- Kullanacağınız event isimleri ve parametre isimleri dokümanda belirtildiği şekilde verilmesi gerekmektedir.
## MiniApp'e Dataroid Entegrasyonunda Sorun Olması Durumunda Ne Yapılmalı
MiniApp’inize Dataroid entegrasyonu yaparken karşılaştığınız sorun veya entegrasyon ile ilgili sorularınız için superapp@softtech.com.tr veya dbbsuperapp@isbank.com.tr den ulaşabilirsiniz.