延迟深层链接的Facebook广告在android应用中无效链接数据始终为null

Pra*_*ash 9 android facebook facebook-ads-api

我集成了Facebook延迟广告的深层链接,对于新安装的应用程序链接数据始终为null

清单文件更改完成。

   <activity
        android:name="com.disha.quickride.androidapp.startup.QRSplashActivity"
        android:configChanges="orientation|screenSize"
        android:label="@string/app_name"
        android:screenOrientation="portrait"
        android:theme="@style/ActivityTheme">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
        <intent-filter>
            <action android:name="android.intent.action.VIEW" />
            <category android:name="android.intent.category.DEFAULT" />
            <category android:name="android.intent.category.BROWSABLE" />
            <data android:scheme="quickride" />
        </intent-filter>
    </activity>
Run Code Online (Sandbox Code Playgroud)

启动器活动中的代码更改:

   AppLinkData.fetchDeferredAppLinkData(this,"XXXXXXXXXXXXX", new AppLinkData.CompletionHandler() {
        @Override
        public void onDeferredAppLinkDataFetched(AppLinkData appLinkData) {
            try{
                Uri uri = appLinkData.getTargetUri();
                Log.d(LOG_TAG,"fetchDeferredAppLinkData URi :" +uri);
                Bundle argumentBundle = appLinkData.getArgumentBundle();
                Log.d(LOG_TAG,"fetchDeferredAppLinkData argument bundle :" +argumentBundle);
                String ref = appLinkData.getRef();
                Log.d(LOG_TAG,"fetchDeferredAppLinkData ref :" +ref);
                Bundle bundle = appLinkData.getRefererData();
                Log.d(LOG_TAG,"fetchDeferredAppLinkData RefererData : " +bundle);

            }catch (Throwable throwable){
                Log.e(LOG_TAG,"failed to parse",throwable);
            }
        }
    });
    try{
        Uri uri = getIntent().getData();
        Log.d(LOG_TAG,"fetchDeferredAppLinkDataFromIntent URi :" +uri);
        Uri targetUrl =
                AppLinks.getTargetUrlFromInboundIntent(this, getIntent());
        if (targetUrl != null) {
            Log.d(LOG_TAG, "App Link Target URL: " + targetUrl.toString());
        }else{
            Log.d(LOG_TAG, "App Link Target URL: " + targetUrl);
        }
    }catch (Throwable throwable){
        Log.e(LOG_TAG,"failed to parse",throwable);
    }
Run Code Online (Sandbox Code Playgroud)

尝试从Facebook广告轮播中安装应用程序,将Deeplink延迟为quickride:// utm_source = facebook

但这些url和链接数据始终发布为null,

用例是在安装和首次启动时将utm参数设置为延迟的深层链接至应用程序,然后解析这些参数并保存到数据库中。

请检查方法和解决方案的帮助

tha*_*h84 2

我遇到了同样的问题,只是因为忘记选中“延迟发送”复选框。

如果没有帮助,请按照他们的官方说明进行操作

否则集成分支 io会更容易,而且他们有更好的支持团队。

在此输入图像描述