Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Firebase dynamic link fails fingerprint match in certain locale/language combinations #233

Closed
nhuomtv opened this issue Sep 5, 2017 · 57 comments

Comments

@nhuomtv
Copy link

nhuomtv commented Sep 5, 2017

I tested ios 4.1.0 in 10 devices ios, three device receive dynamic link "MyAppSchema://google/link/?dismiss=1&is_weak_match=1". Please check new release firebase dynamic link service. May 2017 i tested with 10 device above it work normaly. Now three device dynamic link not work.

@morganchen12
Copy link
Contributor

Can you share more details? Under what conditions did the dynamic links not work?

@nhuomtv
Copy link
Author

nhuomtv commented Sep 6, 2017

It not work in some devices with setting language vietnamese.

@baolocdo
Copy link

baolocdo commented Sep 6, 2017

Can you provide more details as why it didn't work? Did it open the app normally? Or did it open the app but fetching didn't work? Please provide some debug logs to help us debug better. Thanks

@nhuomtv
Copy link
Author

nhuomtv commented Sep 6, 2017

It is debug logs

2017-08-24 20:36:32.266362 TRSBO_DEV[1339:182509] [Firebase/Analytics][I-ACS036002] Firebase screen reporting is enabled. Call +[FIRAnalytics setScreenName:setScreenClass:] to set the screen name or override the default screen class name. To disable screen reporting, set the flag FirebaseScreenReportingEnabled to NO (boolean) in the Info.plist
2017-08-24 20:36:32.266 TRSBO_DEV[1339] <Info> [Firebase/Analytics][I-ACS036002] Firebase screen reporting is enabled. Call +[FIRAnalytics setScreenName:setScreenClass:] to set the screen name or override the default screen class name. To disable screen reporting, set the flag FirebaseScreenReportingEnabled to NO (boolean) in the Info.plist
2017-08-24 20:36:32.314150 TRSBO_DEV[1339:182351] Start lunching BO App
2017-08-24 20:36:32.315501 TRSBO_DEV[1339:182351] Flurry: Starting session on Agent Version [Flurry_iOS_123_4.3.2]
2017-08-24 20:36:32.348206 TRSBO_DEV[1339:182351] [Crashlytics] Version 3.8.5 (123)
2017-08-24 20:36:32.374677 TRSBO_DEV[1339:182512] [Firebase/Core][I-COR000001] Configuring the default app.
2017-08-24 20:36:32.381 TRSBO_DEV[1339] <Debug> [Firebase/Core][I-COR000001] Configuring the default app.
2017-08-24 20:36:32.382702 TRSBO_DEV[1339:182517] [Firebase/Analytics][I-ACS024000] Debug mode is on
2017-08-24 20:36:32.382 TRSBO_DEV[1339] <Debug> [Firebase/Analytics][I-ACS024000] Debug mode is on
2017-08-24 20:36:32.389936 TRSBO_DEV[1339:182512] [Firebase/Analytics][I-ACS005000] The AdSupport Framework is not currently linked. Some features will not function properly. Learn more at http://goo.gl/9vSsPb
2017-08-24 20:36:32.390 TRSBO_DEV[1339] <Debug> [Firebase/Analytics][I-ACS005000] The AdSupport Framework is not currently linked. Some features will not function properly. Learn more at http://goo.gl/9vSsPb
2017-08-24 20:36:32.391410 TRSBO_DEV[1339:182512] [Firebase/Analytics][I-ACS023007] Firebase Analytics v.40003000 started
2017-08-24 20:36:32.391 TRSBO_DEV[1339] <Notice> [Firebase/Analytics][I-ACS023007] Firebase Analytics v.40003000 started
2017-08-24 20:36:32.392217 TRSBO_DEV[1339:182512] [Firebase/Analytics][I-ACS023008] To disable debug logging set the following application argument: -noFIRAnalyticsDebugEnabled (see http://goo.gl/RfcP7r)
2017-08-24 20:36:32.398 TRSBO_DEV[1339] <Notice> [Firebase/Analytics][I-ACS023008] To disable debug logging set the following application argument: -noFIRAnalyticsDebugEnabled (see http://goo.gl/RfcP7r)
2017-08-24 20:36:32.399846 TRSBO_DEV[1339:182512] [Firebase/Analytics][I-ACS023009] Debug logging enabled
2017-08-24 20:36:32.400 TRSBO_DEV[1339] <Debug> [Firebase/Analytics][I-ACS023009] Debug logging enabled
2017-08-24 20:36:32.400727 TRSBO_DEV[1339:182512] [Firebase/InstanceID][I-IID013002] Removed cached checkin preferences from Keychain.
2017-08-24 20:36:32.400 TRSBO_DEV[1339] <Debug> [Firebase/InstanceID][I-IID013002] Removed cached checkin preferences from Keychain.
2017-08-24 20:36:32.401276 TRSBO_DEV[1339:182512] [Firebase/InstanceID][I-IID013006] App reset detected. Will delete server registrations.
2017-08-24 20:36:32.401 TRSBO_DEV[1339] <Debug> [Firebase/InstanceID][I-IID013006] App reset detected. Will delete server registrations.
2017-08-24 20:36:32.401693 TRSBO_DEV[1339:182512] [Firebase/InstanceID][I-IID013010] InstanceID library version 2.0.1
2017-08-24 20:36:32.401 TRSBO_DEV[1339] <Info> [Firebase/InstanceID][I-IID013010] InstanceID library version 2.0.1
2017-08-24 20:36:32.406531 TRSBO_DEV[1339:182519] [Firebase/InstanceID][I-IID015013] Successfully removed all IID tokens
2017-08-24 20:36:32.406 TRSBO_DEV[1339] <Info> [Firebase/InstanceID][I-IID015013] Successfully removed all IID tokens
2017-08-24 20:36:32.662543 TRSBO_DEV[1339:182512] [Firebase/Analytics][I-ACS029017] Configuration was not found in database. The configuration will be fetched from the network when necessary
2017-08-24 20:36:32.662 TRSBO_DEV[1339] <Debug> [Firebase/Analytics][I-ACS029017] Configuration was not found in database. The configuration will be fetched from the network when necessary
2017-08-24 20:36:32.662991 TRSBO_DEV[1339:182512] [Firebase/Analytics][I-ACS023016] Firebase Analytics is ready to receive events
2017-08-24 20:36:32.663 TRSBO_DEV[1339] <Debug> [Firebase/Analytics][I-ACS023016] Firebase Analytics is ready to receive events
2017-08-24 20:36:32.666353 TRSBO_DEV[1339:182512] [Firebase/Analytics][I-ACS023080] Setting user property. Name, value: first_open_time (_fot), 1503583200000
2017-08-24 20:36:32.666 TRSBO_DEV[1339] <Debug> [Firebase/Analytics][I-ACS023080] Setting user property. Name, value: first_open_time (_fot), 1503583200000
2017-08-24 20:36:32.667222 TRSBO_DEV[1339:182512] [Firebase/Analytics][I-ACS023087] User property set. Name, value: first_open_time (_fot), 1503583200000
2017-08-24 20:36:32.667 TRSBO_DEV[1339] <Debug> [Firebase/Analytics][I-ACS023087] User property set. Name, value: first_open_time (_fot), 1503583200000
2017-08-24 20:36:32.674255 TRSBO_DEV[1339:182512] [Firebase/Analytics][I-ACS023051] Logging event: origin, name, params: auto, first_open (_f), {
    update_with_analytics (_uwa) = 0;
    previous_first_open_count (_pfo) = 39;
    firebase_event_origin (_o) = auto;
}
2017-08-24 20:36:32.674 TRSBO_DEV[1339] <Debug> [Firebase/Analytics][I-ACS023051] Logging event: origin, name, params: auto, first_open (_f), {
	    update_with_analytics (_uwa) = 0;
	    previous_first_open_count (_pfo) = 39;
	    firebase_event_origin (_o) = auto;
	}
2017-08-24 20:36:32.676638 TRSBO_DEV[1339:182512] [Firebase/Analytics][I-ACS023058] Conversion event is under real-time daily limit. Marking the event as real-time. Event name, parameters: first_open (_f), {
    update_with_analytics (_uwa) = 0;
    previous_first_open_count (_pfo) = 39;
    firebase_event_origin (_o) = auto;
    firebase_conversion (_c) = 1;
}
2017-08-24 20:36:32.676 TRSBO_DEV[1339] <Debug> [Firebase/Analytics][I-ACS023058] Conversion event is under real-time daily limit. Marking the event as real-time. Event name, parameters: first_open (_f), {
	    update_with_analytics (_uwa) = 0;
	    previous_first_open_count (_pfo) = 39;
	    firebase_event_origin (_o) = auto;
	    firebase_conversion (_c) = 1;
	}
2017-08-24 20:36:32.677136 TRSBO_DEV[1339:182512] [Firebase/Analytics][I-ACS023059] Conversion event is not subject to real-time daily limit. Marking the event as real-time. Event name, parameters: first_open (_f), {
    update_with_analytics (_uwa) = 0;
    previous_first_open_count (_pfo) = 39;
    firebase_event_origin (_o) = auto;
    firebase_conversion (_c) = 1;
}
2017-08-24 20:36:32.677 TRSBO_DEV[1339] <Debug> [Firebase/Analytics][I-ACS023059] Conversion event is not subject to real-time daily limit. Marking the event as real-time. Event name, parameters: first_open (_f), {
	    update_with_analytics (_uwa) = 0;
	    previous_first_open_count (_pfo) = 39;
	    firebase_event_origin (_o) = auto;
	    firebase_conversion (_c) = 1;
	}
2017-08-24 20:36:32.677826 TRSBO_DEV[1339:182512] [Firebase/Analytics][I-ACS023073] Debug mode is enabled. Marking event as debug and real-time. Event name, parameters: first_open (_f), {
    update_with_analytics (_uwa) = 0;
    previous_first_open_count (_pfo) = 39;
    firebase_event_origin (_o) = auto;
    firebase_realtime (_r) = 1;
    firebase_debug (_dbg) = 1;
    firebase_conversion (_c) = 1;
}
2017-08-24 20:36:32.678 TRSBO_DEV[1339] <Debug> [Firebase/Analytics][I-ACS023073] Debug mode is enabled. Marking event as debug and real-time. Event name, parameters: first_open (_f), {
	    update_with_analytics (_uwa) = 0;
	    previous_first_open_count (_pfo) = 39;
	    firebase_event_origin (_o) = auto;
	    firebase_realtime (_r) = 1;
	    firebase_debug (_dbg) = 1;
	    firebase_conversion (_c) = 1;
	}
2017-08-24 20:36:32.697996 TRSBO_DEV[1339:182519] [Firebase/InstanceID][I-IID007006] Checkin parameters: {
    checkin =     {
        iosbuild =         {
            model = "iPhone8,1";
            "os_version" = "IOS_10.0.2";
        };
        "last_checkin_msec" = 0;
        type = 2;
        "user_number" = 0;
    };
    digest = "";
    fragment = 0;
    id = 0;
    locale = en;
    "logging_id" = 2387276951;
    "security_token" = 0;
    timezone = "Asia/Ho_Chi_Minh";
    "user_serial_number" = 0;
    version = 2;
}
2017-08-24 20:36:32.698 TRSBO_DEV[1339] <Debug> [Firebase/InstanceID][I-IID007006] Checkin parameters: {
	    checkin =     {
	        iosbuild =         {
	            model = "iPhone8,1";
	            "os_version" = "IOS_10.0.2";
	        };
	        "last_checkin_msec" = 0;
	        type = 2;
	        "user_number" = 0;
	    };
	    digest = "";
	    fragment = 0;
	    id = 0;
	    locale = en;
	    "logging_id" = 2387276951;
	    "security_token" = 0;
	    timezone = "Asia/Ho_Chi_Minh";
	    "user_serial_number" = 0;
	    version = 2;
	}
2017-08-24 20:36:32.760903 TRSBO_DEV[1339:182351] Path app : file:///var/mobile/Containers/Data/Application/00108379-BCD2-465F-8BDE-A0A259D163CE/Documents/,
2017-08-24 20:36:32.760943 TRSBO_DEV[1339:182351] Finish lunching BO App
2017-08-24 20:36:33.257537 TRSBO_DEV[1339:182522] [Firebase/InstanceID][I-IID007002] Invalid last checkin timestamp in future.
2017-08-24 20:36:33.258 TRSBO_DEV[1339] <Debug> [Firebase/InstanceID][I-IID007002] Invalid last checkin timestamp in future.
2017-08-24 20:36:33.260655 TRSBO_DEV[1339:182522] [Firebase/InstanceID][I-IID007003] Checkin successful with authId: 5004855308093416333, digest: XwSZsE0mSclMPC+Xt+bdQw==, lastCheckinTimestamp: 1503581793000
2017-08-24 20:36:33.261 TRSBO_DEV[1339] <Debug> [Firebase/InstanceID][I-IID007003] Checkin successful with authId: 5004855308093416333, digest: XwSZsE0mSclMPC+Xt+bdQw==, lastCheckinTimestamp: 1503581793000
2017-08-24 20:36:33.261849 TRSBO_DEV[1339:182522] [Firebase/InstanceID][I-IID005004] Successfully got checkin credentials
2017-08-24 20:36:33.261 TRSBO_DEV[1339] <Debug> [Firebase/InstanceID][I-IID005004] Successfully got checkin credentials
2017-08-24 20:36:33.275618 TRSBO_DEV[1339:182512] [Firebase/InstanceID][I-IID005002] Checkin success.
2017-08-24 20:36:33.275 TRSBO_DEV[1339] <Debug> [Firebase/InstanceID][I-IID005002] Checkin success.
2017-08-24 20:36:34.111200 TRSBO_DEV[1339:182351] SocketRocket: In debug mode.  Allowing connection to any root cert
2017-08-24 20:36:34.112728 TRSBO_DEV[1339:182351] Connect to bo.uat-jp-st.nextop.asia 	 8888
2017-08-24 20:36:34.305553 TRSBO_DEV[1339:182516] App Transport Security has blocked a cleartext HTTP (http://) resource load since it is insecure. Temporary exceptions can be configured via your app's Info.plist file.
2017-08-24 20:36:34.421625 TRSBO_DEV[1339:182510] [Firebase/InstanceID][I-IID014000] Fetch new token for authorizedEntity: 727393096421, scope: *
2017-08-24 20:36:34.421 TRSBO_DEV[1339] <Debug> [Firebase/InstanceID][I-IID014000] Fetch new token for authorizedEntity: 727393096421, scope: *
2017-08-24 20:36:34.422378 TRSBO_DEV[1339:182510] [Firebase/InstanceID][I-IID020000] Register request to https://jmt17.google.com/gcm/register4 content: X-osv=10.0.2&device=5004855308093416333&X-scope=*&plat=2&app=jp.min-st.MinOP.Dev&app_ver=1.0.8&X-kid=1&sender=727393096421&X-subtype=727393096421&appid=cdx62vij6wo&pub2=MIIBCgKCAQEAnGOmBWBRuFuUXdSLfobRTnzmLZouzeJDqIIIrWPXD4QXq+C8Oz8l

jFUFF80ZQY0Q8KpDNhC6Bn6Ys5S8k7I9wc8uU48COhLixrGS4zCG6Ib0TvrlxZgf

++ojKf4fe7vQBFGzXHEf+AXthZrhRa6QqnHGu2slWEOjk8ccnsJprq7FSRKNT8jj

rFHVUwpqQdUSPDdbnllGj5VG9W7yZEmbZSn99n+C1z23q8ftZL/MO7Suk/3XzeCN

s076sbrKieIW59VPwZNchDr1aAuIBfWn2DfqbV4yzIHjD1PZ5UbYuBeB7XqefTOO

K1G0dQpO2EKO4csp9QsyZH4c3JgDKb5XnQIDAQAB&sig=bPIVtw7ajSB1eW-JXXOWIPqrEZ-T6jm9ZaDlI8xgSebijsaykTwm7hEEl-5LxaQjg4yCQKjSXq1d2i7kLMhvhCtwFfc7CdLQYybjmQVfYvbMUynz9v2URVATRQ-5lpwA4_0Dhq3T25QlONC1yY5MiqhP5V9CGc6k-5fMdTEa7DXi-6viW7RhJ8QHGLPc-YeE_kP_JdbWfyl1rwjNz4ZcIqyNmN8xrtTy_OUbXy_p26TSXFWHRJVcF88_5WP7JQtS1SfpUr_RnKsCBMibLq0eGlvDrl_rYKPd0oeEqSeSPIuU8HpsAGLXgrCYJV0tw-Pf_lxnYTngY-RLou0tUxrJkBme14OwWBY3zAXL1X7qHeZkbPRnzUUpCaQu
2017-08-24 20:36:34.423 TRSBO_DEV[1339] <Debug> [Firebase/InstanceID][I-IID020000] Register request to https://jmt17.google.com/gcm/register4 content: X-osv=10.0.2&device=5004855308093416333&X-scope=*&plat=2&app=jp.min-st.MinOP.Dev&app_ver=1.0.8&X-kid=1&sender=727393096421&X-subtype=727393096421&appid=cdx62vij6wo&pub2=MIIBCgKCAQEAnGOmBWBRuFuUXdSLfobRTnzmLZouzeJDqIIIrWPXD4QXq+C8Oz8l
	
	jFUFF80ZQY0Q8KpDNhC6Bn6Ys5S8k7I9wc8uU48COhLixrGS4zCG6Ib0TvrlxZgf
	
	++ojKf4fe7vQBFGzXHEf+AXthZrhRa6QqnHGu2slWEOjk8ccnsJprq7FSRKNT8jj
	
	rFHVUwpqQdUSPDdbnllGj5VG9W7yZEmbZSn99n+C1z23q8ftZL/MO7Suk/3XzeCN
	
	s076sbrKieIW59VPwZNchDr1aAuIBfWn2DfqbV4yzIHjD1PZ5UbYuBeB7XqefTOO
	
	K1G0dQpO2EKO4csp9QsyZH4c3JgDKb5XnQIDAQAB&sig=bPIVtw7ajSB1eW-JXXOWIPqrEZ-T6jm9ZaDlI8xgSebijsaykTwm7hEEl-5LxaQjg4yCQKjSXq1d2i7kLMhvhCtwFfc7CdLQYybjmQVfYvbMUynz9v2URVATRQ-5lpwA4_0Dhq3T25QlONC1yY5MiqhP5V9CGc6k-5fMdTEa7DXi-6viW7RhJ8QHGLPc-YeE_kP_JdbWfyl1rwjNz4ZcIqyNmN8xrtTy_OUbXy_p26TSXFWHRJVcF88_5WP7JQtS1SfpUr_RnKsCBMibLq0eGlvDrl_rYKPd0oeEqSeSPIuU8HpsAGLXgrCYJV0tw-Pf_lxnYTngY-RLou0tUxrJkBme14OwWBY3zAXL1X7qHeZkbPRnzUUpCaQubS_P7qnr_C9beYX9i_RfcqnP27CHGxE3j-Z8C1X0P1Mfp2uALh8KyXNdnTkWdQYseigxH2566r9ZD81A5HFj980mZuVd_zg6kmDxedrLnNk761aDENSYrTbRJs37GwI36JFVcBVIf5B-dCD2iRNQrbZng59m-4rsc0RDrBk7UG9o8ZwZukdlw7JegJggBHwze7F75t2ENQr90FBZ1ZHQ5CPjYifvf2itaUMqHuoMEGEjp28cfyaF-HVDeiafQeTi8ggpuwokDblU57rP1Sz0t7yoltdQTn1WeFfu8ZFk6WVFKpfS5CI&gmp_app_id=1:727393096421:ios:19c1173b1aa20d16
2017-08-24 20:36:34.427715 TRSBO_DEV[1339:182510] [Firebase/Analytics][I-ACS031010] Tracking view controller. Class, ID: MMDrawerController, -812623055661715467
2017-08-24 20:36:34.427 TRSBO_DEV[1339] <Debug> [Firebase/Analytics][I-ACS031010] Tracking view controller. Class, ID: MMDrawerController, -812623055661715467
2017-08-24 20:36:34.428027 TRSBO_DEV[1339:182510] [Firebase/Analytics][I-ACS031010] Tracking view controller. Class, ID: BOSplashViewController, -812623055661715466
2017-08-24 20:36:34.428 TRSBO_DEV[1339] <Debug> [Firebase/Analytics][I-ACS031010] Tracking view controller. Class, ID: BOSplashViewController, -812623055661715466
2017-08-24 20:36:34.428194 TRSBO_DEV[1339:182510] [Firebase/Analytics][I-ACS031006] View controller already tracked. Class, ID: BOSplashViewController, -812623055661715466
2017-08-24 20:36:34.428 TRSBO_DEV[1339] <Debug> [Firebase/Analytics][I-ACS031006] View controller already tracked. Class, ID: BOSplashViewController, -812623055661715466
2017-08-24 20:36:34.428515 TRSBO_DEV[1339:182510] [Firebase/Analytics][I-ACS902004] Network status has changed. Code, status: 2, Connected
2017-08-24 20:36:34.428 TRSBO_DEV[1339] <Debug> [Firebase/Analytics][I-ACS902004] Network status has changed. Code, status: 2, Connected
2017-08-24 20:36:34.428640 TRSBO_DEV[1339:182510] [Firebase/Analytics][I-ACS003007] Successfully created Firebase Analytics App Delegate Proxy automatically. To disable the proxy, set the flag FirebaseAppDelegateProxyEnabled to NO in the Info.plist
2017-08-24 20:36:34.428 TRSBO_DEV[1339] <Debug> [Firebase/Analytics][I-ACS003007] Successfully created Firebase Analytics App Delegate Proxy automatically. To disable the proxy, set the flag FirebaseAppDelegateProxyEnabled to NO in the Info.plist
2017-08-24 20:36:34.438478 TRSBO_DEV[1339:182510] [Firebase/Analytics][I-ACS023072] Event logged. Event name, event params: first_open (_f), {
    update_with_analytics (_uwa) = 0;
    previous_first_open_count (_pfo) = 39;
    firebase_event_origin (_o) = auto;
    firebase_realtime (_r) = 1;
    firebase_debug (_dbg) = 1;
    firebase_conversion (_c) = 1;
}
2017-08-24 20:36:34.438 TRSBO_DEV[1339] <Debug> [Firebase/Analytics][I-ACS023072] Event logged. Event name, event params: first_open (_f), {
	    update_with_analytics (_uwa) = 0;
	    previous_first_open_count (_pfo) = 39;
	    firebase_event_origin (_o) = auto;
	    firebase_realtime (_r) = 1;
	    firebase_debug (_dbg) = 1;
	    firebase_conversion (_c) = 1;
	}
2017-08-24 20:36:34.450623 TRSBO_DEV[1339:182522] [Firebase/Analytics][I-ACS002002] Measurement timer scheduled to fire in approx. (s): -1.187421023845673
2017-08-24 20:36:34.450 TRSBO_DEV[1339] <Debug> [Firebase/Analytics][I-ACS002002] Measurement timer scheduled to fire in approx. (s): -1.187421023845673
2017-08-24 20:36:34.450787 TRSBO_DEV[1339:182522] [Firebase/Analytics][I-ACS023028] Upload task scheduled to be executed in approx. (s): -1.187421023845673
2017-08-24 20:36:34.450 TRSBO_DEV[1339] <Debug> [Firebase/Analytics][I-ACS023028] Upload task scheduled to be executed in approx. (s): -1.187421023845673
2017-08-24 20:36:34.451797 TRSBO_DEV[1339:182510] [Firebase/Analytics][I-ACS023051] Logging event: origin, name, params: auto, user_engagement (_e), {
    engagement_time_msec (_et) = 1;
    firebase_event_origin (_o) = auto;
}
2017-08-24 20:36:34.451 TRSBO_DEV[1339] <Debug> [Firebase/Analytics][I-ACS023051] Logging event: origin, name, params: auto, user_engagement (_e), {
	    engagement_time_msec (_et) = 1;
	    firebase_event_origin (_o) = auto;
	}
2017-08-24 20:36:34.452331 TRSBO_DEV[1339:182510] [Firebase/Analytics][I-ACS023073] Debug mode is enabled. Marking event as debug and real-time. Event name, parameters: user_engagement (_e), {
    engagement_time_msec (_et) = 1;
    firebase_event_origin (_o) = auto;
    firebase_realtime (_r) = 1;
    firebase_debug (_dbg) = 1;
}
2017-08-24 20:36:34.452 TRSBO_DEV[1339] <Debug> [Firebase/Analytics][I-ACS023073] Debug mode is enabled. Marking event as debug and real-time. Event name, parameters: user_engagement (_e), {
	    engagement_time_msec (_et) = 1;
	    firebase_event_origin (_o) = auto;
	    firebase_realtime (_r) = 1;
	    firebase_debug (_dbg) = 1;
	}
2017-08-24 20:36:34.467033 TRSBO_DEV[1339:182510] [Firebase/Analytics][I-ACS023072] Event logged. Event name, event params: user_engagement (_e), {
    engagement_time_msec (_et) = 1;
    firebase_event_origin (_o) = auto;
    firebase_realtime (_r) = 1;
    firebase_debug (_dbg) = 1;
}
2017-08-24 20:36:34.467 TRSBO_DEV[1339] <Debug> [Firebase/Analytics][I-ACS023072] Event logged. Event name, event params: user_engagement (_e), {
	    engagement_time_msec (_et) = 1;
	    firebase_event_origin (_o) = auto;
	    firebase_realtime (_r) = 1;
	    firebase_debug (_dbg) = 1;
	}
2017-08-24 20:36:34.471636 TRSBO_DEV[1339:182510] [Firebase/Analytics][I-ACS002003] Measurement timer canceled
2017-08-24 20:36:34.471 TRSBO_DEV[1339] <Debug> [Firebase/Analytics][I-ACS002003] Measurement timer canceled
2017-08-24 20:36:34.472204 TRSBO_DEV[1339:182510] [Firebase/Analytics][I-ACS002002] Measurement timer scheduled to fire in approx. (s): -1.208770036697388
2017-08-24 20:36:34.472 TRSBO_DEV[1339] <Debug> [Firebase/Analytics][I-ACS002002] Measurement timer scheduled to fire in approx. (s): -1.208770036697388
2017-08-24 20:36:34.472425 TRSBO_DEV[1339:182510] [Firebase/Analytics][I-ACS023028] Upload task scheduled to be executed in approx. (s): -1.208770036697388
2017-08-24 20:36:34.472 TRSBO_DEV[1339] <Debug> [Firebase/Analytics][I-ACS023028] Upload task scheduled to be executed in approx. (s): -1.208770036697388
2017-08-24 20:36:34.477052 TRSBO_DEV[1339:182509] [Firebase/Analytics][I-ACS032003] iAd framework is not linked. Search Ad Attribution Reporter is disabled.
2017-08-24 20:36:34.477 TRSBO_DEV[1339] <Debug> [Firebase/Analytics][I-ACS032003] iAd framework is not linked. Search Ad Attribution Reporter is disabled.
2017-08-24 20:36:34.477304 TRSBO_DEV[1339:182509] [Firebase/Analytics][I-ACS002003] Measurement timer canceled
2017-08-24 20:36:34.477 TRSBO_DEV[1339] <Debug> [Firebase/Analytics][I-ACS002003] Measurement timer canceled
2017-08-24 20:36:34.477612 TRSBO_DEV[1339:182509] [Firebase/Analytics][I-ACS002002] Measurement timer scheduled to fire in approx. (s): -1.213780045509338
2017-08-24 20:36:34.477 TRSBO_DEV[1339] <Debug> [Firebase/Analytics][I-ACS002002] Measurement timer scheduled to fire in approx. (s): -1.213780045509338
2017-08-24 20:36:34.477770 TRSBO_DEV[1339:182509] [Firebase/Analytics][I-ACS023028] Upload task scheduled to be executed in approx. (s): -1.213780045509338
2017-08-24 20:36:34.477 TRSBO_DEV[1339] <Debug> [Firebase/Analytics][I-ACS023028] Upload task scheduled to be executed in approx. (s): -1.213780045509338
2017-08-24 20:36:34.478002 TRSBO_DEV[1339:182509] [Firebase/Analytics][I-ACS033002] Scheduling session start timer
2017-08-24 20:36:34.478 TRSBO_DEV[1339] <Debug> [Firebase/Analytics][I-ACS033002] Scheduling session start timer
2017-08-24 20:36:34.478167 TRSBO_DEV[1339:182509] [Firebase/Analytics][I-ACS002002] Session timer scheduled to fire in approx. (s): 10
2017-08-24 20:36:34.478 TRSBO_DEV[1339] <Debug> [Firebase/Analytics][I-ACS002002] Session timer scheduled to fire in approx. (s): 10
2017-08-24 20:36:34.478481 TRSBO_DEV[1339:182509] [Firebase/Analytics][I-ACS033003] Scheduling user engagement timer
2017-08-24 20:36:34.478 TRSBO_DEV[1339] <Debug> [Firebase/Analytics][I-ACS033003] Scheduling user engagement timer
2017-08-24 20:36:34.478712 TRSBO_DEV[1339:182509] [Firebase/Analytics][I-ACS002002] Engagement timer scheduled to fire in approx. (s): 3600
2017-08-24 20:36:34.478 TRSBO_DEV[1339] <Debug> [Firebase/Analytics][I-ACS002002] Engagement timer scheduled to fire in approx. (s): 3600
2017-08-24 20:36:34.479109 TRSBO_DEV[1339:182509] [Firebase/Analytics][I-ACS023012] Firebase Analytics enabled
2017-08-24 20:36:34.479 TRSBO_DEV[1339] <Debug> [Firebase/Analytics][I-ACS023012] Firebase Analytics enabled
2017-08-24 20:36:34.480435 TRSBO_DEV[1339:182522] [Firebase/Analytics][I-ACS023051] Logging event: origin, name, params: auto, screen_view (_vs), {
    firebase_screen_class (_sc) = MMDrawerController;
    firebase_screen_id (_si) = -812623055661715467;
    firebase_event_origin (_o) = auto;
}
2017-08-24 20:36:34.480 TRSBO_DEV[1339] <Debug> [Firebase/Analytics][I-ACS023051] Logging event: origin, name, params: auto, screen_view (_vs), {
	    firebase_screen_class (_sc) = MMDrawerController;
	    firebase_screen_id (_si) = -812623055661715467;
	    firebase_event_origin (_o) = auto;
	}
2017-08-24 20:36:34.480559 TRSBO_DEV[1339:182522] [Firebase/Analytics][I-ACS023073] Debug mode is enabled. Marking event as debug and real-time. Event name, parameters: screen_view (_vs), {
    firebase_screen_id (_si) = -812623055661715467;
    firebase_screen_class (_sc) = MMDrawerController;
    firebase_event_origin (_o) = auto;
    firebase_realtime (_r) = 1;
    firebase_debug (_dbg) = 1;
}
2017-08-24 20:36:34.480 TRSBO_DEV[1339] <Debug> [Firebase/Analytics][I-ACS023073] Debug mode is enabled. Marking event as debug and real-time. Event name, parameters: screen_view (_vs), {
	    firebase_screen_id (_si) = -812623055661715467;
	    firebase_screen_class (_sc) = MMDrawerController;
	    firebase_event_origin (_o) = auto;
	    firebase_realtime (_r) = 1;
	    firebase_debug (_dbg) = 1;
	}
2017-08-24 20:36:34.493061 TRSBO_DEV[1339:182509] [Firebase/Analytics][I-ACS023072] Event logged. Event name, event params: screen_view (_vs), {
    firebase_screen_id (_si) = -812623055661715467;
    firebase_screen_class (_sc) = MMDrawerController;
    firebase_event_origin (_o) = auto;
    firebase_realtime (_r) = 1;
    firebase_debug (_dbg) = 1;
}
2017-08-24 20:36:34.493 TRSBO_DEV[1339] <Debug> [Firebase/Analytics][I-ACS023072] Event logged. Event name, event params: screen_view (_vs), {
	    firebase_screen_id (_si) = -812623055661715467;
	    firebase_screen_class (_sc) = MMDrawerController;
	    firebase_event_origin (_o) = auto;
	    firebase_realtime (_r) = 1;
	    firebase_debug (_dbg) = 1;
	}
2017-08-24 20:36:34.500522 TRSBO_DEV[1339:182509] [Firebase/Analytics][I-ACS023027] Do not schedule an upload task. Task already exists. Will be executed in seconds: -1.236763060092926
2017-08-24 20:36:34.500 TRSBO_DEV[1339] <Debug> [Firebase/Analytics][I-ACS023027] Do not schedule an upload task. Task already exists. Will be executed in seconds: -1.236763060092926
2017-08-24 20:36:34.500871 TRSBO_DEV[1339:182509] [Firebase/Analytics][I-ACS023051] Logging event: origin, name, params: auto, screen_view (_vs), {
    firebase_screen_id (_si) = -812623055661715466;
    firebase_previous_class (_pc) = MMDrawerController;
    firebase_screen_class (_sc) = BOSplashViewController;
    firebase_event_origin (_o) = auto;
    firebase_previous_id (_pi) = -812623055661715467;
}
2017-08-24 20:36:34.501 TRSBO_DEV[1339] <Debug> [Firebase/Analytics][I-ACS023051] Logging event: origin, name, params: auto, screen_view (_vs), {
	    firebase_screen_id (_si) = -812623055661715466;
	    firebase_previous_class (_pc) = MMDrawerController;
	    firebase_screen_class (_sc) = BOSplashViewController;
	    firebase_event_origin (_o) = auto;
	    firebase_previous_id (_pi) = -812623055661715467;
	}
2017-08-24 20:36:34.501152 TRSBO_DEV[1339:182509] [Firebase/Analytics][I-ACS023073] Debug mode is enabled. Marking event as debug and real-time. Event name, parameters: screen_view (_vs), {
    firebase_event_origin (_o) = auto;
    firebase_realtime (_r) = 1;
    firebase_screen_class (_sc) = BOSplashViewController;
    firebase_debug (_dbg) = 1;
    firebase_screen_id (_si) = -812623055661715466;
    firebase_previous_class (_pc) = MMDrawerController;
    firebase_previous_id (_pi) = -812623055661715467;
}
2017-08-24 20:36:34.501 TRSBO_DEV[1339] <Debug> [Firebase/Analytics][I-ACS023073] Debug mode is enabled. Marking event as debug and real-time. Event name, parameters: screen_view (_vs), {
	    firebase_event_origin (_o) = auto;
	    firebase_realtime (_r) = 1;
	    firebase_screen_class (_sc) = BOSplashViewController;
	    firebase_debug (_dbg) = 1;
	    firebase_screen_id (_si) = -812623055661715466;
	    firebase_previous_class (_pc) = MMDrawerController;
	    firebase_previous_id (_pi) = -812623055661715467;
	}
2017-08-24 20:36:34.513843 TRSBO_DEV[1339:182509] [Firebase/Analytics][I-ACS023072] Event logged. Event name, event params: screen_view (_vs), {
    firebase_event_origin (_o) = auto;
    firebase_realtime (_r) = 1;
    firebase_screen_class (_sc) = BOSplashViewController;
    firebase_debug (_dbg) = 1;
    firebase_screen_id (_si) = -812623055661715466;
    firebase_previous_class (_pc) = MMDrawerController;
    firebase_previous_id (_pi) = -812623055661715467;
}
2017-08-24 20:36:34.514 TRSBO_DEV[1339] <Debug> [Firebase/Analytics][I-ACS023072] Event logged. Event name, event params: screen_view (_vs), {
	    firebase_event_origin (_o) = auto;
	    firebase_realtime (_r) = 1;
	    firebase_screen_class (_sc) = BOSplashViewController;
	    firebase_debug (_dbg) = 1;
	    firebase_screen_id (_si) = -812623055661715466;
	    firebase_previous_class (_pc) = MMDrawerController;
	    firebase_previous_id (_pi) = -812623055661715467;
	}
2017-08-24 20:36:34.524130 TRSBO_DEV[1339:182509] [Firebase/Analytics][I-ACS023027] Do not schedule an upload task. Task already exists. Will be executed in seconds: -1.260934054851532
2017-08-24 20:36:34.524 TRSBO_DEV[1339] <Debug> [Firebase/Analytics][I-ACS023027] Do not schedule an upload task. Task already exists. Will be executed in seconds: -1.260934054851532
2017-08-24 20:36:34.524429 TRSBO_DEV[1339:182509] [Firebase/Analytics][I-ACS002001] Measurement timer fired
2017-08-24 20:36:34.524 TRSBO_DEV[1339] <Debug> [Firebase/Analytics][I-ACS002001] Measurement timer fired
2017-08-24 20:36:34.524663 TRSBO_DEV[1339:182509] [Firebase/Analytics][I-ACS002003] Measurement timer canceled
2017-08-24 20:36:34.524 TRSBO_DEV[1339] <Debug> [Firebase/Analytics][I-ACS002003] Measurement timer canceled
2017-08-24 20:36:34.524806 TRSBO_DEV[1339:182509] [Firebase/Analytics][I-ACS023033] Starting data upload
2017-08-24 20:36:34.524 TRSBO_DEV[1339] <Debug> [Firebase/Analytics][I-ACS023033] Starting data upload
2017-08-24 20:36:34.526597 TRSBO_DEV[1339:182517] [Firebase/Analytics][I-ACS023037] No data to upload
2017-08-24 20:36:34.526 TRSBO_DEV[1339] <Debug> [Firebase/Analytics][I-ACS023037] No data to upload
2017-08-24 20:36:34.529489 TRSBO_DEV[1339:182517] [Firebase/Analytics][I-ACS023126] Fetching configuration from the server
2017-08-24 20:36:34.529 TRSBO_DEV[1339] <Debug> [Firebase/Analytics][I-ACS023126] Fetching configuration from the server
2017-08-24 20:36:34.531207 TRSBO_DEV[1339:182521] [Firebase/Analytics][I-ACS900001] Downloading data. Host: https://app-measurement.com/config/app/1:727393096421:ios:19c1173b1aa20d16?platform=ios&app_instance_id=93F415B7723C4E7695A1DBC16A6A4B9C&gmp_version=40003
2017-08-24 20:36:34.532 TRSBO_DEV[1339] <Debug> [Firebase/Analytics][I-ACS900001] Downloading data. Host: https://app-measurement.com/config/app/1:727393096421:ios:19c1173b1aa20d16?platform=ios&app_instance_id=93F415B7723C4E7695A1DBC16A6A4B9C&gmp_version=40003
2017-08-24 20:36:34.708630 TRSBO_DEV[1339:182517] [Firebase/Analytics][I-ACS901006] Received SSL challenge for host. Host: https://app-measurement.com/config/app/1:727393096421:ios:19c1173b1aa20d16?platform=ios&app_instance_id=93F415B7723C4E7695A1DBC16A6A4B9C&gmp_version=40003
2017-08-24 20:36:34.708 TRSBO_DEV[1339] <Debug> [Firebase/Analytics][I-ACS901006] Received SSL challenge for host. Host: https://app-measurement.com/config/app/1:727393096421:ios:19c1173b1aa20d16?platform=ios&app_instance_id=93F415B7723C4E7695A1DBC16A6A4B9C&gmp_version=40003
2017-08-24 20:36:34.859992 TRSBO_DEV[1339:182521] [Firebase/Analytics][I-ACS023127] Fetched configuration. Status code: 200
2017-08-24 20:36:34.860 TRSBO_DEV[1339] <Debug> [Firebase/Analytics][I-ACS023127] Fetched configuration. Status code: 200
2017-08-24 20:36:34.860831 TRSBO_DEV[1339:182521] [Firebase/Analytics][I-ACS023133] Successful fetched configuration from the server. Got network response. Code, size: 200, 107
2017-08-24 20:36:34.860 TRSBO_DEV[1339] <Debug> [Firebase/Analytics][I-ACS023133] Successful fetched configuration from the server. Got network response. Code, size: 200, 107
2017-08-24 20:36:34.876636 TRSBO_DEV[1339:182521] [Firebase/Analytics][I-ACS029014] Successfully parsed a configuration. Version: 1499847277717222
2017-08-24 20:36:34.876 TRSBO_DEV[1339] <Debug> [Firebase/Analytics][I-ACS029014] Successfully parsed a configuration. Version: 1499847277717222
2017-08-24 20:36:34.882787 TRSBO_DEV[1339:182521] [Firebase/Analytics][I-ACS023033] Starting data upload
2017-08-24 20:36:34.882 TRSBO_DEV[1339] <Debug> [Firebase/Analytics][I-ACS023033] Starting data upload
2017-08-24 20:36:34.885087 TRSBO_DEV[1339:182521] [Firebase/Analytics][I-ACS023105] Event is not subject to real-time event count daily limit. Marking an event as real-time. Event name, parameters: first_open (_f), {
    update_with_analytics (_uwa) = 0;
    previous_first_open_count (_pfo) = 39;
    firebase_event_origin (_o) = auto;
    firebase_realtime (_r) = 1;
    firebase_debug (_dbg) = 1;
    firebase_conversion (_c) = 1;
}
2017-08-24 20:36:34.885 TRSBO_DEV[1339] <Debug> [Firebase/Analytics][I-ACS023105] Event is not subject to real-time event count daily limit. Marking an event as real-time. Event name, parameters: first_open (_f), {
	    update_with_analytics (_uwa) = 0;
	    previous_first_open_count (_pfo) = 39;
	    firebase_event_origin (_o) = auto;
	    firebase_realtime (_r) = 1;
	    firebase_debug (_dbg) = 1;
	    firebase_conversion (_c) = 1;
	}
2017-08-24 20:36:34.886955 TRSBO_DEV[1339:182521] [Firebase/Analytics][I-ACS023105] Event is not subject to real-time event count daily limit. Marking an event as real-time. Event name, parameters: user_engagement (_e), {
    engagement_time_msec (_et) = 1;
    firebase_event_origin (_o) = auto;
    firebase_realtime (_r) = 1;
    firebase_debug (_dbg) = 1;
}
2017-08-24 20:36:34.886 TRSBO_DEV[1339] <Debug> [Firebase/Analytics][I-ACS023105] Event is not subject to real-time event count daily limit. Marking an event as real-time. Event name, parameters: user_engagement (_e), {
	    engagement_time_msec (_et) = 1;
	    firebase_event_origin (_o) = auto;
	    firebase_realtime (_r) = 1;
	    firebase_debug (_dbg) = 1;
	}
2017-08-24 20:36:34.887738 TRSBO_DEV[1339:182521] [Firebase/Analytics][I-ACS023105] Event is not subject to real-time event count daily limit. Marking an event as real-time. Event name, parameters: screen_view (_vs), {
    firebase_screen_id (_si) = -812623055661715467;
    firebase_screen_class (_sc) = MMDrawerController;
    firebase_realtime (_r) = 1;
    firebase_debug (_dbg) = 1;
    firebase_event_origin (_o) = auto;
}
2017-08-24 20:36:34.887 TRSBO_DEV[1339] <Debug> [Firebase/Analytics][I-ACS023105] Event is not subject to real-time event count daily limit. Marking an event as real-time. Event name, parameters: screen_view (_vs), {
	    firebase_screen_id (_si) = -812623055661715467;
	    firebase_screen_class (_sc) = MMDrawerController;
	    firebase_realtime (_r) = 1;
	    firebase_debug (_dbg) = 1;
	    firebase_event_origin (_o) = auto;
	}
2017-08-24 20:36:34.888532 TRSBO_DEV[1339:182521] [Firebase/Analytics][I-ACS023105] Event is not subject to real-time event count daily limit. Marking an event as real-time. Event name, parameters: screen_view (_vs), {
    firebase_event_origin (_o) = auto;
    firebase_realtime (_r) = 1;
    firebase_screen_class (_sc) = BOSplashViewController;
    firebase_debug (_dbg) = 1;
    firebase_screen_id (_si) = -812623055661715466;
    firebase_previous_class (_pc) = MMDrawerController;
    firebase_previous_id (_pi) = -812623055661715467;
}
2017-08-24 20:36:34.888 TRSBO_DEV[1339] <Debug> [Firebase/Analytics][I-ACS023105] Event is not subject to real-time event count daily limit. Marking an event as real-time. Event name, parameters: screen_view (_vs), {
	    firebase_event_origin (_o) = auto;
	    firebase_realtime (_r) = 1;
	    firebase_screen_class (_sc) = BOSplashViewController;
	    firebase_debug (_dbg) = 1;
	    firebase_screen_id (_si) = -812623055661715466;
	    firebase_previous_class (_pc) = MMDrawerController;
	    firebase_previous_id (_pi) = -812623055661715467;
	}
2017-08-24 20:36:34.890103 TRSBO_DEV[1339:182521] [Firebase/Analytics][I-ACS012018] Saving bundle. size (bytes): 454
2017-08-24 20:36:34.890 TRSBO_DEV[1339] <Debug> [Firebase/Analytics][I-ACS012018] Saving bundle. size (bytes): 454
2017-08-24 20:36:34.890353 TRSBO_DEV[1339:182521] [Firebase/Analytics][I-ACS023116] Bundle added to the upload queue. BundleID, timestamp (ms): 1, 1503581794295
2017-08-24 20:36:34.890 TRSBO_DEV[1339] <Debug> [Firebase/Analytics][I-ACS023116] Bundle added to the upload queue. BundleID, timestamp (ms): 1, 1503581794295
2017-08-24 20:36:34.897422 TRSBO_DEV[1339:182521] [Firebase/Analytics][I-ACS023039] Measurement data sent to network. Timestamp (ms), data: 1503581794896, <FIRAPBMeasurementBatch: 0x1702000c0>
2017-08-24 20:36:34.897 TRSBO_DEV[1339] <Debug> [Firebase/Analytics][I-ACS023039] Measurement data sent to network. Timestamp (ms), data: 1503581794896, <FIRAPBMeasurementBatch: 0x1702000c0>
2017-08-24 20:36:34.899399 TRSBO_DEV[1339:182519] [Firebase/Analytics][I-ACS900000] Uploading data. Host: https://app-measurement.com/a
2017-08-24 20:36:34.899 TRSBO_DEV[1339] <Debug> [Firebase/Analytics][I-ACS900000] Uploading data. Host: https://app-measurement.com/a
Printing description of url:
jp.minst.MinOP://google/link/?dismiss=1&is_weak_match=1
(lldb) 

@nhuomtv
Copy link
Author

nhuomtv commented Sep 6, 2017

  1. Did it open the app normally? Yes, it open app normally.
  2. Or did it open the app but fetching didn't work? This bug only with app not install.

Step by step

  1. Click dynamic link, app not install => open app store.
  2. Install app
  3. Run app and receive dynamic link "jp.minst.MinOP://google/link/?dismiss=1&is_weak_match=1"

@baolocdo
Copy link

baolocdo commented Sep 6, 2017

Thanks for the helpful details!
@morganchen12 It looks like there is a problem with DDL. Do we have any similar bug assigned for the DDL team yet? Thanks

@morganchen12
Copy link
Contributor

It doesn't look like this is a known issue yet, I'll file a new one.

To clarify, this issue only exists when the phone's language setting is set to Vietnamese, and only on certain devices?
Also, what was the link your app expected to receive?

@nhuomtv
Copy link
Author

nhuomtv commented Sep 7, 2017

I do not think that the language problems. I check in 10 devices then 4 devices receive dynamic link "jp.minst.MinOP://google/link/?dismiss=1&is_weak_match=1" , in which have device phone's language setting is set to Vietnamese and English.

Link my app expected to receive: jp.minst.minop://google/link/?utm_campaign=tes&deep_link_id=http%3A%2F%2Fgoogle%2Ecom%3Futm%5Fsource%3D3333&utm_medium=dynamic%5Flink&utm_source=3333

Step by step

  1. Click dynamic link, app not install => open app store.

  2. Install app

  3. Run app and receive dynamic link "jp.minst.MinOP://google/link/?dismiss=1&is_weak_match=1"

  4. Click dynamic link again (app installed) => app open using universal link in ios 9 or later.

  5. Receive dynamic link " jp.minst.minop://google/link/?utm_campaign=tes&deep_link_id=http%3A%2F%2Fgoogle%2Ecom%3Futm%5Fsource%3D3333&utm_medium=dynamic%5Flink&utm_source=3333"

Why are the steps 3 and 5 different?

In step 5 I using function

- (BOOL)application:(UIApplication *)application
continueUserActivity:(NSUserActivity *)userActivity
 restorationHandler:(void (^)(NSArray *))restorationHandler {
    __weak AppDelegate *weakSelf = self;
    [[FIRDynamicLinks dynamicLinks] resolveShortLink:userActivity.webpageURL completion:^(NSURL * _Nullable url, NSError * _Nullable error) {
        AppDelegate *strongSelf = weakSelf;
        if (error == nil){
            if (url.query.length) {
                [strongSelf processWithDynamicLink:url];
            }else{
                [strongSelf processWithDynamicLink:userActivity.webpageURL];
            }
        }else{
            [strongSelf processWithDynamicLink:userActivity.webpageURL];
        }
    }];
    return YES;
}

In step 3 I using function

- (BOOL)application:(UIApplication *)app
            openURL:(NSURL *)url
            options:(NSDictionary<NSString *, id> *)options {
    FIRDynamicLink *dynamicLink =
    [[FIRDynamicLinks dynamicLinks] dynamicLinkFromCustomSchemeURL:url];
    
    if (dynamicLink) {
        [self processWithDynamicLink:url];
        return YES;
    }else{
        NSLog(@"No dynamic link");
    }
    return NO;
}

@OleksiyA
Copy link
Contributor

OleksiyA commented Sep 7, 2017

@nhuomtv Let me explain what is going on here.

Link "MyAppSchema://google/link/?dismiss=1&is_weak_match=1" is expected to be received by your App. This link is "dismiss" link that is used to notify the App that FDL SDK is working properly, FDL SDK tried to fetch pending dynamic link, and FDL SDK did not found pending dynamic link for this App/Device combination. You can understand this link as a "completion handler". This link will be sent to App only after first App launch. This link will not be sent on subsequent launches of the App.

To handle this link follow this example code:

FIRDynamicLink *dynamicLink =
    [[FIRDynamicLinks dynamicLinks] dynamicLinkFromCustomSchemeURL:url];

if (dynamicLink) {
    // we got FDL dynamic link
    if (dynamicLink.url) {
        [self processWithDynamicLink:url];
    } else {
        // dynamic link does not have URL, did not found pending (deferred) dynamic link, or another error occurred.
        // normally you would ignore this
        // some developers will hold App on launch or "Loading..." screen until they got link or 
        // confirmation that link is not available. Here is the place to dismiss launch screen and get user
        // to generic onboarding flow.
    }
    return YES;
} else {
        // we got some other link, for example Facebook login, Google login or other link according to 
        // functionality of your App. Handle these links separately.
        NSLog(@"Unrecognized incoming link: %@", url);
}

Sorry for this confusion, I have plans to add better and explicit API for FDL iOS SDK.

Another question: do you expect to receive valid dynamic link but did not received any? Let me know and we can figure out this.

@nhuomtv
Copy link
Author

nhuomtv commented Sep 13, 2017

I have a feature that is using this service, and my customer wants to fix this bug. Can you share for me plan to fix this bug?

@OleksiyA
Copy link
Contributor

Please try these steps to help narrow down the issue:

  1. Switch iPhone language to English. Try tapping on Firebase Dynamic Link (FDL), install App from Xcode, launch App. Do you see the link?

  2. Try steps in 1) while connected to Cellular network on iPhone, also try while connected to couple different WiFi networks. If VPN is in use on iPhone, disable the VPN and try without it.

Let me know how it worked.

@nhuomtv
Copy link
Author

nhuomtv commented Sep 14, 2017

Q1. Switch iPhone language to English. Try tapping on Firebase Dynamic Link (FDL), install App from Xcode, launch App. Do you see the link?

I checked in some devices below it is result:

  1. IPhone 6s, iOS 10.3.1 NOT OK, See link "jp.minst.MinOP://google/link/?dismiss=1&is_weak_match=1"

  2. Iphone 6s, iOS 10.3.3 NOT OK, See link "jp.minst.MinOP://google/link/?dismiss=1&is_weak_match=1"

  3. Iphone 6s, iOS 10.0.2 NOT OK, See link "jp.minst.MinOP://google/link/?dismiss=1&is_weak_match=1"

  4. Iphone 6, iOS 10.3.1 NOT OK, See link "jp.minst.MinOP://google/link/?dismiss=1&is_weak_match=1"

  5. Iphone 5s, iOS 10.3.2 : OK

  6. Iphone 6, iOS 10.3.2 : OK

  7. Iphone 6s Plus, iOS 10.3.2 : OK

  8. Iphone 6S, iOS 10.3.1: : OK

  9. Iphone 7, iOS 10.3 : OK

Q2. I checked in Cellular and different WIfi 4 it is same result with step 1.

@langpeu
Copy link

langpeu commented Sep 20, 2017

I have same issue. iOS11 too, / lan = korean.

Is there solution about this ? without downgrade Firebase sdk.

@OleksiyA
Copy link
Contributor

@bitoshub Does downgrading Firebase SDK helps you resolve this issue?
I would expect this will not change the behavior. The only relevant recent change in Firebase Dynamic Links iOS SDK is to return "dismiss link" "MyAppSchema://google/link/?dismiss=1" when FDL SDK did not found the pending dynamic link.

@nhuomtv There should be no dependency between FDL performance and specific iOS version. There may be influence of device language, that's why I asked to switch device locale/language to English to be sure this is not a factor here. Something to keep in mind:

  1. FDL link will expire after some time. After you tapped on link you have 1 hour before link will expire;
  2. ensure you removing App before tapping on link, than tap on link, than install and launch the App;
  3. can you re-check that while testing language set to English, you may need to set region to US just to be sure this is not a reason for error;

@ThomasLin0308
Copy link

I've got the same issue too. (iPhone 7 / iOS10.3.3) (FirebaseDynamicLinks 2.1.0)
Has got "://google/link/?dismiss=1&is_weak_match=1" while language set to Chinese, Traditional (Taiwan), but work good on language set to English. And it's only happen on the first time launch after install.

@danilovdorin
Copy link

I have same problem. iphone 5s and 6s plus, language is set english. (FirebaseDynamicLinks (2.1.0))
I followed all the steps: "ensure you removing App before tapping on link, than tap on link, than install and launch the App;"
The problem does not appear every time. Sometimes it works.
More often comes "://google/link/?dismiss=1&is_weak_match=1"

@ryanwilson
Copy link
Member

Apologies, I inadvertently closed this issue. Re-opening as it's not resolved yet.

@OleksiyA
Copy link
Contributor

Thank you for your reports. It looks that we have bug related to some locales. We are working on a fix for the issue.

@AvivElkayam
Copy link

Hey, I am having the same issue with the link "://google/link/?dismiss=1&is_weak_match=1" on fire base dynamic link iOS sdk, any progress on this issue?

@danilovdorin
Copy link

danilovdorin commented Oct 27, 2017

@AvivElkayam as a temporary solution i use

        pod 'Firebase’, ’4.0.4’
        pod 'Firebase/DynamicLinks'

everything works well in this version

@antonholmquist
Copy link

navigator.language: en-US
NSLocale.preferredLanguages: ["en-SE", "sv-SE"]
NSLocale.current.identifier: en_SE

I have never seen a linked being matched on this device. Tried both wifi and cellular. Always getting the dismiss link.

@OleksiyA
Copy link
Contributor

@antonholmquist Please try with latest FDL SDK 2.3.1, part of Firebase SDK 4.8.0. We added new matching method "copy unique match" that does not depends on locale.

@antonholmquist
Copy link

Tried it and it still doesn't work. I actually can't seem to get it to match under any circumstances. Changed region, tried wifi+cellular, tried development and production account, tried simulator and device. Won't match. On wifi I'm getting the dismiss link, and on cellular I'm now getting google/link/?match_type=none&match_message=No%20pre%2Dinstall%20link%20matched%20for%20this%20device%2E

@OleksiyA
Copy link
Contributor

@antonholmquist Do you see checkbox on App Preview page as shown on screenshot here https://firebase.google.com/docs/dynamic-links/link-previews ?
If you disabling App preview with efr=1, can you try without disabling?

@antonholmquist
Copy link

Okay, it works for me now. The last problem I had was due to "Open the deep link in your iOS App" wasn't checked so I wasn't seeing the preview page. The preview page is required for matching to work, right? Thanks a lot for your help.

@OleksiyA
Copy link
Contributor

The App preview page required for "copy unique match" to work. Fingerprint based match will work without the App preview page. Now that "copy unique match" is publicly shipped, I will look in more details at locale issues with fingerprint based match.

@antonholmquist
Copy link

antonholmquist commented Dec 21, 2017

Okay. The "copy unique match" with app preview always seems to work. I have now tried without the app preview page and it only seems to work when I change my region to US. See my results below.

Default Region: Sweden (fingerprinting doesn't work, always getting dismiss link)
navigator.language: "en-US"
NSLocale.preferredLanguages: ["en-SE", "sv-SE"]
NSLocale.current.identifier: en_SE

After changing region to United States: (fingerprinting now seems to work)
navigator.language: "en-US"
NSLocale.preferredLanguages: ["en-US", "sv-US"]
NSLocale.current.identifier: en_US

Diagnostics:
---- Firebase Dynamic Links diagnostic output start ----
Firebase Dynamic Links framework version 2.3.1
System information: OS iOS, OS version 11.2, model iPhone
Current date 2017-12-21 21:58:46 +0000
Device locale en-SE (raw en_SE), timezone Europe/Stockholm
Specified custom URL scheme is xxx and Info.plist contains such scheme in CFBundleURLTypes key.
AppID Prefix: xxx, Team ID: xxx, AppId Prefix equal to Team ID: YES
performDiagnostic completed successfully! No errors found.
---- Firebase Dynamic Links diagnostic output end ----

@OleksiyA
Copy link
Contributor

@antonholmquist Just to confirm that

navigator.language: "en-US"

while

NSLocale.current.identifier: en_SE

?

I have to bring internal UI/WKWebView logic back to FDL SDK to handle this. Maybe this would be best solution going forward.

@antonholmquist
Copy link

@OleksiyA Yes, confirmed. I wonder, is the language and region settings really that significant for fingerprint matching? Wouldn't it be possible to just leave that out of the equation?

@OleksiyA
Copy link
Contributor

OleksiyA commented Dec 27, 2017

Reason why we trying to account for all factors when calculating fingerprint, is because main factor in fingerprint match is IP address. And there can be quite a bit of devices under the same IP. We use additional factors like screen resolution, iOS version, locale to ensure we got correct match.

Copy unique match is different story as we can achieve robust match in privacy aware way. For comparison fingerprint not that robust (as this thread confirms) and fingerprint match not that privacy aware as users have no control over theirs IP address (short of using Tor).

Now that we got really good repro case, I will try to get fix in next FDL iOS SDK release. Optimistic estimate is 16 January.

@antonholmquist
Copy link

antonholmquist commented Dec 27, 2017

Thanks for the info. I understand you are using as many factors as possible. I just think that region+locale combination will very often be identical for identical IP's, so it's not worth the tradeoff when matching can fail completely.

Thank you for looking into this.

@RoeeNadam
Copy link

happened to me in iOS 11.2.1 , downgrade to 4.0.4 and its return to works , try in en and heb.

@OleksiyA
Copy link
Contributor

OleksiyA commented Jan 4, 2018

Fix being submitted now. Public release expected January 16 in Firebase Dynamic Links SDK version 2.3.2.
Copy unique match unaffected by this bug.

@paulb777
Copy link
Member

Fixed in Firebase 4.8.1 and FirebaseDynamicLinks 2.3.2

@jieatgstdev
Copy link

Now, I update Firebase and FirebaseDynamicLinks to last version, but still receive ://google/link/?dismiss=1&is_weak_match=1. I tried change region and network. please help me. thanks!

@jieatgstdev
Copy link

Step by step

  1. Click dynamic link, app not install => open app store.

  2. Install app

  3. Run app and long time after, receive dynamic link "MyApp://google/link/?dismiss=1&is_weak_match=1"

@antonholmquist
Copy link

antonholmquist commented Jan 19, 2018

@jieatgstdev It seems to be fixed for me now. I noted that the framework SDK zip is still on v4.8.0 though so I had to get v.4.8.1 through CocoaPods.

@morganchen12
Copy link
Contributor

@jieatgstdev please add necessary debugging information as mentioned in the above comment as well as your Podfile.lock contents. Otherwise, we cannot help you.

@rostopira
Copy link

rostopira commented Jan 22, 2018

I can confirm, that it seems to be fixed for me as well
Thanks

@Michael-Kr
Copy link

According to this - "You can bypass the app preview page by specifying the dynamic link parameter efr=1. Note that without the app preview page, Dynamic Links cannot be received as unique matches on iOS.".
The links will not work without a preview page, so I don't understand what exactly was fixed.

@OleksiyA
Copy link
Contributor

@Michael-Kr Firebase Dynamic links recently shipped "copy unique match". This require AppPreview page to be enabled (efr absent or efr=0). This match 100% guarantees that user who tapped on link is the same user who launching the App.

This GitHub issue is about unreliable fingerprint match. This match is quite precise, but this match can't guarantee 100%. If you still having issue after updating Firebase Dynamic Links SDK, please open Firebase bug/support request.

@HiramKarim
Copy link

HiramKarim commented Jan 23, 2018

@paulb777 I have an error when I add firebase dynamic links to my project, My app receive notification through firebase but when I add dynamic links my app doesn't get the notifications and It crash suddenly, I don't know why, the new versions of firebase core and dynamics links fixed this error for iOS 11? (Firebase 4.8.1 and FirebaseDynamicLinks 2.3.2)

@mevdev
Copy link

mevdev commented Jan 23, 2018

@OleksiyA On clicking the the dynamic link it opens my app and it deep links correctly one time. The second time it gives me the BS dismiss=1 weak=1 link that is unuseful to me. Can I just get the full URL from that so that deep linking will work the 2nd time?

I understand that in some instances you would only want to deep link once, like to pick up a deferred link, but it is a DEEP link which I want to work every time I do it. It works totally fine if the app is already open!

I want the full link instead of that weak sauce on successive cold launches. Can I get that? Is it stored? Can I match it up?

@morganchen12
Copy link
Contributor

morganchen12 commented Jan 23, 2018

Hey all,

Please don't add +1 comments without any additional debugging information, especially when there are specifically-outlined information snippets mentioned in previous comments that are required for effectively debugging your issues.

If you're continuing to struggle with dynamic links after upgrading to the latest version, please open a new issue with all the appropriate diagnostic information and we'll try to help.

@firebase firebase locked and limited conversation to collaborators Jan 23, 2018
@morganchen12 morganchen12 changed the title Firebase dynamic link not work Firebase dynamic link fails fingerprint match in certain locale/language combinations Jan 23, 2018
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests