如何确认应用程序是否已从 deeplink / referlink 安装?

How to confirm if application has been installed from deeplink / referlink?

我想知道是否有办法通过 firebase 或 appsFLyer 等或本机了解用户是否来自深层 link 并安装了我的应用程序是否有办法了解深层link ?

基本上我希望在用户从 Play 商店安装应用程序后传递给我一个意图(假设用户从深度链接或某个引荐来源 link 进入 Play 商店)。

假设用户没有我的汽车应用程序,但看到了我发布的汽车广告。然后他点击该广告并被引导安装我的应用程序。安装我的应用程序后,我希望用户看到他们最初在广告中看到的汽车。

thatpost

中描述了很好的例子

您必须创建特定的 BroadcastReceiver

加入Manifest:

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

并创建 BroadcastReceiver class 这将捕获深度链接

public class InstallListener extends BroadcastReceiver {
    @Override
    public void onReceive(Context context, Intent intent) {
        String rawReferrerString = intent.getStringExtra("referrer");
        if (rawReferrerString != null) {
            Log.i("MyApp", "Received the following intent " + rawReferrerString);
        }
    }
}

然后使用 js 将 referrer 参数添加到 url:

var fallbackFunction = function() {
    window.location.replace('market://details?id=io.branch.testbed&referrer=specialparam');
};
var addIFrame = function() {
    var iframe = document.createElement("iframe");
    iframe.style.border = "none";
    iframe.style.width = "1px";
    iframe.style.height = "1px";
    iframe.src = 'your_uri_scheme://';
    document.body.appendChild(iframe);
};
addIFrame();
setTimeout(fallbackFunction, 250);

顺便说一下,如果该方法不起作用,您可以尝试在 js 中获取 phone 的特定参数(如 vendormodel, etc) 并将其保存在 firebase 等云数据库中。然后在用户安装应用程序(PACKAGE_INSTALLED BroadcastReceiver 或只是第一次启动)后,您可以检查数据库以获取他的特定参数的最后数据并获取他的深层链接。 如果你没有太多的用户就足够正常工作了。