假设第一个用户向第二个用户发送邀请。用户发送一些全局链接,第二个用户接收它。在我的情况下,用户在Android设备中收到了dynamic link
而不是global link
。
我想分享现在的uri https://aewp.com/share
private void shareVocabulary() {
Intent intent = new AppInviteInvitation.IntentBuilder("Text")
.setMessage("Message")
.setDeepLink(createDynamicLink().getUri())
.setCustomImage(Uri.parse("https://lh3.googleusercontent.com/info.jpg"))
.setCallToActionText(getString(R.string.install))
.build();
startActivityForResult(intent, SHARE_RESULT_CODE);
}
public DynamicLink createDynamicLink(){
String domain = getString(R.string.domain) + ".app.goo.gl";
return FirebaseDynamicLinks.getInstance().createDynamicLink().
setLink(Uri.parse("https://aewp.com/share")).
setDynamicLinkDomain(domain).
setAndroidParameters(new DynamicLink.AndroidParameters.Builder(getPackageName()).
setFallbackUrl(Uri.parse("https://play.google.com/store/apps/details?id=" + getPackageName())).
build()
).
buildDynamicLink();
}
DeepLinkActivity.class
在下面的代码中每次都返回动态链接,而不是全局链接
FirebaseDynamicLinks.getInstance().getDynamicLink(getIntent())
.addOnSuccessListener(this, new OnSuccessListener<PendingDynamicLinkData>() {
@Override
public void onSuccess(PendingDynamicLinkData data) {
if (data == null) {
Logger.logInfo(getClass(), "getInvitation: no data");
return;
}
// Get the deep link
Uri link = data.getLink();
}
})
.addOnFailureListener(this, new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
Logger.logError(getClass(), "getDynamicLink:onFailure", e);
}
});
据我所知,我应该收到这个链接“qazxsw poi”而不是短或大的动态链接
我该如何解决这个问题?
Intent类型之间有一点点区别对于https://aewp.com/share我们不使用深层链接,而不是它我们应该传递动态链接。
Firebase AppInviteInvitation
使用 Intent intent = new AppInviteInvitation.IntentBuilder("Send")
.setMessage("Message")
.setDeepLink(R.string.global_link).build())
.setCustomImage(Uri.parse("https://lh3.googleusercontent.com/9.jpg"))
.setCallToActionText("Install))
.build();
startActivityForResult(intent, SHARE_RESULT_CODE);
发送数据时,我们需要为不同的平台使用动态链接
Intent.ACTION_SEND