Я настраиваю настройку метрики в своем приложении-родном приложении. Мне удалось сделать глубокие ссылки, чтобы открыть мое приложение. Приложение должно быть повторно присвоено после открытия каждой диплинком, но этого не происходит.
Я много раз проверял документы и делал все в соответствии с этим, как мне кажется. Метод связывания перехватывает URL-адрес и должен предоставить его в Adjust.appWillOpenUrl
constructor(props) {
super(props);
Adjust.getSdkVersion(function (sdkVersion) {
console.log("Adjust SDK version: " + sdkVersion);
});
const adjustConfig = new AdjustConfig("KEY", AdjustConfig.EnvironmentSandbox);
adjustConfig.setLogLevel(AdjustConfig.LogLevelVerbose);
adjustConfig.setShouldLaunchDeeplink(true);
adjustConfig.setSendInBackground(true);
adjustConfig.setDelayStart(4.0);
adjustConfig.setAttributionCallbackListener(function (attribution) {
console.log(">>> Attribution callback received");
console.log("Tracker token = " + attribution.trackerToken);
console.log("Tracker name = " + attribution.trackerName);
console.log("Network = " + attribution.network);
console.log("Campaign = " + attribution.campaign);
console.log("Adgroup = " + attribution.adgroup);
console.log("Creative = " + attribution.creative);
console.log("Click label = " + attribution.clickLabel);
console.log("Adid = " + attribution.adid);
});
adjustConfig.setDeferredDeeplinkCallbackListener(function(deeplink) {
console.log("Deferred deep link URL content: " + deeplink);
});
adjustConfig.setDelayStart(4.0);
Adjust.addSessionCallbackParameter("New session");
Adjust.create(adjustConfig);
}
_trackFormSentEvent() {
const adjustEvent = new AdjustEvent("KEY");
Adjust.trackEvent(adjustEvent);
}
_trackNewSessionEvent() {
const adjustEvent = new AdjustEvent("KEY");
Adjust.trackEvent(adjustEvent);
}
async componentDidMount() {
await this._trackNewSessionEvent();
const value = await AsyncStorage.getItem('REQUESTSENT');
if (value) this.setState({requestSent: true});
Linking.addEventListener('url', this.handleDeepLink);
Linking.getInitialURL().then((url) => {
if (url) {
this.handleDeepLink({ url });
}
})
}
componentWillUnmount() {
Linking.removeEventListener('url', this.handleDeepLink);
}
handleDeepLink(event) {
Adjust.appWillOpenUrl(event.url);
}