我想知道是否有一种方法可以使用 firebase 或 appsFLyer 等或 native 知道用户是否来自深层链接并安装了我的应用程序有没有办法知道深层链接?
基本上,我希望在用户从 Play 商店安装应用程序后传递给我一个 Intent (假设用户通过深度链接或某个引用链接进入 Play 商店)。
假设用户没有我的汽车应用程序,但看到了我发布的汽车广告。然后他点击该广告并被引导安装我的应用程序。安装我的应用程序后,我希望用户看到他们最初在广告中看到的汽车。
最佳答案
that 中描述了很好的例子发布
您必须创建特定的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
类
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 中获取手机的特定参数(如 vendor、model 等)并将其保存在云端像 Firebase 这样的数据库。然后在用户安装应用程序(PACKAGE_INSTALLED
BroadcastReceiver
或只是第一次启动)后,您可以检查数据库以获取他的特定参数的最后数据并获取他的深层链接。
如果您没有太多的用户,也能正常工作。
关于android - 如何确认应用程序是否已从 deeplink/referlink 安装?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49554948/