2014-09-01 93 views

回答

7

得到的答案,分享給別人參考

首先要創建一個廣播接收器

public class ReferalIntentReciever extends BroadcastReceiver { 
    public static MixpanelAPI mixpanel; 

    Context context; 

    @Override 
    public void onReceive(Context context, Intent intent) { 
     mixpanel = MixpanelAPI.getInstance(context, "YOUR MIXPANEL TOKEN"); 

     // TODO Auto-generated method stub 

     String referrerString = intent.getStringExtra("referrer"); 
     //sending to mixpanel 
     try { 
      JSONObject props = new JSONObject(); 
      props.put("utm_source", splitQuery(referrerString) 
        .get("utm_source")); 
      props.put("utm_medium", splitQuery(referrerString) 
        .get("utm_medium")); 
      if (splitQuery(referrerString).get("utm_campaign") != null) { 
       props.put("utm_campaign", 
         splitQuery(referrerString).get("utm_campaign")); 
      } 
      mixpanel.track("Referral Campaign", props); 
      mixpanel.flush(); 

     } catch (Exception e) { 
      e.printStackTrace(); 
     } 


    } 

    //getting each parameter 

    public static Map<String, String> splitQuery(String url) 
      throws UnsupportedEncodingException { 
     Map<String, String> query_pairs = new LinkedHashMap<String, String>(); 
     String[] pairs = url.split("&"); 
     for (String pair : pairs) { 
      int idx = pair.indexOf("="); 
      query_pairs.put(URLDecoder.decode(pair.substring(0, idx), "UTF-8"), 
        URLDecoder.decode(pair.substring(idx + 1), "UTF-8")); 
     } 
     return query_pairs; 
    } 
} 

現在必須設置清單文件的接收器

<receiver 
      android:name=".ReferalIntentReciever" 
      android:exported="true" > 
      <intent-filter> 
       <action android:name="com.android.vending.INSTALL_REFERRER" /> 
      </intent-filter> 
     </receiver> 

現在應用程序已準備好接收int安裝後從Play商店發佈的郵件

+0

有沒有辦法打印/記錄referrerString的值?還有,您可以給任何有關從應用發送回傳的信息。謝謝 – onexf 2016-11-04 05:38:56

相關問題