Я создал приложение для получения реферера пользователя, но приложение не загружается из магазина Google Play. Оно загружается с сервера aws (s3) или любого другого сервера через chrome или любой другой браузер.
Весь процесс: приложениескачать через браузер, а затем установить вручную.Могу ли я получить реферальную ссылку?
Я попробовал 3 способа для этого:
- Динамическая ссылка Firebase
- Google реферер lib
- Приемник Braodcast
Пожалуйста, ответьте мне как этот хостинг и процесс загрузки будет работать?или нужно опубликовать где-нибудь, что установит автоматически
Спасибо
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("xxxxxx",""+deepLink);
if (deepLink != null
&& deepLink.getBooleanQueryParameter("referrer", false)){
referrer = deepLink.getQueryParameter("referrer");
FirebaseInstanceId.getInstance().getInstanceId().addOnCompleteListener(new OnCompleteListener<InstanceIdResult>() {
@Override
public void onComplete(@NonNull Task<InstanceIdResult> task) {
if(task.isSuccessful()){
tokenid = task.getResult().getToken();
postreq(tokenid,deviceid,referrer);
Log.d("xxxx",""+tokenid);
Log.d("xxxx",""+deviceid);
Log.d("xxxx dynamic",""+referrer);
}
}
});
}
else {
FirebaseInstanceId.getInstance().getInstanceId().addOnCompleteListener(new OnCompleteListener<InstanceIdResult>() {
@Override
public void onComplete(@NonNull Task<InstanceIdResult> task) {
if(task.isSuccessful()){
tokenid = task.getResult().getToken();
postreq(tokenid,deviceid,referrer);
Log.d("xxxx",""+tokenid);
Log.d("xxxx",""+deviceid);
Log.d("xxxx dynamic",""+referrer);
}
}
});
}
}
});
final InstallReferrerClient mReferrerClient;
mReferrerClient = InstallReferrerClient.newBuilder(this).build();
mReferrerClient.startConnection(new InstallReferrerStateListener() {
@Override
public void onInstallReferrerSetupFinished(int responseCode) {
switch (responseCode) {
case InstallReferrerClient.InstallReferrerResponse.OK:
// Connection established
try {
ReferrerDetails response =
mReferrerClient.getInstallReferrer();
Log.d("xxxx google",""+response.getInstallReferrer());
} catch (Exception e) {
e.printStackTrace();
}
mReferrerClient.endConnection();
break;
case
InstallReferrerClient.InstallReferrerResponse.FEATURE_NOT_SUPPORTED:
// API not available on the current Play Store app
break;
case
InstallReferrerClient.InstallReferrerResponse.SERVICE_UNAVAILABLE:
// Connection could not be established
break;
}
}
@Override
public void onInstallReferrerServiceDisconnected() {
// Try to restart the connection on the next request to
// Google Play by calling the startConnection() method.
}
});
public class Receiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
Bundle extras = intent.getExtras();
String referrerString = extras.getString("referrer");
Log.w("xxxx broadcast", "" + referrerString);
}
}
<receiver android:name="Receiver" android:exported="true">
<intent-filter>
<action android:name="com.android.vending.INSTALL_REFERRER" />
</intent-filter>
</receiver>