我们正在为我们的 android 应用程序实施延迟深层链接,但在从 facebook 广告下载时无法获取安装引荐来源网址。
采取的步骤,
1.从 branch.io Dashboard=>Ads=>Links 创建深层链接。例如 myappname.app.link/
2.对于android中的重定向(未安装应用程序时)web url设置为所需的referrer值。例如。 https://play.google.com/store/apps/details?id= mypackagename &referrer= myreferrervalue
3.当用户直接点击深层链接并且未安装应用程序时,用户将被带到Play商店,一旦安装了应用程序(通过深层链接),我们就可以使用install_referrer api广播方法获取安装推荐人值。
4.但是当从facebook广告(包含我们的deeplink的广告)安装应用程序时,用户被带到play store,一旦安装了应用程序,我们在安装referrer广播中没有得到所需的referrer值。
在 Manifest.xml 中
<receiver android:name=".InstallTracker" android:exported="true">
<intent-filter>
<action android:name="com.android.vending.INSTALL_REFERRER" />
</intent-filter>
</receiver>
安装推荐人的广播接收器
public class InstallTracker extends BroadcastReceiver {
private String referrer = "";
@Override
public void onReceive(Context context, Intent intent) {
try {
if (intent.getAction().equals("com.android.vending.INSTALL_REFERRER")) {
Bundle extras = intent.getExtras();
if (extras != null) {
referrer = extras.getString("referrer");
Log.d("tag", "referrer is : "+referrer);
} else {
Log.d("tag", "extras is null ");
}
}
} catch (Exception e) {
Log.d("tag", "error : "+e.getMessage());
}
}
}