package Ġcom . react native i adv ize Ċ Ċ import Ġandroid . graphics . Color Ċ import Ġandroid . graphics . drawable . Drawable Ċ import Ġandroid . net . Uri Ċ import Ġandroid . util . Log Ċ import Ġcom . facebook . react . bridge .* Ċ import Ġcom . facebook . react . modules . core . Device Event Manager Module . RCT Device EventEmitter Ċ import Ġcom . i adv ize . conversation . sdk . I Adv ize SDK Ċ import Ġcom . i adv ize . conversation . sdk . controller . conversation . Conversation Listener Ċ import Ġcom . i adv ize . conversation . sdk . controller . target ing . Target ing Listener Ċ import Ġcom . i adv ize . conversation . sdk . model . I Adv ize SDK Callback Ċ import Ġcom . i adv ize . conversation . sdk . model . auth . Authentication Option Ċ import Ġcom . i adv ize . conversation . sdk . model . configuration . Chat box Configuration Ċ import Ġcom . i adv ize . conversation . sdk . model . conversation . Incoming Message Avatar Ċ import Ġcom . i adv ize . conversation . sdk . model . gd pr . GD PRE n abled Option Ċ import Ġcom . i adv ize . conversation . sdk . model . gd pr . GD PRO ption Ċ import Ġcom . i adv ize . conversation . sdk . model . language . SDK Language Option Ċ import Ġcom . i adv ize . conversation . sdk . model . transaction . Transaction Ċ import Ġcom . i adv ize . conversation . sdk . type . Language Ċ import Ġcom . i adv ize . conversation . sdk . utils . logger . Logger Ċ import Ġcom . i adv ize . conversation . sdk . type . Currency Ċ import Ġjava . net . URI Ċ import Ġjava . net . URL Ċ import Ġjava . util .* Ċ import Ġjavax . annotation . Nullable ĊĊ Ċ class ĠI adv ize Module ( react Context : ĠReact ApplicationContext ) Ġ: ĠReact Context Base Java Module ( react Context ) Ġ{ ĊĊĠĠĠ Ġoverride Ġfun ĠgetName (): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġ" I adv ize " ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/* ĊĠĠĠĠĠ ĠActivation ĊĠĠĠĠ Ġ*/ ĊĊĠĠĠ Ġ@ React Method ĊĠĠĠ Ġfun Ġactivate ( projectId : ĠInt , ĠuserId : ĠString , Ġlegal Info Url : ĠString , Ġpromise : ĠPromise ) Ġ{ ĊĠĠĠĠĠ ĠLog . d (" i Adv ize ĠSDK Ġactivate ", Ġ" called ") ĊĊĠĠĠĠĠ Ġvar Ġlegal Url Ġ= ĠURI ( legal Info Url ) ĊĠĠĠĠĠ Ġval Ġgd pr Option Ġ= Ġif Ġ( legal Url Ġ!= Ġnull ) ĠG D PRO ption . Enabled ( GD PRE n abled Option . Legal Url ( legal Url )) Ġelse ĠG D PRO ption . Disabled () ĊĊĠĠĠĠĠ ĠI Adv ize SDK . activate ( ĊĠĠĠĠĠĠĠ ĠprojectId , ĊĠĠĠĠĠĠĠ ĠAuthentication Option . Simple ( userId ), ĊĠĠĠĠĠĠĠ Ġgd pr Option , ĊĠĠĠĠĠĠĠ Ġobject Ġ: ĠI Adv ize SDK Callback Ġ{ ĊĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun ĠonSuccess () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLog . d (" i Adv ize ĠSDK ĠonSuccess ", Ġ" on Success ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpromise . resolve ( true ) ĊĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Failure ( t : ĠThrowable ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLog . d (" i Adv ize ĠSDK Ġon Failure ", Ġt . toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpromise . reject (" 1 ", Ġt . toString ()) ĊĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/* ĊĠĠĠĠĠ ĠLogging ĊĠĠĠĠ Ġ*/ ĊĊĠĠĠ Ġ@ React Method ĊĠĠĠ Ġfun Ġset LogLevel ( logLevel : ĠInt ) Ġ{ ĊĠĠĠĠĠ ĠLog . d (" i Adv ize ĠSDK Ġset LogLevel ", Ġlog Level . toString ()) ĊĠĠĠĠĠ ĠI Adv ize SDK . logLevel Ġ= Ġlog Level From ( logLevel ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġlog Level From ( value : ĠInt ) Ġ: ĠLogger . Level { ĊĠĠĠĠĠ Ġwhen Ġ( value ) Ġ{ ĊĠĠĠĠĠĠĠĠ 0 Ġ-> Ġreturn ĠLogger . Level . VERBOSE ĊĠĠĠĠĠĠĠĠ 1 Ġ-> Ġreturn ĠLogger . Level . INFO ĊĠĠĠĠĠĠĠĠ 2 Ġ-> Ġreturn ĠLogger . Level . WARNING ĊĠĠĠĠĠĠĠĠ 3 Ġ-> Ġreturn ĠLogger . Level . ERROR ĊĠĠĠĠĠĠĠĠ 4 Ġ-> Ġreturn ĠLogger . Level . SUCCESS ĊĠĠĠĠĠĠĠ Ġelse Ġ-> Ġreturn ĠLogger . Level . VERBOSE ĊĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/* ĊĠĠĠĠĠ ĠTarget ing ĊĠĠĠĠ Ġ*/ ĊĊĠĠĠ Ġ@ React Method ĊĠĠĠ Ġfun Ġset Language ( language : ĠString ) Ġ{ ĊĠĠĠĠĠ ĠLog . d (" i Adv ize ĠSDK Ġset Language ", Ġlanguage ) ĊĠĠĠĠĠ Ġvar Ġlanguage Ġ= ĠLanguage . safe ValueOf ( language ); ĊĠĠĠĠĠ ĠI Adv ize SDK . target ing Controller . language Ġ= ĠSDK Language Option . Custom ( language ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ React Method ĊĠĠĠ Ġfun Ġactivate Target ing Rule ( uuid : ĠString ) Ġ{ ĊĠĠĠĠĠ Ġvar Ġvalue Ġ= ĠUUID . fromString ( uuid ) ĊĠĠĠĠĠ ĠLog . d (" i Adv ize ĠSDK Ġset Ġuuid ", Ġvalue . toString ()) ĊĠĠĠĠĠ ĠI Adv ize SDK . target ing Controller . activate Target ing Rule ( value ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ React Method ( is Blocking S ynchronous Method Ġ= Ġtrue ) ĊĠĠĠ Ġfun ĠisActive Target ing Rule Available () Ġ{ ĊĠĠĠĠĠ ĠLog . d (" i Adv ize ĠSDK ", Ġ" isActive Target ing Rule Available Ġexist Ġonly Ġon ĠAndroid ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ React Method ĊĠĠĠ Ġfun Ġset On Active Target ing Rule Availability Listener () Ġ{ ĊĠĠĠĠĠ ĠLog . d (" i Adv ize ĠSDK ", Ġ" setOn Active Target ing Rule Availability Listener Ġcalled ") ĊĊĠĠĠĠĠ ĠI Adv ize SDK . target ing Controller . listeners . add ( object Ġ: ĠTarget ing Listener Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Active Target ing Rule Availability Updated ( isActive Target ing Rule Available : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠĠĠ Ġval Ġresult Ġ= ĠArguments . create Map () ĊĠĠĠĠĠĠĠĠĠ Ġresult . put Boolean (" isActive Target ing Rule Available ", ĠisActive Target ing Rule Available ); ĊĠĠĠĠĠĠĠĠĠ Ġsend Event ( get React ApplicationContext (), Ġ" i adv ize _ active Target ing Rule Availability Updated ", Ġresult ); ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ React Method ĊĠĠĠ Ġfun Ġregister User Navigation () Ġ{ ĊĠĠĠĠĠ ĠLog . d (" i Adv ize ĠSDK ", Ġ" register User Navigation Ġcalled ") ĊĠĠĠĠĠ ĠI Adv ize SDK . target ing Controller . register User Navigation () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/* ĊĠĠĠ ĠCon versation ĊĠĠĠĠ Ġ*/ ĊĊĠĠĠ Ġ@ React Method ( is Blocking S ynchronous Method Ġ= Ġtrue ) ĊĠĠĠ Ġfun Ġhas O ngo ing Conversation (): ĠBoolean Ġ{ ĊĠĠĠĠĠ ĠLog . d (" i Adv ize ĠSDK ", Ġ" has O ngo ing Conversation Ġcalled ") ĊĠĠĠĠĠ Ġreturn ĠI Adv ize SDK . conversation Controller . has O ngo ing Conversation () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ React Method ĊĠĠĠ Ġfun Ġset Conversation Listener () Ġ{ ĊĠĠĠĠĠ ĠLog . d (" i Adv ize ĠSDK ", Ġ" set Conversation Listener Ġcalled ") ĊĊĠĠĠĠĠ ĠI Adv ize SDK . conversation Controller . listeners . add ( object Ġ: ĠCon versation Listener Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon O ngo ing Conversation Status Changed ( has O ngo ing Conversation : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠĠĠ Ġval Ġresult Ġ= ĠArguments . create Map () ĊĠĠĠĠĠĠĠĠĠ Ġresult . put Boolean (" has O ngo ing Conversation ", Ġhas O ngo ing Conversation ); ĊĠĠĠĠĠĠĠĠĠ Ġsend Event ( get React ApplicationContext (), Ġ" i adv ize _ on O ngo ing Conversation Status Changed ", Ġresult ); ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon New Message Received ( content : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠĠĠ Ġval Ġresult Ġ= ĠArguments . create Map () ĊĠĠĠĠĠĠĠĠĠ Ġresult . putString (" content ", Ġcontent ); ĊĠĠĠĠĠĠĠĠĠ Ġsend Event ( get React ApplicationContext (), Ġ" i adv ize _ on New Message Received ", Ġresult ); ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġhandle Clicked Url ( uri : ĠUri ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠĠĠ Ġval Ġresult Ġ= ĠArguments . create Map () ĊĠĠĠĠĠĠĠĠĠ Ġresult . putString (" uri ", Ġuri . toString ()); ĊĠĠĠĠĠĠĠĠĠ Ġsend Event ( get React ApplicationContext (), Ġ" i adv ize _ handle Clicked Url ", Ġresult ); ĊĠĠĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġsend Event ( react Context : ĠReact Context , ĠeventName : ĠString , Ġ@ Nullable Ġparams : ĠWrit able Map ) Ġ{ ĊĠĠĠĠĠ ĠLog . d (" i Adv ize ĠSDK ", Ġ" send Event Ġ"+ eventName +" called ") ĊĠĠĠĠĠ Ġreact Context ĊĠĠĠĠĠĠĠ Ġ. get JS Module < RCT Device EventEmitter >( RCT Device EventEmitter :: class . java ) ĊĠĠĠĠĠĠĠ Ġ. emit ( eventName , Ġparams ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/* ĊĠĠĠĠĠ ĠPush ĠNotifications ĊĠĠĠĠ Ġ*/ ĊĊĠĠĠ Ġ@ React Method ĊĠĠĠ Ġfun Ġregister Push Token ( push Token : ĠString , Ġmode : ĠString ) Ġ{ ĊĠĠĠĠĠ ĠLog . d (" i Adv ize ĠSDK ", Ġ" set Ġpush Token Ġ" Ġ+ Ġpush Token ) ĊĠĠĠĠĠ ĠI Adv ize SDK . notification Controller . register Push Token ( push Token ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ React Method ĊĠĠĠ Ġfun Ġenable Push Notifications ( promise : ĠPromise ) Ġ{ ĊĠĠĠĠĠ ĠI Adv ize SDK . notification Controller . enable Push Notifications ( object Ġ: ĠI Adv ize SDK Callback Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun ĠonSuccess () Ġ{ ĊĠĠĠĠĠĠĠĠĠ Ġpromise . resolve ( true ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Failure ( t : ĠThrowable ) Ġ{ ĊĠĠĠĠĠĠĠĠĠ Ġpromise . reject (" 1 ", Ġt . toString ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ React Method ĊĠĠĠ Ġfun Ġdisable Push Notifications ( promise : ĠPromise ) Ġ{ ĊĠĠĠĠĠ ĠI Adv ize SDK . notification Controller . disable Push Notifications ( object Ġ: ĠI Adv ize SDK Callback Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun ĠonSuccess () Ġ{ ĊĠĠĠĠĠĠĠĠĠ Ġpromise . resolve ( true ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Failure ( t : ĠThrowable ) Ġ{ ĊĠĠĠĠĠĠĠĠĠ Ġpromise . reject (" 1 ", Ġt . toString ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/* ĊĠĠĠĠĠ ĠChat box ĊĠĠĠĠ Ġ*/ ĊĊĠĠĠ Ġ@ React Method ĊĠĠĠ Ġfun ĠsetDefault Chat Button ( active : ĠBoolean ) Ġ{ ĊĠĠĠĠĠ ĠLog . d (" i Adv ize ĠSDK ", Ġ" setDefault Chat Button Ġcalled Ġwith Ġ" Ġ+ Ġactive . toString ()) ĊĠĠĠĠĠ ĠI Adv ize SDK . chat box Controller . use Default Chat Button Ġ= Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ React Method ĊĠĠĠ Ġfun Ġset Chat Button Position ( left Margin : ĠInt , Ġbottom Margin : ĠInt ) Ġ{ ĊĠĠĠĠĠ ĠLog . d (" i Adv ize ĠSDK ", Ġ" set Chat Button Position Ġcalled Ġwith Ġ" Ġ+ Ġleft Margin . toString ()) ĊĠĠĠĠĠ ĠI Adv ize SDK . chat box Controller . set Chat Button Position ( left Margin , Ġbottom Margin ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ React Method ĊĠĠĠ Ġfun Ġset Chat box Configuration ( data : ĠRead able Map ) Ġ{ ĊĠĠĠĠĠ ĠLog . d (" i Adv ize ĠSDK ", Ġ" set Chat box Configuration Ġ" Ġ+ Ġdata ) ĊĊĠĠĠĠĠ Ġvar Ġchat box Configuration Ġ= ĠChat box Configuration ( main Color Ġ= ĠColor . WHITE ) ĊĠĠĠĠĠ Ġif Ġ( data . has Key (" main Color ")){ ĊĠĠĠĠĠĠĠ Ġdata . getString (" main Color ") ?. let Ġ{ Ġvalue Ġ-> ĊĠĠĠĠĠĠĠĠĠ Ġ( Color . parse Color ( value ) Ġas ? ĠInt )?. let { Ġcolor Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLog . d (" i Adv ize ĠSDK ", Ġ" set Ġmain Color Ġ" Ġ+ Ġvalue ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġchat box Configuration . main Color Ġ= Ġcolor ĊĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠ Ġif Ġ( data . has Key (" navigation Bar BackgroundColor ")){ ĊĠĠĠĠĠĠĠ Ġdata . getString (" navigation Bar BackgroundColor ") ?. let Ġ{ Ġvalue Ġ-> ĊĠĠĠĠĠĠĠĠĠ Ġ( Color . parse Color ( value ) Ġas ? ĠInt )?. let { Ġcolor Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLog . d (" i Adv ize ĠSDK ", Ġ" set Ġtoolbar BackgroundColor Ġ" Ġ+ Ġvalue ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġchat box Configuration . toolbar BackgroundColor Ġ= Ġcolor ĊĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠ Ġif Ġ( data . has Key (" navigation Bar Main Color ")){ ĊĠĠĠĠĠĠĠ Ġdata . getString (" navigation Bar Main Color ") ?. let Ġ{ Ġvalue Ġ-> ĊĠĠĠĠĠĠĠĠĠ Ġ( Color . parse Color ( value ) Ġas ? ĠInt )?. let { Ġcolor Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLog . d (" i Adv ize ĠSDK ", Ġ" set Ġtoolbar Main Color Ġ" Ġ+ Ġvalue ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġchat box Configuration . toolbar Main Color Ġ= Ġcolor ĊĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠ Ġif Ġ( data . has Key (" toolbar Title ")){ ĊĠĠĠĠĠĠĠ Ġdata . getString (" toolbar Title ") ?. let Ġ{ Ġvalue Ġ-> ĊĠĠĠĠĠĠĠĠĠ ĠLog . d (" i Adv ize ĠSDK ", Ġ" set Ġtoolbar Title Ġ" Ġ+ Ġvalue ) ĊĠĠĠĠĠĠĠĠĠ Ġchat box Configuration . toolbar Title Ġ= Ġvalue ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠ Ġif Ġ( data . has Key (" font Path ")){ ĊĠĠĠĠĠĠĠ Ġdata . getString (" font Path ") ?. let Ġ{ Ġvalue Ġ-> ĊĠĠĠĠĠĠĠĠĠ ĠLog . d (" i Adv ize ĠSDK ", Ġ" set Ġfont Path Ġ" Ġ+ Ġvalue ) ĊĠĠĠĠĠĠĠĠĠ Ġchat box Configuration . font Path Ġ= Ġvalue ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠ Ġif Ġ( data . has Key (" automatic Message ")){ ĊĠĠĠĠĠĠĠ Ġdata . getString (" automatic Message ") ?. let Ġ{ Ġvalue Ġ-> ĊĠĠĠĠĠĠĠĠĠ ĠLog . d (" i Adv ize ĠSDK ", Ġ" set Ġautomatic Message Ġ" Ġ+ Ġvalue ) ĊĠĠĠĠĠĠĠĠĠ Ġchat box Configuration . automatic Message Ġ= Ġvalue ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠ Ġif Ġ( data . has Key (" gd pr Message ")){ ĊĠĠĠĠĠĠĠ Ġdata . getString (" gd pr Message ") ?. let Ġ{ Ġvalue Ġ-> ĊĠĠĠĠĠĠĠĠĠ ĠLog . d (" i Adv ize ĠSDK ", Ġ" set Ġgd pr Message Ġ" Ġ+ Ġvalue ) ĊĠĠĠĠĠĠĠĠĠ Ġchat box Configuration . gd pr Message Ġ= Ġvalue ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠ Ġif Ġ( data . has Key (" incoming Message Avatar Image Name ")){ ĊĠĠĠĠĠĠĠ Ġdata . getString (" incoming Message Avatar Image Name ") ?. let Ġ{ Ġvalue Ġ-> ĊĠĠĠĠĠĠĠĠĠ ĠDrawable . createFrom Path ( value )?. let Ġ{ Ġdrawable Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLog . d (" i Adv ize ĠSDK ", Ġ" set Ġincoming Message Avatar Image Name Ġ" Ġ+ Ġvalue ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġchat box Configuration . incoming Message Avatar Ġ= ĠIncoming Message Avatar . Image ( drawable ) ĊĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠ Ġif Ġ( data . has Key (" incoming Message Avatar URL ")){ ĊĠĠĠĠĠĠĠ Ġdata . getString (" incoming Message Avatar URL ") ?. let Ġ{ Ġvalue Ġ-> ĊĠĠĠĠĠĠĠĠĠ ĠLog . d (" i Adv ize ĠSDK ", Ġ" set Ġincoming Message Avatar URL Ġ" Ġ+ Ġvalue ) ĊĠĠĠĠĠĠĠĠĠ Ġvar Ġurl Ġ= ĠURL ( value ) ĊĠĠĠĠĠĠĠĠĠ Ġchat box Configuration . incoming Message Avatar Ġ= ĠIncoming Message Avatar . Url ( url ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠ ĠI Adv ize SDK . chat box Controller . setup Chat box ( chat box Configuration ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/* ĊĠĠĠĠĠ ĠTransaction ĊĠĠĠĠ Ġ*/ ĊĊĠĠĠ Ġ@ React Method ĊĠĠĠ Ġfun Ġregister Transaction ( data : ĠRead able Map ) Ġ{ ĊĠĠĠĠĠ ĠLog . d (" i Adv ize ĠSDK ", Ġ" register Transaction Ġ" Ġ+ Ġdata ) ĊĊĠĠĠĠĠ Ġval Ġtransaction Id Ġ= Ġdata . getString (" transaction Id ") Ġ?: Ġ"" ĊĠĠĠĠĠ Ġval Ġamount Ġ= Ġdata . getDouble (" amount ") Ġ?: Ġ 0 . 0 ĊĠĠĠĠĠ Ġval Ġcurrency Value Ġ= Ġdata . getString (" currency ") Ġ?: Ġ"" ĊĠĠĠĠĠ Ġval Ġcurrency Ġ= ĠCurrency . safe ValueOf ( currency Value ) Ġ?: ĠCurrency . EUR ĊĊĠĠĠĠĠ ĠLog . d (" i Adv ize ĠSDK ", Ġtransaction Id ) ĊĠĠĠĠĠ ĠLog . d (" i Adv ize ĠSDK ", Ġamount . toString ()) ĊĠĠĠĠĠ ĠLog . d (" i Adv ize ĠSDK ", Ġcurrency Value ) ĊĠĠĠĠĠ ĠLog . d (" i Adv ize ĠSDK ", Ġcurrency . toString ()) ĊĠĠĠĠĠ ĠI Adv ize SDK . transaction Controller . register ( ĊĠĠĠĠĠĠĠ ĠTransaction ( ĊĠĠĠĠĠĠĠĠĠ Ġtransaction Id , ĊĠĠĠĠĠĠĠĠĠ ĠDate (), ĊĠĠĠĠĠĠĠĠĠ Ġamount , ĊĠĠĠĠĠĠĠĠĠ Ġcurrency ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/* ĊĠĠĠĠĠ ĠLogout ĊĠĠĠĠ Ġ*/ ĊĊĠĠĠ Ġ@ React Method ĊĠĠĠ Ġfun Ġlogout () Ġ{ ĊĠĠĠĠĠ ĠLog . d (" i Adv ize ĠSDK ", Ġ" logout Ġcalled ") ĊĠĠĠĠĠ ĠI Adv ize SDK . logout () ĊĠĠĠ Ġ} Ċ } Ċ