Я делаю приложение для Android, где есть возможность поделиться своим приложением. Я использую динамическую ссылку Firebase. В консоли Firebase я создаю динамическую ссылку, например, example.page.link. В приложении для Android я создаю метод для динамического создания динамической ссылки. Ссылка для общего доступа создана успешно. Но когда я нажимаю на ссылку, чтобы открыть приложение, PendingDynamicLinkData становится нулевым.
private Uri createDynamicLink(){
DynamicLink dynamicLink = FirebaseDynamicLinks.getInstance()
.createDynamicLink()
.setLink(Uri.parse("https://www.example.com/"))
.setDomainUriPrefix("https://example.page.link")
.setAndroidParameters(new DynamicLink.AndroidParameters
.Builder().build())
.buildDynamicLink();
Uri dynamicLinkUri = dynamicLink.getUri();
Log.d(TAG+"_link",dynamicLinkUri.toString());
return dynamicLinkUri;
}
private void getDynamicLink(){
FirebaseDynamicLinks.getInstance()
.getDynamicLink(getIntent())
.addOnSuccessListener(this, new OnSuccessListener<PendingDynamicLinkData>(){
@Override
public void onSuccess(PendingDynamicLinkData pendingDynamicLinkData) {
Uri deepLink = null;
if (pendingDynamicLinkData != null) {
deepLink = pendingDynamicLinkData.getLink();
Log.d(TAG+"_link",deepLink.toString());
}else{
Log.d(TAG+"_link","Error");
}
})
.addOnFailureListener(this, new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
Log.w(TAG, "getDynamicLink:onFailure", e);
}
});
}
В AndroidManifest.xml я добавляю
<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="example.page.link"
android:scheme="https"/>
</intent-filter>