[{"data":1,"prerenderedAt":342},["ShallowReactive",2],{"changelog-nav":3,"\u002Fchangelog\u002Fandroid":35},[4,7,11,15,19,23,27,31],{"path":5,"title":6},"\u002Fchangelog","Changelog home",{"title":8,"path":9,"stem":10},"Product changelog","\u002Fchangelog\u002Fproduct","3.changelog\u002F2.product",{"title":12,"path":13,"stem":14},"JavaScript changelog","\u002Fchangelog\u002Fjavascript","3.changelog\u002F3.javascript",{"title":16,"path":17,"stem":18},"Core (Node.js) changelog","\u002Fchangelog\u002Fcore","3.changelog\u002F4.core",{"title":20,"path":21,"stem":22},"Fingerprint (JavaScript) changelog","\u002Fchangelog\u002Ffingerprint","3.changelog\u002F5.fingerprint",{"title":24,"path":25,"stem":26},"iOS changelog","\u002Fchangelog\u002Fios","3.changelog\u002F6.iOS",{"title":28,"path":29,"stem":30},"Android changelog","\u002Fchangelog\u002Fandroid","3.changelog\u002F7.android",{"title":32,"path":33,"stem":34},"React Native changelog","\u002Fchangelog\u002Freact-native","3.changelog\u002F8.react native",{"id":36,"title":28,"body":37,"description":335,"extension":336,"meta":337,"navigation":338,"path":29,"seo":339,"sitemap":340,"stem":30,"__hash__":341},"changelog\u002F3.changelog\u002F7.android.md",{"type":38,"value":39,"toc":295},"minimark",[40,45,63,68,73,92,96,99,107,111,115,124,128,131,145,149,152,159,163,166,183,187,190,210,213,218,222,225,234,238,241,251,255,258,263,267,270,286,290],[41,42,44],"h1",{"id":43},"android-sdk-changelog","Android SDK changelog",[46,47,48,49,56,57,62],"p",{},"The format is based on ",[50,51,55],"a",{"href":52,"rel":53},"https:\u002F\u002Fkeepachangelog.com\u002Fen\u002F1.0.0\u002F",[54],"nofollow","Keep a Changelog",",\nand this project adheres to ",[50,58,61],{"href":59,"rel":60},"https:\u002F\u002Fsemver.org\u002Fspec\u002Fv2.0.0.html",[54],"Semantic Versioning",".",[64,65,67],"h2",{"id":66},"_373-2025-10-29","[3.7.3] - 2025-10-29",[69,70,72],"h3",{"id":71},"changed","Changed",[74,75,76,80],"ul",{},[77,78,79],"li",{},"Unified system back button handling with the programmable navigation back button.",[77,81,82,83,87,88,91],{},"Added ",[84,85,86],"code",{},"canGoBack"," parameter to the ",[84,89,90],{},"onBackButtonPressed"," callback function.",[64,93,95],{"id":94},"_372-2025-10-23","[3.7.2] - 2025-10-23",[69,97,72],{"id":98},"changed-1",[74,100,101,104],{},[77,102,103],{},"Changed navigation buttons to show on all screens of the challenge instead of non-main screen only.",[77,105,106],{},"Changed back button callback to call even if challenge webview cannot go back (i.e. no navigation history).",[64,108,110],{"id":109},"_371-2025-10-23","[3.7.1] - 2025-10-23",[69,112,114],{"id":113},"added","Added",[74,116,117],{},[77,118,119,120,123],{},"Exposed ",[84,121,122],{},"hideChallenge()"," function to manually hide any open challenges and reset the challenge state.",[64,125,127],{"id":126},"_370-2025-10-23","[3.7.0] - 2025-10-23",[69,129,114],{"id":130},"added-1",[74,132,133,139],{},[77,134,119,135,138],{},[84,136,137],{},"openChallenge()"," function to allow opening challenges directly from the SDK.",[77,140,119,141,144],{},[84,142,143],{},"getHash()"," function to retrieve device fingerprint hash for server-side evaluations.",[64,146,148],{"id":147},"_360-2025-08-29","[3.6.0] - 2025-08-29",[69,150,114],{"id":151},"added-2",[74,153,154],{},[77,155,82,156,158],{},[84,157,90],{}," callback to allow for custom handling of the back button.",[64,160,162],{"id":161},"_350-2025-08-22","[3.5.0] - 2025-08-22",[69,164,72],{"id":165},"changed-2",[74,167,168],{},[77,169,170,171,174,175,178,179,182],{},"Updated the ",[84,172,173],{},"ChallengeActivity"," with ",[84,176,177],{},"android:fitsSystemWindows=\"true\""," to support apps enabling ",[84,180,181],{},"edge-to-edge"," mode.",[64,184,186],{"id":185},"_340-2025-08-17","[3.4.0] - 2025-08-17",[69,188,114],{"id":189},"added-3",[74,191,192,198,204],{},[77,193,119,194,197],{},[84,195,196],{},"showChallengeNavigation"," property on the RuptClient instance to enhance the ability to customize the challenge webview navigation.",[77,199,119,200,203],{},[84,201,202],{},"onChallengeCompleted"," callback to the SDK when a challenge should be shown.",[77,205,119,206,209],{},[84,207,208],{},"shouldStartChallengeActivity"," callback to the SDK to allow for custom handling of challenge activities.",[69,211,72],{"id":212},"changed-3",[74,214,215],{},[77,216,217],{},"Improved multi-threading support & callbacks on the SDK.",[64,219,221],{"id":220},"_330-2025-08-07","[3.3.0] - 2025-08-07",[69,223,72],{"id":224},"changed-4",[74,226,227],{},[77,228,229,230,233],{},"Allowed ",[84,231,232],{},"applicationContext"," to be passed to start a challenge activity.",[64,235,237],{"id":236},"_320-2025-07-06","[3.2.0] - 2025-07-06",[69,239,114],{"id":240},"added-4",[74,242,243,246],{},[77,244,245],{},"Moved Android challenges to use WebView instead of native challenges to provide UX parity with web and iOS.",[77,247,119,248,250],{},[84,249,202],{}," callback to the SDK when a challenge is completed.",[64,252,254],{"id":253},"_310-2025-06-18","[3.1.0] - 2025-06-18",[69,256,72],{"id":257},"changed-5",[74,259,260],{},[77,261,262],{},"Updated the SDK for to support the latest Rupt challenge APIs.",[64,264,266],{"id":265},"_303-2024-03-03","[3.0.3] - 2024-03-03",[69,268,114],{"id":269},"added-5",[74,271,272,275,278],{},[77,273,274],{},"Added support for the new v3 API for Rupt. V2 is deprecated.",[77,276,277],{},"This is a breaking change. You will need to update your code to use the new API.",[77,279,280,281,285],{},"See the quick ",[50,282,284],{"href":283},"\u002Fdocs\u002Fquick-start","start guide"," for the updated usage.",[69,287,289],{"id":288},"fixed","Fixed",[74,291,292],{},[77,293,294],{},"Fixed branding on challenge screens.",{"title":296,"searchDepth":297,"depth":297,"links":298},"",2,[299,303,306,309,312,315,318,322,325,328,331],{"id":66,"depth":297,"text":67,"children":300},[301],{"id":71,"depth":302,"text":72},3,{"id":94,"depth":297,"text":95,"children":304},[305],{"id":98,"depth":302,"text":72},{"id":109,"depth":297,"text":110,"children":307},[308],{"id":113,"depth":302,"text":114},{"id":126,"depth":297,"text":127,"children":310},[311],{"id":130,"depth":302,"text":114},{"id":147,"depth":297,"text":148,"children":313},[314],{"id":151,"depth":302,"text":114},{"id":161,"depth":297,"text":162,"children":316},[317],{"id":165,"depth":302,"text":72},{"id":185,"depth":297,"text":186,"children":319},[320,321],{"id":189,"depth":302,"text":114},{"id":212,"depth":302,"text":72},{"id":220,"depth":297,"text":221,"children":323},[324],{"id":224,"depth":302,"text":72},{"id":236,"depth":297,"text":237,"children":326},[327],{"id":240,"depth":302,"text":114},{"id":253,"depth":297,"text":254,"children":329},[330],{"id":257,"depth":302,"text":72},{"id":265,"depth":297,"text":266,"children":332},[333,334],{"id":269,"depth":302,"text":114},{"id":288,"depth":302,"text":289},"The format is based on Keep a Changelog,\nand this project adheres to Semantic Versioning.","md",{},true,{"title":28,"description":335},{"loc":29},"_zTJQD3oVGo2uq4b9VKTbDyCdHCNNK9n-2pfuanSitM",1780344892423]