为什么我无法从 Android 中的 Firebase deep link url 获取查询参数?
Why I am unable to get query parameters from Firebase deep link url in Android?
我正在尝试从中获取查询参数
短动态 link : https://easyloans.page.link/test
清单:
<activity android:name=".Activites.DynamicLink">
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data
android:host="easyloans.page.link"
android:scheme="http"
android:pathPrefix="/"
android:pathPattern=".*"/>
<data
android:host="easyloans.page.link"
android:scheme="https"
android:pathPrefix="/"
android:pathPattern=".*"/>
</intent-filter>
</activity>
在Android Activity:
FirebaseDynamicLinks.getInstance()
.getDynamicLink(getIntent())
.addOnSuccessListener(this, new OnSuccessListener<PendingDynamicLinkData>() {
@Override
public void onSuccess(PendingDynamicLinkData pendingDynamicLinkData) {
// Get deep link from result (may be null if no link is found)
Uri deepLink = null;
if (pendingDynamicLinkData != null) {
deepLink = pendingDynamicLinkData.getLink();
Log.d(TAG, "source : " + pendingDynamicLinkData.getLink().getQueryParameter("utm_source"));
}
Log.d(TAG, "link " + deepLink);
}
})
.addOnFailureListener(this, new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
Log.d(TAG, "getDynamicLink:onFailure", e);
}
});
我收到的输出是:
link https://www.availfinance.in
和来源:null(我期待 Test_Source)
getLink()
方法 return 是您在长 FDL 上设置的 link
参数,在您的示例中 link 就是 return编辑:link=https://www.availfinance.in。
UTM 参数自动传递给 Google Analytics for Firebase。
pendingDynamicLinkData.getLink().getQueryParameter("foo")
只有在 link
参数中包含的 URL 上才会 return 一个值,例如如果您的 link 是 link=https://www.availfinance.in/?foo=bar(使用适当的 URL 编码)。
我正在尝试从中获取查询参数 短动态 link : https://easyloans.page.link/test
清单:
<activity android:name=".Activites.DynamicLink">
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data
android:host="easyloans.page.link"
android:scheme="http"
android:pathPrefix="/"
android:pathPattern=".*"/>
<data
android:host="easyloans.page.link"
android:scheme="https"
android:pathPrefix="/"
android:pathPattern=".*"/>
</intent-filter>
</activity>
在Android Activity:
FirebaseDynamicLinks.getInstance()
.getDynamicLink(getIntent())
.addOnSuccessListener(this, new OnSuccessListener<PendingDynamicLinkData>() {
@Override
public void onSuccess(PendingDynamicLinkData pendingDynamicLinkData) {
// Get deep link from result (may be null if no link is found)
Uri deepLink = null;
if (pendingDynamicLinkData != null) {
deepLink = pendingDynamicLinkData.getLink();
Log.d(TAG, "source : " + pendingDynamicLinkData.getLink().getQueryParameter("utm_source"));
}
Log.d(TAG, "link " + deepLink);
}
})
.addOnFailureListener(this, new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
Log.d(TAG, "getDynamicLink:onFailure", e);
}
});
我收到的输出是: link https://www.availfinance.in 和来源:null(我期待 Test_Source)
getLink()
方法 return 是您在长 FDL 上设置的 link
参数,在您的示例中 link 就是 return编辑:link=https://www.availfinance.in。
UTM 参数自动传递给 Google Analytics for Firebase。
pendingDynamicLinkData.getLink().getQueryParameter("foo")
只有在 link
参数中包含的 URL 上才会 return 一个值,例如如果您的 link 是 link=https://www.availfinance.in/?foo=bar(使用适当的 URL 编码)。