2016-08-17 4 views
2

У меня есть два типа deeplinks. Установка deeplink, которая должна попытаться открыть приложение, если оно установлено, а затем вернуться к открытию магазина воспроизведения, если приложение не установлено. Второй вывод; однако пытается открыть приложение, если оно установлено, иначе он откроет веб-страницу в качестве резервной копии.Intent deeplink всегда открывает игровой магазин после добавления Referr в пакет

Проблема заключается в том, что когда я добавляю параметр referrer в пакет, он начинает открытие магазина воспроизведения, даже если приложение установлено.

Установка Deeplink:

Intent://mypath/?cc=de&tagset=2#Intent;scheme=myscheme;package=com.mypackage&referrer=myreferrer;

Открытие Deeplink:

Intent://mypath/?cc=de&tagset=2#Intent;scheme=myscheme;package=com.mypackage;S.browser_fallback_url=my_fallback_web_url;

ответ

0

Android будет использовать все, что находится между package: и ; определить имяпакета приложение, чтобы запуск/установка.

В вашем примере пакет будет com.mypackage&referrer=myreferrer, который отличается от com.mypackage.

Вместо этого вы можете использовать S.referrer=myreferrer; и проанализировать его в своем приложении.

+0

Параметр S.referrer не существует или не могли бы вы передать мне, как вы поняли это? Я использовал этот параметр и, тем не менее, браузер не передает данные в S.referrer в магазин воспроизведения. До сих пор единственный способ передать реферер - добавить & referrer = myreferrer в пакет, и это именно то, что вызывает поведение открытия приложения магазина воспроизведения, даже если приложение установлено. –

+0

Я не думаю, что игровой магазин обрабатывает реферер при запуске с Chrome Android Intent. Вы можете попробовать поставить его после 'mypath /? Cc & referrer = myreferrer'. Параметр 'S.referrer' будет предоставлен вашему приложению в качестве параметра Bundle. Вы можете использовать 'S.whatever' для любого значения. –

+0

Я протестировал этот подход, и результаты показывают, что это неправильно. Браузер не просто передает каждый параметр в Play Store, а с другой стороны, магазин воспроизведения не будет просто передавать какой-либо параметр в приложение после его установки. –

0

Решение заключается в использовании недокументированного дополнительного параметра S.market_referrer=.

Source