Cordova Appsflyer通用链接iOS未路由到请求的页面
按照appsflyer cordova插件的设置以及按照appsflyer文档为iOS启用通用链接并不会导致实际将用户引导到我们应用程序中的特定页面 版本: Xcode项目的关联域设置为applinks:.onelink.me。然后,我们使用一个查询参数(如af_dp=://some/specific/route)将带有深度链接的onelink发布到应用程序中的特定页面 在Android上,正常的深度链接可以工作。例如:调用handleOpenUrl,然后我们调用appsflyer.handleOpenUrl,然后我们继续路由到应用程序中的deeplink中请求的页面 然而,在iOS上,它确实会在安装时打开我们的应用程序,但从未调用handleOpenUrl。我在文档中找不到任何其他部分提到对通用链接的不同处理Cordova Appsflyer通用链接iOS未路由到请求的页面,cordova,ios-universal-links,appsflyer,Cordova,Ios Universal Links,Appsflyer,按照appsflyer cordova插件的设置以及按照appsflyer文档为iOS启用通用链接并不会导致实际将用户引导到我们应用程序中的特定页面 版本: Xcode项目的关联域设置为applinks:.onelink.me。然后,我们使用一个查询参数(如af_dp=://some/specific/route)将带有深度链接的onelink发布到应用程序中的特定页面 在Android上,正常的深度链接可以工作。例如:调用handleOpenUrl,然后我们调用appsflyer.handle
当应用程序打开时,必须正确配置通用链接。如何从这里开始?iOS通常有一种单独的方法来处理通用链接,在AppsFlyers Cordova插件中也有:
- (BOOL) application:(UIApplication *)application continueUserActivity:(NSUserActivity *)userActivity restorationHandler:(void (^)(NSArray *_Nullable))restorationHandler
{
[[AppsFlyerTracker sharedTracker] continueUserActivity:userActivity restorationHandler:restorationHandler];
return YES;
}
以下是AppsFlyer的Cordova插件中的相关代码:
在AppsFlyer的Cordova插件中,如果onInstallConversionDataListener数据设置为true,则应在initSdk的成功回调中返回预期数据,例如:
var onSuccess = function(result) {
alert(result);
// will return success for init, and also ConversionData and onAppOpenAttribution Data
};
function onError(err) {
// handle error
}
var options = {
devKey: 'd3Ac9qPardVYZxfWmCspwL',
appId: '123456789',
onInstallConversionDataListener: true
};
window.plugins.appsFlyer.initSdk(options, onSuccess, onError);
谢谢你,本杰明。initSdk和install属性可以完美地工作。我已经在iOS源代码中看到了UL的处理程序。如果我理解正确,那么当initSdk成功时,通过onelink传递的af_dp参数将被返回?我在文档中找不到它,它确实会在成功回调的JSON解析结果的data.link下返回。谢谢
var onSuccess = function(result) {
alert(result);
// will return success for init, and also ConversionData and onAppOpenAttribution Data
};
function onError(err) {
// handle error
}
var options = {
devKey: 'd3Ac9qPardVYZxfWmCspwL',
appId: '123456789',
onInstallConversionDataListener: true
};
window.plugins.appsFlyer.initSdk(options, onSuccess, onError);