【问题标题】:Android Cookies (Reward for Invites)Android Cookies(邀请奖励)
【发布时间】:2015-09-02 20:41:00
【问题描述】:

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

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

当设备上的应用程序启动时,我会获取使用上述方法保存的 cookie,如果可用,将其发送到服务器,以便轻松识别和奖励用户。

这看起来很简单,但是我被困在必须读取 cookie 并提取 id 的地方。

我读到this 说这是不可能的。 :(我也试过下面的

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());
        }
    }

但没有运气。我不断收到“无 Cookie”。

我的问题:

  1. 是否可以读取创建的 cookie?如果是怎么办?
  2. 如果没有,我可以如何实现上述功能?

感谢您的光临。

【问题讨论】:

    标签: android google-chrome cookies android-browser


    【解决方案1】:

    有趣的概念。

    至于 #1,您将违反 Android 默认安全协议,即应用无法读取其他应用的私有数据。这包括 Android 上的所有浏览器,其 cookie 相互隔离,包括您的应用。

    对于#2,为什么不在单个“成功”或“在重定向到 Play 商店之前获得的奖励”页面? (不确定是否可以将 Play 商店页面嵌入 iframe 标记中)。

    更好的是,如果 URL 指向您的应用登陆站点,但会切换页面上的某些元素以显示密码,并可能使下载按钮更具吸引力(即使它只是链接到 Play 商店页面)。

    然后,用户可以使用简短的唯一密码来解锁应用中的奖励。

    我确实看到您的想法非常新颖,但这当然只是一个建议,因为您无法做太多事情来绕过安全策略。

    【讨论】:

      【解决方案2】:

      我找到了使用上述要求的替代方法 Campaign Measurement.

      除了集成 google-play-services_lib 之外,这可以通过 3 个简单的步骤完成。

      1. 创建您的邀请 URL。

        这将是游戏商店网址 + 您的唯一代码。例如我的代码是 ABCDEX52362XYZ 那么 url 看起来像 https://play.google.com/store/apps/details?id=com.app.yourappspackagename&amp;referrer=utm_source%3DABCDEX52362XYZ

      &referrer=utm_source%3DABCDEX52362XYZ 是这里的关键。有关创建此 URL 的更多详细信息是 here

      谷歌说 -

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

      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          
        
                }
            }
        
          }
        
        }
        

      希望这会有所帮助。快乐编码。 :)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-10-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-07-29
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多