I am trying to creating a dynamic link and when I am trying to debug the code it's calling the callback method addOnSuccessListener but after that it's not calling or we say it's skipping the method onSuccess() and I am not getting any clue why it's happening.
private void firebaseInvite() {
FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser();
String uid = user.getUid();
String url = "https://larky.funswitch.io/?invitedby=" + uid;
FirebaseDynamicLinks.getInstance().createDynamicLink()
.setLink(Uri.parse(url))
.setDynamicLinkDomain("https://fmu3k.app.goo.gl")
.setAndroidParameters(
new DynamicLink.AndroidParameters.Builder("io.funswitch.funrooster")
.setMinimumVersion(5)
.build())
.buildShortDynamicLink()
.addOnSuccessListener(shortDynamicLink -> {
After this my debugger skip this code and it is not calling
mInvitationUrl = shortDynamicLink.getShortLink();
mDatabase.child("Name").addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
String referrerName = dataSnapshot.getValue(String.class);
String subject = String.format("%s wants you to play MyExampleGame!", referrerName);
String invitationLink = mInvitationUrl.toString();
String msg = "Let's play MyExampleGame together! Use my referrer link: "
+ invitationLink;
String msgHtml = String.format("<p>Let's play MyExampleGame together! Use my "
+ "<a href=\"%s\">referrer link</a>!</p>", invitationLink);
Intent intent = new Intent(Intent.ACTION_SENDTO);
intent.setData(Uri.parse("mailto:")); // only email apps should handle this
intent.putExtra(Intent.EXTRA_SUBJECT, subject);
intent.putExtra(Intent.EXTRA_TEXT, msg);
intent.putExtra(Intent.EXTRA_HTML_TEXT, msgHtml);
if (intent.resolveActivity(getActivity().getPackageManager()) != null) {
startActivity(intent);
}
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
}
});
});
}
Please help me out..
I get it solved it is very basic silly mistake I am doing actually link is not parsing in the code above because I have mentioned https two times in dynamic link and dynamic link domain after removing https from dynamic link domain I get it work.
private void firebaseInvite() {
FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser();
String uid = user.getUid();
String url = "https://larky.funswitch.io/?invitedby=" + uid;
FirebaseDynamicLinks.getInstance().createDynamicLink()
.setLink(Uri.parse(url))
.setDynamicLinkDomain("fmu3k.app.goo.gl")
.setAndroidParameters(
new DynamicLink.AndroidParameters.Builder("io.funswitch.funrooster")
.setMinimumVersion(5)
.build())
.buildShortDynamicLink()
.addOnSuccessListener(shortDynamicLink -> {
mInvitationUrl = shortDynamicLink.getShortLink();
mDatabase.child("Name").addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
String referrerName = dataSnapshot.getValue(String.class);
String subject = String.format("%s wants you to play MyExampleGame!", referrerName);
String invitationLink = mInvitationUrl.toString();
String msg = "Let's play MyExampleGame together! Use my referrer link: "
+ invitationLink;
String msgHtml = String.format("<p>Let's play MyExampleGame together! Use my "
+ "<a href=\"%s\">referrer link</a>!</p>", invitationLink);
Intent intent = new Intent(Intent.ACTION_SENDTO);
intent.setData(Uri.parse("mailto:")); // only email apps should handle this
intent.putExtra(Intent.EXTRA_SUBJECT, subject);
intent.putExtra(Intent.EXTRA_TEXT, msg);
intent.putExtra(Intent.EXTRA_HTML_TEXT, msgHtml);
if (intent.resolveActivity(getActivity().getPackageManager()) != null) {
startActivity(intent);
}
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
}
});
});
}