Можем ли мы получить реферальную ссылку после загрузки приложения в приложение для Android - PullRequest
0 голосов
/ 04 июля 2019

Я создал приложение для получения реферера пользователя, но приложение не загружается из магазина Google Play. Оно загружается с сервера aws (s3) или любого другого сервера через chrome или любой другой браузер.

Весь процесс: приложениескачать через браузер, а затем установить вручную.Могу ли я получить реферальную ссылку?

Я попробовал 3 способа для этого:

  1. Динамическая ссылка Firebase
  2. Google реферер lib
  3. Приемник 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>

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...