Android Cookies (вознаграждение за приглашение)

Я пытаюсь интегрировать логику «вознаграждение за приглашения». То, что я пытаюсь сделать для этого, я генерирую уникальный URl для каждого пользователя. Когда друг нажимает на URL-адрес, он направляется на страницу, а затем в игровой магазин. На странице cookie с уникальным идентификатором хранится на устройстве.

Примечание. (Пользователь может открыть ссылку в любом браузере)

Когда приложение на устройстве запускается, я извлекаю файлы cookie, которые были сохранены с использованием выше, и если они доступны, отправляйте их на сервер, где пользователь легко идентифицируется и получает вознаграждение.

Это выглядело довольно прямолинейно, однако я застрял в точке, где мне нужно прочитать файл cookie и извлечь идентификатор.

Я прочитал это, что говорит, что это невозможно. 🙁 Я также попробовал ниже

List<Cookie> cookies = new DefaultHttpClient().getCookieStore() .getCookies(); if (cookies.isEmpty()) { System.out.println("None Cookies"); } else { for (int i = 0; i < cookies.size(); i++) { System.out.println("Cookie - " + cookies.get(i).toString()); } } 

Но не повезло. Я продолжаю получать «Нет куки».

Мои вопросы:

  1. Можно ли прочитать созданный файл cookie? Если да, то как?
  2. Если нет, какой-либо альтернативы тому, как я могу достичь вышеуказанной функциональности?

Спасибо, что зашли.

Интересная концепция.

Что касается №1, вы нарушите протокол безопасности по умолчанию для Android, где приложения не смогут читать личные данные других приложений. Это включает в себя все браузеры на Android с их куки, изолированы друг от друга, включая ваше приложение.

Для # 2 почему бы и нет вместо этого поставить короткую фразу (которую легко запомнить. Возьмите реплику из поколения gfycat url, хотя, возможно, попытайтесь ограничить область и размер слова) на этот единственный «успех» или «заработанное вознаграждение», Перед переадресацией на Play Store? (Не уверен, что вы можете встроить страницу магазина воспроизведения в тег iframe).

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

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

Я вижу большую новизну в вашей идее, но это всего лишь предложение, потому что вы не можете многое сделать, чтобы обойти политику безопасности.

Я нашел альтернативу моему вышеуказанному требованию, используя измерение кампании .

Это можно сделать в 3 простых шага в дополнение к интеграции google-play-services_lib.

  1. Создайте URL-адрес приглашения.

    Какой будет URL-адрес игрового магазина + ваш уникальный код. Например, мой код ABCDEX52362XYZ, тогда URL будет выглядеть как https://play.google.com/store/apps/details?id=com.app.yourappspackagename&referrer=utm_source%3DABCDEX52362XYZ

& Referrer = utm_source% 3DABCDEX52362XYZ – важный ключ здесь. Подробнее о создании этого URL здесь .

Google говорит –

Когда ваше приложение загружается из Google Play Store, приложение Play Store транслирует INTENT_REFERRER в ваше приложение во время установки. Это намерение содержит значение параметра referrer ссылки, используемой для доступа к странице вашего магазина Google Play Store, если таковой имеется.

  1. Добавьте приемник Google Analytics в файл AndroidManifest.xml.

     <receiver android:name="com.app.receiver.ReferrerCatcher" android:exported="true"> <intent-filter> <action android:name="com.android.vending.INSTALL_REFERRER" /> </intent-filter> </receiver> 
  2. Создайте приемник рефералов ReferrerCatcher для захвата кода приглашения.

      public class ReferrerCatcher extends BroadcastReceiver { private static String referrer = ""; @Override public void onReceive(Context context, Intent intent) { referrer = ""; Bundle extras = intent.getExtras(); if (extras != null) { referrer = extras.getString("referrer"); if (referrer != null) { String invitationCode = referrer.replace("utm_source=",""); //referrer is your code plus the google keys, so you need to handle it } } } } 

Надеюсь это поможет. Счастливое кодирование. 🙂