Android: как я могу сохранить в браузере что-нибудь, к чему могут получить доступ все приложения? - PullRequest
1 голос
/ 24 августа 2011

Базовая требуемая функциональность

Когда пользователь на телефоне Android посещает URL-адрес http://www.example.com?key=asdf, я бы хотел, чтобы значение asdf было сохранено так, чтобы любое приложение нателефон может получить к нему доступ позже.

Конечная цель

Цель - простой способ пригласить своих друзей в приложение, направив их по URL-адресу.URL-адрес содержит ссылку для загрузки моего приложения с маркета, поэтому единственное, что требуется для принятия приглашения, - это перейти по этому URL-адресу и щелкнуть одну ссылку.После того, как вы установили приложение, оно может получить значение asdf и связать вас с тем, кто вас пригласил.

Вещи, которые я пробовал

Мой оригиналМы думали, что использовали что-то вроде localStorage или куки, но кажется маловероятным, что решение, связанное с одним из них, существует из-за проблем безопасности.

Лучшее решение, которое я до сих пор придумал, - это использование com.android.browser.permission.READ_HISTORY_BOOKMARKSразрешение на чтение истории пользователя в поисках URL-адресов из моего домена.Это довольно хорошее решение, но оно не работает для других браузеров, таких как мобильный Firefox.Кроме того, требуется теневое разрешение, которого я хотел бы избежать, если это возможно.

Ответы [ 2 ]

1 голос
/ 24 августа 2011

Для достижения вашей реальной цели вы можете использовать тот же метод, что и Google Analytics.Основная идея заключается в том, что вы используете URL-адрес, указанный в магазине приложений, со специально отформатированным значением реферера, которое передается приложению.Хотя предполагается, что формат этой строки может быть любым, были сообщения о проблемах, если вы не следуете фактическому формату Google Analytics.

пример:

http://market.android.com/details?id=com.example.myapp&referrer=utm_source%3Dfriend%26utm_medium%3Dinvite%26utm_content%3Dasdf%26utm_campaign%3Dinvite

Дополнительную документацию, относящуюся к аналитике, можно найти по адресу Android Google Analytics

. Затем вам нужно будет реализовать приемник вещания для типа com.android.vending.INSTALL_REFERRER

ваш манифест будет выглядеть так:

<!-- Used for install referrer tracking -->
<receiver android:name=".MyReceiverClass" android:exported="true">
  <intent-filter>
    <action android:name="com.android.vending.INSTALL_REFERRER" />
  </intent-filter>
</receiver>

См. документацию по Android для получения подробной информации о реализации BroadcastReceiver .

Для этого подхода требуется, чтобы друг загрузил приложение с помощью Google.Marketplace (нажав на сгенерированный URL-адрес) на устройстве, так как это приложение MarketPlace, которое берет данные реферера и передает их в приложение.

ПРИМЕЧАНИЕ : Хотя подход долженработать могут быть проблемы с текущим приложением MarketPlace, которые мешают этому работать.см ошибка: http://code.google.com/p/android/issues/detail?id=19247

1 голос
/ 24 августа 2011

Извините, нет поддерживаемого способа сделать это.

...