@@ -283,6 +283,14 @@ && checkKey(mapConfig, "isDataResidency")) {
283283 }
284284 }
285285
286+ // app set ID reading (Android only)
287+ if (checkKey (mapConfig , "isAppSetIdReadingEnabled" )) {
288+ boolean isAppSetIdReadingEnabled = mapConfig .getBoolean ("isAppSetIdReadingEnabled" );
289+ if (!isAppSetIdReadingEnabled ) {
290+ adjustConfig .disableAppSetIdReading ();
291+ }
292+ }
293+
286294 // store info
287295 if (checkKey (mapConfig , "storeInfo" )) {
288296 ReadableMap storeInfo = mapConfig .getMap ("storeInfo" );
@@ -772,6 +780,42 @@ public void onAttributionRead(AdjustAttribution attribution) {
772780 });
773781 }
774782
783+ @ ReactMethod
784+ public void getAttributionWithTimeout (final ReadableMap timeoutMap , final Callback callback ) {
785+ if (timeoutMap == null || !checkKey (timeoutMap , "timeoutInMilliseconds" )) {
786+ if (callback != null ) {
787+ callback .invoke ((WritableMap ) null );
788+ }
789+ return ;
790+ }
791+
792+ long timeoutInMilliseconds ;
793+ try {
794+ timeoutInMilliseconds = (long ) timeoutMap .getDouble ("timeoutInMilliseconds" );
795+ } catch (Exception e ) {
796+ if (callback != null ) {
797+ callback .invoke ((WritableMap ) null );
798+ }
799+ return ;
800+ }
801+
802+ com .adjust .sdk .Adjust .getAttributionWithTimeout (
803+ getReactApplicationContext (),
804+ timeoutInMilliseconds ,
805+ new com .adjust .sdk .OnAttributionReadListener () {
806+ @ Override
807+ public void onAttributionRead (AdjustAttribution attribution ) {
808+ if (callback != null ) {
809+ if (attribution == null ) {
810+ callback .invoke ((WritableMap ) null );
811+ } else {
812+ callback .invoke (AdjustUtil .attributionToMap (attribution ));
813+ }
814+ }
815+ }
816+ });
817+ }
818+
775819 @ ReactMethod
776820 public void getAdid (final Callback callback ) {
777821 com .adjust .sdk .Adjust .getAdid (new com .adjust .sdk .OnAdidReadListener () {
@@ -784,6 +828,38 @@ public void onAdidRead(String adid) {
784828 });
785829 }
786830
831+ @ ReactMethod
832+ public void getAdidWithTimeout (final ReadableMap timeoutMap , final Callback callback ) {
833+ if (timeoutMap == null || !checkKey (timeoutMap , "timeoutInMilliseconds" )) {
834+ if (callback != null ) {
835+ callback .invoke ((String ) null );
836+ }
837+ return ;
838+ }
839+
840+ long timeoutInMilliseconds ;
841+ try {
842+ timeoutInMilliseconds = (long ) timeoutMap .getDouble ("timeoutInMilliseconds" );
843+ } catch (Exception e ) {
844+ if (callback != null ) {
845+ callback .invoke ((String ) null );
846+ }
847+ return ;
848+ }
849+
850+ com .adjust .sdk .Adjust .getAdidWithTimeout (
851+ getReactApplicationContext (),
852+ timeoutInMilliseconds ,
853+ new com .adjust .sdk .OnAdidReadListener () {
854+ @ Override
855+ public void onAdidRead (String adid ) {
856+ if (callback != null ) {
857+ callback .invoke (adid != null ? adid : null );
858+ }
859+ }
860+ });
861+ }
862+
787863 @ ReactMethod
788864 public void getLastDeeplink (final Callback callback ) {
789865 com .adjust .sdk .Adjust .getLastDeeplink (
0 commit comments