Пытаюсь отследить рефералов от user1 до user2 с помощью firebase.Вот что вы сделали.
От приглашающего лица генерируется следующая ссылка
https://play.google.com/store/apps/details?id=com.mindedges.freegiveaway.freegiveaway&invitedby=xyzuser
Таким образом, получатель получает вышеуказанную ссылку, сгенерированную следующим кодом:
private void sendNativeInvites(){
String email = UserUtils.getCurrentUser(this).getEmail();
String packageName = getPackageName();
String link = "https://play.google.com/store/apps/details?id="+packageName+"&invitedby=" + email;
DynamicLink dynamicLink = FirebaseDynamicLinks.getInstance().createDynamicLink()
.setLink(Uri.parse(link))
.setDomainUriPrefix("https://freegiveaway.page.link")
.setAndroidParameters(
new DynamicLink.AndroidParameters.Builder(getPackageName()).build())
.buildDynamicLink();
Uri dynamicLinkUri = dynamicLink.getUri();
doSendInvite(dynamicLinkUri);
}
Когда получатель нажимает на ссылку, он переходит в playstore, и я ожидаю, что приложение будет установлено и запущено с указанной выше глубокой ссылкой.
Об основной активности приложения iу меня есть следующий код для получения реферера, но я не могу его найти.
private void fetchReferrerIfPresent(){
Log.d(TAG, "fetchReferrerIfPresent");
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,"deepLink = " + deepLink); //Getting null
if (deepLink != null && deepLink.getBooleanQueryParameter("invitedby", false)) {
referrerEmail = deepLink.getQueryParameter("invitedby");
Log.d(TAG, "Found referrerEmail. referrerEmail = " + referrerEmail);
}else{
Log.d(TAG, "No referrer found");
}
}
}).addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
Log.e(TAG, "Exception while fetching referrerEmail", e);
}
});
}
В манифесте у меня есть:
<activity
android:name="com.mindedges.freegiveaway.freegiveaway.LoginActivity"
android:label="@string/app_name"
android:noHistory="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<!--
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
-->
<data
android:host="freegiveaway.page.link"
android:scheme="https" />
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>