Android Cookies(邀请奖励)

Atu*_*lic 6 cookies android google-chrome android-browser

我正在尝试整合"奖励邀请"逻辑.我想为此做的是为每个用户生成一个独特的URl.当朋友点击该URL时,他将被定向到一个页面,然后被定向到该Playstore.在页面上,具有唯一ID的cookie存储在设备上.

注 - (用户可以在任何浏览器中打开链接)

当设备上的应用程序启动时,我会获取使用上面保存的cookie,如果可用,则将其发送到服务器,用户可以轻松识别并获得奖励.

这看起来很直接,但是我被困在我必须阅读cookie并提取id的位置.

我读到说不可能.:(我也试过以下

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());
        }
    }
Run Code Online (Sandbox Code Playgroud)

但没有运气.我一直收到"无饼干".

我的问题:

  1. 是否可以读取创建的cookie?如果有,怎么样?
  2. 如果没有,关于如何实现上述功能的任何替代方案?

谢谢你的光临.

Atu*_*lic 1

我找到了使用CampaignMeasurement来满足上述要求的替代方案 。

除了集成 google-play-services_lib 之外,还可以通过 3 个简单步骤完成此操作。

  1. 创建您的邀请 URL。

    这将是 Play 商店 url + 您的唯一代码。例如我的代码是 ABCDEX52362XYZ 那么网址将如下所示https://play.google.com/store/apps/details?id=com.app.yourappspackagename&referrer=utm_source%3DABCDEX52362XYZ

&referrer=utm_source%3DABCDEX52362XYZ是这里的重要关键。有关创建此 URL 的更多详细信息请参见此处

谷歌说 -

当您的应用程序从 Google Play 商店下载时,Play 商店应用程序会在安装过程中向您的应用程序广播 INTENT_REFERRER。此意图包含用于访问应用程序的 Google Play 商店页面的链接的referrer 参数值(如果存在)。

  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>
    
    Run Code Online (Sandbox Code Playgroud)
  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          
    
            }
        }
    
      }
    
    }
    
    Run Code Online (Sandbox Code Playgroud)

希望这可以帮助。快乐编码。:)