2013-08-07 32 views
8

vì vậy tôi nhận thấy theo here, bạn có thể đặt liên kết trên trang web và yêu cầu người dùng nhấp vào đó. Nếu người dùng đã cài đặt ứng dụng, ứng dụng sẽ được khởi chạy. Nếu ứng dụng chưa được cài đặt, Cửa hàng Google Play sẽ được khởi chạy và tìm kiếm gói cụ thể, đó là một tính năng tuyệt vời !! nhưng từ sự hiểu biết của tôi, điều này sẽ mất khả năng vượt qua chuỗi giới thiệu để chơi cửa hàng.Tôi làm cách nào để chuyển dữ liệu đến Android Market bằng cách sử dụng lược đồ mới trên chrome?

Theo số here, bạn có thể có liên kết như market://details?id=your.package.name&referrer=YourReferrerString. Nếu thiết bị phát sóng được đặt trong ứng dụng, bạn sẽ có thể nắm bắt chuỗi giới thiệu, nhưng làm cách nào tôi có thể đạt được cùng một mục tiêu nếu tôi đã sử dụng phương thức đầu tiên từ here?

here là chủ đề duy nhất tôi có thể tìm thấy nói về tính năng mới (?) Trên Chrome, nhưng dường như không trả lời được câu hỏi của tôi.

Cảm ơn !!

+0

Theo như tôi biết, tính năng liên kết giới thiệu đã bị hỏng hoàn toàn ngay bây giờ (bài 3.1). – kabuko

+0

thực sự? Kể từ khi? Tôi vẫn có thể sử dụng tính năng liên kết giới thiệu trước đó bằng liên kết này 'market: // details? Id = your.package.name & referrer = YourReferrerString' – user1865027

+0

Tôi đoán mục đích mới được giới thiệu với Chrome có thể chưa hoàn thành. tài liệu này rất nhút nhát để nói nhiều hơn ... – user1865027

Trả lời

3

Biến ra khá đơn giản. Liên kết giới thiệu mặc định từ Chrome là 'com.android.chrome'. Override này bằng cách đặt &referrer= sau khi gói trong ý định của bạn: // URI, ví dụ:

var g_intent = "intent://" + code + 
    "/#Intent;scheme=yourscheme;package=com.your.app&referrer=code%3D" + 
    code + ";launchFlags=268435456;end"; 

Dưới đây là một ý chính mà giải thích phần javascript của giải pháp đầy đủ hơn và cũng có thể rơi trở lại vào một liên kết thị trường bình thường nếu mục đích : // chương trình không hoạt động: https://gist.github.com/akent/dec1b4b7383436b4623e

Và trong mã Java của bạn:

public static class InstallReferrerReceiver extends BroadcastReceiver { 
    @Override 
    public void onReceive(Context context, Intent intent) { 
     String referrer = intent.getStringExtra("referrer"); 
     // Do things with your referrer here 
    } 
} 

Và trong AndroidManifest.xml:

<receiver android:name=".YourActivity$InstallReferrerReceiver" android:exported="true"> 
     <intent-filter> 
      <action android:name="com.android.vending.INSTALL_REFERRER" /> 
     </intent-filter> 
    </receiver> 
+0

Tôi đã có một số vấn đề với giải pháp này. Ứng dụng không phải lúc nào cũng nhận được ý định bổ sung với liên kết giới thiệu. Cuối cùng, tôi đã sử dụng Branch Deeplink SDK để thực hiện điều này với các tính năng liên kết sâu –

+0

"liên kết giới thiệu mặc định từ Chrome là 'com.android.chrome" Cảm ơn bạn về điều đó. Một câu hỏi khác trong trường hợp kế hoạch ý định không hoạt động và ứng dụng được chuyển hướng đến thị trường, thì liên kết giới thiệu có được mang theo không? –

Các vấn đề liên quan