# 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. ![image](https://hackmd.io/_uploads/HkISo9Bieg.png) ## 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.